android.databinding.tool.expr
Class ListenerExpr
java.lang.Object
android.databinding.tool.expr.Expr
android.databinding.tool.expr.ListenerExpr
- All Implemented Interfaces:
- VersionProvider, android.databinding.tool.processing.scopes.LocationScopeProvider, android.databinding.tool.processing.scopes.ScopeProvider
public class ListenerExpr
- extends Expr
This wraps an expression, but makes it unique for a particular event listener type.
This is used to differentiate listener methods. For example:
public void onFoo(String str) {...}
public void onFoo(int i) {...}
Methods inherited from class android.databinding.tool.expr.Expr |
addLocation, addTwoWay, asPackage, 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, toInverseCode, toString, trimShouldReadFlags, updateExpr |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
resolveType
protected ModelClass resolveType(ModelAnalyzer modelAnalyzer)
- Specified by:
resolveType
in class Expr
getMethod
public ModelMethod getMethod()
getChild
public Expr getChild()
getName
public java.lang.String getName()
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 Expr
- Returns:
- True if the result of this expression may change due to variables
constructDependencies
protected java.util.List<Dependency> constructDependencies()
- Specified by:
constructDependencies
in class Expr
computeUniqueKey
protected java.lang.String computeUniqueKey()
- Overrides:
computeUniqueKey
in class Expr
generateCode
public android.databinding.tool.writer.KCode generateCode(boolean expand)
- Specified by:
generateCode
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.