Class ExprModel

  • Direct Known Subclasses:
    CallbackExprModel

    public class ExprModel
    extends java.lang.Object
    • Field Detail

      • SAFE_UNBOX_METHOD_NAME

        public static final java.lang.String SAFE_UNBOX_METHOD_NAME
        See Also:
        Constant Field Values
      • modulePackage

        public final java.lang.String modulePackage
      • enableV2

        public final boolean enableV2
    • Constructor Detail

      • ExprModel

        public ExprModel​(java.lang.String modulePackage,
                         boolean enableV2)
    • Method Detail

      • register

        public <T extends Expr> T register​(T expr)
        Adds the expression to the list of expressions and returns it. If it already exists, returns existing one.
        Parameters:
        expr - The new parsed expression
        Returns:
        The expression itself or another one if the same thing was parsed before
      • markSealed

        protected void markSealed()
      • getExt

        public android.databinding.tool.writer.ExprModelExt getExt()
      • obtainCallbackId

        public int obtainCallbackId()
      • setCurrentParserContext

        public void setCurrentParserContext​(org.antlr.v4.runtime.ParserRuleContext currentParserContext)
      • getCurrentParserContext

        public org.antlr.v4.runtime.ParserRuleContext getCurrentParserContext()
      • getCurrentLocationInFile

        public android.databinding.tool.store.Location getCurrentLocationInFile()
      • getExprMap

        public java.util.Map<java.lang.String,​Expr> getExprMap()
      • size

        public int size()
      • instanceOfOp

        public InstanceOfExpr instanceOfOp​(Expr expr,
                                           java.lang.String type)
      • symbol

        public SymbolExpr symbol​(java.lang.String text,
                                 java.lang.Class type)
      • identifier

        public IdentifierExpr identifier​(java.lang.String name)
      • builtInVariable

        public BuiltInVariableExpr builtInVariable​(java.lang.String name,
                                                   java.lang.String type,
                                                   java.lang.String accessCode)
      • globalMethodCall

        public Expr globalMethodCall​(java.lang.String methodName,
                                     java.util.List<Expr> args)
        These are global methods in the expressions.

        To keep this list under control, we validate the method name instead of just resolving to parent.

      • staticIdentifierFor

        public StaticIdentifierExpr staticIdentifierFor​(android.databinding.tool.reflection.ModelClass modelClass)
        Creates a static identifier for the given class or returns the existing one.
      • methodCall

        public MethodCallExpr methodCall​(Expr target,
                                         java.lang.String name,
                                         java.util.List<Expr> args)
      • unary

        public UnaryExpr unary​(java.lang.String op,
                               Expr expr)
      • resourceExpr

        public Expr resourceExpr​(BindingTarget target,
                                 java.lang.String packageName,
                                 java.lang.String resourceType,
                                 java.lang.String resourceName,
                                 java.util.List<Expr> args)
      • bracketExpr

        public Expr bracketExpr​(Expr variableExpr,
                                Expr argExpr)
      • castExpr

        public Expr castExpr​(java.lang.String type,
                             Expr expr)
      • getBindingExpressions

        public java.util.List<Expr> getBindingExpressions()
      • addImport

        public StaticIdentifierExpr addImport​(java.lang.String alias,
                                              java.lang.String type,
                                              android.databinding.tool.store.Location location)
      • getImports

        public android.databinding.tool.reflection.ImportBag getImports()
      • bindingExpr

        public Expr bindingExpr​(Expr bindingExpr)
        The actual thingy that is set on the binding target. Input must be already registered
      • removeExpr

        public void removeExpr​(Expr expr)
      • getObservables

        public java.util.List<Expr> getObservables()
      • seal

        public void seal()
        Give id to each expression. Will be useful if we serialize.
      • getFlagBucketCount

        public int getFlagBucketCount()
      • getTotalFlagCount

        public int getTotalFlagCount()
      • getInvalidateableFieldLimit

        public int getInvalidateableFieldLimit()
      • getFlagMapping

        public java.lang.String[] getFlagMapping()
      • getFlag

        public java.lang.String getFlag​(int id)
      • getPendingExpressions

        public java.util.List<Expr> getPendingExpressions()
      • markBitsRead

        public boolean markBitsRead()
      • filterShouldRead

        public static java.util.ArrayList<Expr> filterShouldRead​(java.lang.Iterable<Expr> exprs)
      • findFlagExpression

        public Expr findFlagExpression​(int flag)
        May return null if flag is equal to invalidate any flag.
      • getInvalidateAnyBitSet

        public java.util.BitSet getInvalidateAnyBitSet()
      • getInvalidateAnyFlagIndex

        public int getInvalidateAnyFlagIndex()
      • argListExpr

        public Expr argListExpr​(java.lang.Iterable<Expr> expressions)
      • setCurrentLocationInFile

        public void setCurrentLocationInFile​(android.databinding.tool.store.Location location)
      • listenerExpr

        public Expr listenerExpr​(Expr expression,
                                 java.lang.String name,
                                 android.databinding.tool.reflection.ModelClass listenerType,
                                 ModelMethod listenerMethod)
      • getCallbackWrappers

        public java.util.Map<java.lang.String,​CallbackWrapper> getCallbackWrappers()
      • callbackWrapper

        public CallbackWrapper callbackWrapper​(android.databinding.tool.reflection.ModelClass klass,
                                               ModelMethod method)
      • findIdentifier

        public IdentifierExpr findIdentifier​(java.lang.String name)