public static class FlowExpressions.LocalVariable extends FlowExpressions.Receiver
Modifier and Type | Field and Description |
---|---|
protected Element |
element |
type
Constructor and Description |
---|
LocalVariable(Element elem) |
LocalVariable(LocalVariableNode localVar) |
Modifier and Type | Method and Description |
---|---|
boolean |
containsOfClass(Class<? extends FlowExpressions.Receiver> clazz) |
boolean |
containsSyntacticEqualReceiver(FlowExpressions.Receiver other)
Returns true if and only if this receiver contains a receiver that is syntactically equal
to
other . |
boolean |
equals(@Nullable Object obj) |
Element |
getElement() |
int |
hashCode() |
boolean |
isUnassignableByOtherCode()
Returns true if and only if the value this expression stands for cannot be changed (with
respect to ==) by a method call.
|
boolean |
isUnmodifiableByOtherCode()
Returns 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.
|
boolean |
syntacticEquals(FlowExpressions.Receiver other)
Returns true if and only if the two receivers are syntactically identical.
|
String |
toString() |
containsModifiableAliasOf, containsUnknown, getType, toStringDebug
protected final Element element
public LocalVariable(LocalVariableNode localVar)
public LocalVariable(Element elem)
public Element getElement()
public boolean containsOfClass(Class<? extends FlowExpressions.Receiver> clazz)
containsOfClass
in class FlowExpressions.Receiver
public boolean syntacticEquals(FlowExpressions.Receiver other)
FlowExpressions.Receiver
syntacticEquals
in class FlowExpressions.Receiver
other
- the other object to compare to this onepublic boolean containsSyntacticEqualReceiver(FlowExpressions.Receiver other)
FlowExpressions.Receiver
other
.containsSyntacticEqualReceiver
in class FlowExpressions.Receiver
other
public boolean isUnassignableByOtherCode()
FlowExpressions.Receiver
FlowExpressions.Receiver.isUnassignableByOtherCode()
, and
binary operations whose left and right operands are both FlowExpressions.Receiver.isUnmodifiableByOtherCode()
.isUnassignableByOtherCode
in class FlowExpressions.Receiver
FlowExpressions.Receiver.isUnmodifiableByOtherCode()
public boolean isUnmodifiableByOtherCode()
FlowExpressions.Receiver
Approximately, this returns true if the expression is FlowExpressions.Receiver.isUnassignableByOtherCode()
and its type is immutable.
isUnmodifiableByOtherCode
in class FlowExpressions.Receiver
FlowExpressions.Receiver.isUnassignableByOtherCode()