android.databinding.tool.expr
Class BuiltInVariableExpr

java.lang.Object
  extended by android.databinding.tool.expr.Expr
      extended by android.databinding.tool.expr.IdentifierExpr
          extended by android.databinding.tool.expr.BuiltInVariableExpr
All Implemented Interfaces:
VersionProvider, android.databinding.tool.processing.scopes.LocationScopeProvider, android.databinding.tool.processing.scopes.ScopeProvider
Direct Known Subclasses:
ViewFieldExpr

public class BuiltInVariableExpr
extends IdentifierExpr


Field Summary
 
Fields inherited from class android.databinding.tool.expr.Expr
KEY_JOIN, mChildren, NO_ID
 
Method Summary
protected  java.util.List<Dependency> constructDependencies()
           
protected  android.databinding.tool.writer.KCode generateCode(boolean expand)
           
 java.lang.String getInvertibleError()
           
 boolean isDeclared()
           
 boolean isDynamic()
          Whether the result of this expression can change or not.
protected  ModelClass resolveType(ModelAnalyzer modelAnalyzer)
           
 
Methods inherited from class android.databinding.tool.expr.IdentifierExpr
asPackage, computeUniqueKey, getName, getUserDefinedType, setDeclared, setUserDefinedType, toInverseCode
 
Methods inherited from class android.databinding.tool.expr.Expr
addLocation, addTwoWay, assertIsInvertible, canBeEvaluatedToAVariable, canBeInvalidated, computeChildrenKey, considerElevatingConditionals, constructDynamicChildrenDependencies, enableDirectInvalidation, getAllCalculationPaths, getChildren, getDefaultValue, getDependants, getDependencies, getId, getInvalidFlags, getLocations, getModel, getParents, getPredicateInvalidFlags, getReadSoFar, getRequirementFlagIndex, getRequirementId, getResolvedType, getShouldReadFlags, getShouldReadFlagsWithConditionals, getUniqueKey, getVersion, hasConditionalDependant, hasId, hasNestedCannotRead, invalidateReadFlags, isBindingExpression, isConditional, isEqualityCheck, isObservable, isRead, isTwoWay, isUsed, join, join, markAsReadIfDone, markFlagsAsRead, onSwappedWith, provideScopeLocation, resetResolvedType, resolveListeners, resolveTwoWayExpressions, setBindingExpression, setId, setIsUsed, setModel, setRequirementId, setTwoWay, shouldReadNow, toCode, toCode, toFullCode, toString, trimShouldReadFlags, updateExpr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

isDynamic

public boolean isDynamic()
Description copied from class: Expr
Whether 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

Overrides:
isDynamic in class IdentifierExpr
Returns:
True if the result of this expression may change due to variables

resolveType

protected ModelClass resolveType(ModelAnalyzer modelAnalyzer)
Overrides:
resolveType in class IdentifierExpr

constructDependencies

protected java.util.List<Dependency> constructDependencies()
Overrides:
constructDependencies in class IdentifierExpr

generateCode

protected android.databinding.tool.writer.KCode generateCode(boolean expand)
Overrides:
generateCode in class IdentifierExpr

isDeclared

public boolean isDeclared()
Overrides:
isDeclared in class IdentifierExpr

getInvertibleError

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