Class LocalVariable
java.lang.Object
org.checkerframework.dataflow.expression.JavaExpression
org.checkerframework.dataflow.expression.LocalVariable
A local variable.
 
This class also represents a formal parameter expressed using its name. Class FormalParameter represents a formal parameter expressed using the "#2" notation.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final VariableElementThe element for this local variable.Fields inherited from class org.checkerframework.dataflow.expression.JavaExpressiontype
- 
Constructor SummaryConstructorsConstructorDescriptionLocalVariable(VariableElement element) Creates a new LocalVariable.LocalVariable(LocalVariableNode localVar) Creates a new LocalVariable.
- 
Method SummaryModifier and TypeMethodDescription<R,P> R accept(JavaExpressionVisitor<R, P> visitor, P p) Accept method of the visitor pattern.booleancontainsOfClass(Class<? extends JavaExpression> clazz) booleanReturns true if and only if this contains a JavaExpression that is syntactically equal toother.booleanReturns the element for this variable.inthashCode()booleanisDeterministic(AnnotationProvider provider) Returns true if the expression is deterministic.booleanReturns true if and only if the value this expression stands for cannot be changed (with respect to ==) by a method call.booleanReturns true if and only if the value this expression stands for cannot be changed by a method call, including changes to any of its fields.protected static booleansameElement(VariableElement element1, VariableElement element2) Returns true if the two elements are the same.booleanReturns true if and only if the two Java expressions are syntactically identical.toString()Format this verbosely, for debugging.Methods inherited from class org.checkerframework.dataflow.expression.JavaExpressionatConstructorInvocation, atFieldAccess, atMethodBody, atMethodInvocation, atMethodInvocation, containsModifiableAliasOf, containsUnknown, fromArrayAccess, fromNode, fromNodeFieldAccess, fromTree, fromVariableTree, getFormalParameters, getImplicitReceiver, getParametersAsLocalVariables, getPseudoReceiver, getReceiver, getType, listContainsSyntacticEqualJavaExpression, listIsDeterministic, syntacticEqualsList
- 
Field Details- 
elementThe element for this local variable.
 
- 
- 
Constructor Details- 
LocalVariableCreates a new LocalVariable.- Parameters:
- localVar- a CFG local variable
 
- 
LocalVariableCreates a new LocalVariable.- Parameters:
- element- the element for the local variable
 
 
- 
- 
Method Details- 
equals
- 
sameElementReturns true if the two elements are the same.- Parameters:
- element1- the first element to compare
- element2- the second element to compare
- Returns:
- true if the two elements are the same
 
- 
getElementReturns the element for this variable.- Returns:
- the element for this variable
 
- 
hashCodepublic int hashCode()
- 
toString
- 
toStringDebugDescription copied from class:JavaExpressionFormat this verbosely, for debugging.- Overrides:
- toStringDebugin class- JavaExpression
- Returns:
- a verbose string representation of this
 
- 
containsOfClass- Specified by:
- containsOfClassin class- JavaExpression
 
- 
isDeterministicDescription copied from class:JavaExpressionReturns true if the expression is deterministic.- Specified by:
- isDeterministicin class- JavaExpression
- Parameters:
- provider- an annotation provider (a type factory)
- Returns:
- true if this expression is deterministic
 
- 
syntacticEqualsDescription copied from class:JavaExpressionReturns true if and only if the two Java expressions are syntactically identical.This exists for use by JavaExpression.containsSyntacticEqualJavaExpression(org.checkerframework.dataflow.expression.JavaExpression).- Specified by:
- syntacticEqualsin class- JavaExpression
- Parameters:
- je- the other Java expression to compare to this one
- Returns:
- true if and only if the two Java expressions are syntactically identical
 
- 
containsSyntacticEqualJavaExpressionDescription copied from class:JavaExpressionReturns true if and only if this contains a JavaExpression that is syntactically equal toother.- Specified by:
- containsSyntacticEqualJavaExpressionin class- JavaExpression
- Parameters:
- other- the JavaExpression to search for
- Returns:
- true if and only if this contains a JavaExpression that is syntactically equal to
     other
 
- 
isUnassignableByOtherCodepublic boolean isUnassignableByOtherCode()Description copied from class:JavaExpressionReturns true if and only if the value this expression stands for cannot be changed (with respect to ==) by a method call. This is the case for local variables, the self reference, final field accesses whose receiver isJavaExpression.isUnassignableByOtherCode(), and operations whose operands are allJavaExpression.isUnmodifiableByOtherCode().- Specified by:
- isUnassignableByOtherCodein class- JavaExpression
- See Also:
 
- 
isUnmodifiableByOtherCodepublic boolean isUnmodifiableByOtherCode()Description copied from class:JavaExpressionReturns true if and only if the value this expression stands for cannot be changed by a method call, including changes to any of its fields.Approximately, this returns true if the expression is JavaExpression.isUnassignableByOtherCode()and its type is immutable.- Specified by:
- isUnmodifiableByOtherCodein class- JavaExpression
- See Also:
 
- 
acceptDescription copied from class:JavaExpressionAccept method of the visitor pattern.- Specified by:
- acceptin class- JavaExpression
- Type Parameters:
- R- result type of the operation
- P- parameter type
- Parameters:
- visitor- the visitor to be applied to this JavaExpression
- p- the parameter for this operation
- Returns:
- the result of visiting this
 
 
-