Class ArgListExpr

  • All Implemented Interfaces:
    android.databinding.tool.expr.VersionProvider, android.databinding.tool.processing.scopes.LocationScopeProvider, android.databinding.tool.processing.scopes.ScopeProvider

    public class ArgListExpr
    extends Expr
    This is a special expression that is created when we have an adapter that has multiple parameters.

    When it is detected, we create a new binding with this argument list expression and merge N bindings into a new one so that rest of the code generation logic works as expected.

    • Constructor Detail

      • ArgListExpr

        public ArgListExpr​(int id,
                           java.lang.Iterable<Expr> children)
    • Method Detail

      • computeUniqueKey

        protected java.lang.String computeUniqueKey()
        Specified by:
        computeUniqueKey in class Expr
      • generateCode

        protected android.databinding.tool.writer.KCode generateCode()
        Specified by:
        generateCode in class Expr
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Expr
      • injectSafeUnboxing

        public void injectSafeUnboxing​(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer,
                                       ExprModel model)
        Description copied from class: Expr
        Called after experiment model is sealed to avoid NPE problems caused by boxed primitives.
        Specified by:
        injectSafeUnboxing in class Expr
      • injectSafeUnboxingForParams

        public void injectSafeUnboxingForParams​(ExprModel exprModel,
                                                android.databinding.tool.reflection.ModelClass[] params)
      • resolveType

        protected android.databinding.tool.reflection.ModelClass resolveType​(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)
        Specified by:
        resolveType in class Expr
      • getInvertibleError

        public java.lang.String getInvertibleError()
        Specified by:
        getInvertibleError in class Expr
        Returns:
        The reason the expression wasn't invertible or null if it was invertible.