Class BinaryOperation
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final JavaExpressionThe left operand.protected final Tree.KindThe binary operation kind.protected final JavaExpressionThe right operand.Fields inherited from class org.checkerframework.dataflow.expression.JavaExpressiontype
- 
Constructor SummaryConstructorsConstructorDescriptionBinaryOperation(TypeMirror type, Tree.Kind operationKind, JavaExpression left, JavaExpression right) Create a binary operation.BinaryOperation(BinaryOperationNode node, JavaExpression left, JavaExpression right) Create a binary operation.
- 
Method SummaryModifier and TypeMethodDescription<R,P> R accept(JavaExpressionVisitor<R, P> visitor, P p) Accept method of the visitor pattern.<T extends JavaExpression>
 @Nullable TcontainedOfClass(Class<T> clazz) Returns the first subexpression whose class is the given class, or null.booleancontainsModifiableAliasOf(Store<?> store, JavaExpression other) Returns true if and only ifotherappears anywhere in this or an expression appears in this such thatothermight alias this expression, and that expression is modifiable.booleanReturns true if and only if this contains a JavaExpression that is syntactically equal toother.booleangetLeft()Returns the left operand of this binary operation.Returns the operator of this binary operation.getRight()Returns the right operand of this binary operation.inthashCode()booleanReturns true if some subexpression of this can be assigned to from outside the current method body.booleanisDeterministic(AnnotationProvider provider) Returns true if the expression is deterministic.booleanReturns true if the value this expression stands for can be changed by a method call; equivalently, if the value this expression evaluates to can be changed by a side effect from outside the containing method.booleanReturns true if and only if the two Java expressions are syntactically identical.toString()Methods inherited from class org.checkerframework.dataflow.expression.JavaExpressionatConstructorInvocation, atFieldAccess, atMethodBody, atMethodInvocation, atMethodInvocation, containedUnknown, containsOfClass, containsUnknown, fromArrayAccess, fromNode, fromNodeFieldAccess, fromTree, fromVariableTree, getFormalParameters, getImplicitReceiver, getParametersAsLocalVariables, getPseudoReceiver, getReceiver, getType, isUnassignableByOtherCode, isUnmodifiableByOtherCode, listContainsSyntacticEqualJavaExpression, listIsDeterministic, syntacticEqualsList, toStringDebug
- 
Field Details- 
operationKindThe binary operation kind.
- 
leftThe left operand.
- 
rightThe right operand.
 
- 
- 
Constructor Details- 
BinaryOperationpublic BinaryOperation(TypeMirror type, Tree.Kind operationKind, JavaExpression left, JavaExpression right) Create a binary operation.- Parameters:
- type- the result type
- operationKind- the operator
- left- the left operand
- right- the right operand
 
- 
BinaryOperationCreate a binary operation.- Parameters:
- node- the binary operation node
- left- the left operand
- right- the right operand
 
 
- 
- 
Method Details- 
getOperationKindReturns the operator of this binary operation.- Returns:
- the binary operation kind
 
- 
getLeftReturns the left operand of this binary operation.- Returns:
- the left operand
 
- 
getRightReturns the right operand of this binary operation.- Returns:
- the right operand
 
- 
containedOfClassDescription copied from class:JavaExpressionReturns the first subexpression whose class is the given class, or null.This is intended as a diagnostic aid; most clients will use JavaExpression.containsOfClass(java.lang.Class<? extends org.checkerframework.dataflow.expression.JavaExpression>).- Specified by:
- containedOfClassin class- JavaExpression
- Type Parameters:
- T- the type corresponding to- clazz
- Parameters:
- clazz- the JavaExpression subclass to search for
- Returns:
- true if some subexpression whose class is the given class
 
- 
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
 
- 
isAssignableByOtherCodepublic boolean isAssignableByOtherCode()Description copied from class:JavaExpressionReturns true if some subexpression of this can be assigned to from outside the current method body.This is false for local variables, the self reference, final field accesses whose receiver is JavaExpression.isUnassignableByOtherCode(), and operations whose operands are all notJavaExpression.isModifiableByOtherCode().- Overrides:
- isAssignableByOtherCodein class- JavaExpression
- Returns:
- true if some subexpression of this can be assigned to from outside the current method body
- See Also:
 
- 
isModifiableByOtherCodepublic boolean isModifiableByOtherCode()Description copied from class:JavaExpressionReturns true if the value this expression stands for can be changed by a method call; equivalently, if the value this expression evaluates to can be changed by a side effect from outside the containing method.Approximately, this returns true if the expression is JavaExpression.isAssignableByOtherCode()or its type is mutable. (Stringis an immutable type.)- Overrides:
- isModifiableByOtherCodein class- JavaExpression
- Returns:
- true if the value of this expression can be changed from outside the current method body
- See Also:
 
- 
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
 
- 
containsModifiableAliasOfDescription copied from class:JavaExpressionReturns true if and only ifotherappears anywhere in this or an expression appears in this such thatothermight alias this expression, and that expression is modifiable.This is always true, except for cases where the Java type information prevents aliasing and none of the subexpressions can alias 'other'. - Overrides:
- containsModifiableAliasOfin class- JavaExpression
 
- 
hashCodepublic int hashCode()
- 
equals
- 
toString
- 
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
 
 
-