Package android.databinding.tool.expr
Class IdentifierExpr
- java.lang.Object
-
- android.databinding.tool.expr.Expr
-
- android.databinding.tool.expr.IdentifierExpr
-
- All Implemented Interfaces:
android.databinding.tool.expr.VersionProvider,android.databinding.tool.processing.scopes.LocationScopeProvider,android.databinding.tool.processing.scopes.ScopeProvider
- Direct Known Subclasses:
BuiltInVariableExpr,CallbackArgExpr,StaticIdentifierExpr
public class IdentifierExpr extends Expr
-
-
Field Summary
-
Fields inherited from class android.databinding.tool.expr.Expr
KEY_END, KEY_JOIN, KEY_JOIN_END, KEY_JOIN_START, KEY_START, mChildren, NO_ID
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringasPackage()ExprcloneToModel(ExprModel model)protected java.lang.StringcomputeUniqueKey()protected java.util.List<Dependency>constructDependencies()protected android.databinding.tool.writer.KCodegenerateCode()ExprgenerateInverse(ExprModel model, Expr value, java.lang.String bindingClassName)java.lang.StringgetInvertibleError()java.lang.StringgetName()java.lang.StringgetUserDefinedType()voidinjectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer, ExprModel model)Called after experiment model is sealed to avoid NPE problems caused by boxed primitives.booleanisDeclared()booleanisDynamic()Whether the result of this expression can change or not.protected android.databinding.tool.reflection.ModelClassresolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)voidsetDeclared()voidsetUserDefinedType(java.lang.String userDefinedType)If this is root, its type should be set while parsing the XML documentjava.lang.StringtoString()-
Methods inherited from class android.databinding.tool.expr.Expr
addJustMeToExecutionPath, addLocation, assertIsInvertible, canBeEvaluatedToAVariable, canBeInvalidated, cloneToModel, considerElevatingConditionals, constructDynamicChildrenDependencies, enableDirectInvalidation, 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, 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
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
-
setUserDefinedType
public void setUserDefinedType(java.lang.String userDefinedType)
If this is root, its type should be set while parsing the XML document- Parameters:
userDefinedType- The type of this identifier
-
computeUniqueKey
protected java.lang.String computeUniqueKey()
- Specified by:
computeUniqueKeyin classExpr
-
getUserDefinedType
public java.lang.String getUserDefinedType()
-
isDynamic
public boolean isDynamic()
Description copied from class:ExprWhether the result of this expression can change or not. For example, 3 + 5 can not change vs 3 + x may change. Default implementations checks children and returns true if any of them returns true
-
resolveType
protected android.databinding.tool.reflection.ModelClass resolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)
- Specified by:
resolveTypein classExpr
-
injectSafeUnboxing
public void injectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer, ExprModel model)Description copied from class:ExprCalled after experiment model is sealed to avoid NPE problems caused by boxed primitives.- Specified by:
injectSafeUnboxingin classExpr
-
constructDependencies
protected java.util.List<Dependency> constructDependencies()
- Specified by:
constructDependenciesin classExpr
-
generateCode
protected android.databinding.tool.writer.KCode generateCode()
- Specified by:
generateCodein classExpr
-
setDeclared
public void setDeclared()
-
isDeclared
public boolean isDeclared()
-
getInvertibleError
public java.lang.String getInvertibleError()
- Specified by:
getInvertibleErrorin classExpr- Returns:
- The reason the expression wasn't invertible or null if it was invertible.
-
generateInverse
public Expr generateInverse(ExprModel model, Expr value, java.lang.String bindingClassName)
- Overrides:
generateInversein classExpr
-
cloneToModel
public Expr cloneToModel(ExprModel model)
- Specified by:
cloneToModelin classExpr
-
-