public class ArgListExpr extends Expr
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.
KEY_END, KEY_JOIN, KEY_JOIN_END, KEY_JOIN_START, KEY_START, mChildren, NO_ID
Constructor and Description |
---|
ArgListExpr(int id,
java.lang.Iterable<Expr> children) |
Modifier and Type | Method and Description |
---|---|
boolean |
canBeEvaluatedToAVariable() |
Expr |
cloneToModel(ExprModel model) |
protected java.lang.String |
computeUniqueKey() |
protected java.util.List<Dependency> |
constructDependencies() |
protected android.databinding.tool.writer.KCode |
generateCode() |
java.lang.String |
getInvertibleError() |
void |
injectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer,
ExprModel model)
Called after experiment model is sealed to avoid NPE problems caused by boxed primitives.
|
void |
injectSafeUnboxingForParams(ExprModel exprModel,
android.databinding.tool.reflection.ModelClass[] params) |
protected android.databinding.tool.reflection.ModelClass |
resolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer) |
java.lang.String |
toString() |
addJustMeToExecutionPath, addLocation, asPackage, assertIsInvertible, canBeInvalidated, cloneToModel, considerElevatingConditionals, constructDynamicChildrenDependencies, enableDirectInvalidation, generateInverse, getAllCalculationPaths, getChildren, getDefaultValue, getDependants, getDependencies, getId, getInvalidFlags, getLocations, getModel, getParents, getPredicateInvalidFlags, getReadSoFar, getRequirementFlagIndex, getRequirementId, getResolvedType, getShouldReadFlags, getShouldReadFlagsWithConditionals, getUniqueKey, getUpdateRegistrationCall, getVersion, hasConditionalDependant, hasId, hasNestedCannotRead, invalidateReadFlags, isBindingExpression, isConditional, isDynamic, isEqualityCheck, isIsUsedInCallback, isObservable, isRead, isUsed, join, join, markAsBindingExpression, markAsReadIfDone, markAsUsed, markAsUsedInCallback, markFlagsAsRead, onSwappedWith, provideScopeLocation, recursivelyInjectSafeUnboxing, resetResolvedType, resolveListeners, resolveTwoWayExpressions, safeUnboxChild, setId, setModel, setRequirementId, setUnwrapObservableFields, shouldReadNow, toCode, toExecutionPath, toExecutionPath, toExecutionPathInOrder, toExecutionPathInOrder, toFullCode, trimShouldReadFlags, unwrapChildTo, unwrapObservableField, unwrapObservableFieldChildren, updateExpr
public ArgListExpr(int id, java.lang.Iterable<Expr> children)
protected java.lang.String computeUniqueKey()
computeUniqueKey
in class Expr
protected android.databinding.tool.writer.KCode generateCode()
generateCode
in class Expr
public void injectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer, ExprModel model)
Expr
injectSafeUnboxing
in class Expr
public void injectSafeUnboxingForParams(ExprModel exprModel, android.databinding.tool.reflection.ModelClass[] params)
public Expr cloneToModel(ExprModel model)
cloneToModel
in class Expr
protected android.databinding.tool.reflection.ModelClass resolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)
resolveType
in class Expr
protected java.util.List<Dependency> constructDependencies()
constructDependencies
in class Expr
public boolean canBeEvaluatedToAVariable()
canBeEvaluatedToAVariable
in class Expr
public java.lang.String getInvertibleError()
getInvertibleError
in class Expr