Class LocalVariableNode
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.node.Node
-
- org.checkerframework.dataflow.cfg.node.LocalVariableNode
-
- All Implemented Interfaces:
org.plumelib.util.UniqueId
public class LocalVariableNode extends Node
A node for a local variable or a parameter:identifier
We allow local variable uses introduced by theCFGBuilder
without corresponding ASTTree
s.
-
-
Constructor Summary
Constructors Constructor Description LocalVariableNode(com.sun.source.tree.Tree tree)
Create a new local variable node for the given tree.LocalVariableNode(com.sun.source.tree.Tree tree, @Nullable Node receiver)
Create a new local variable node for the given tree and receiver.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(NodeVisitor<R,P> visitor, P p)
Accept method of the visitor pattern.boolean
equals(@Nullable java.lang.Object obj)
javax.lang.model.element.VariableElement
getElement()
Returns the element associated with this local variable.java.lang.String
getName()
java.util.Collection<Node>
getOperands()
@Nullable Node
getReceiver()
The receiver node for the local variable,null
otherwise.com.sun.source.tree.Tree
getTree()
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists.int
hashCode()
java.lang.String
toString()
-
Methods inherited from class org.checkerframework.dataflow.cfg.node.Node
getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebug
-
-
-
-
Constructor Detail
-
LocalVariableNode
public LocalVariableNode(com.sun.source.tree.Tree tree)
Create a new local variable node for the given tree.- Parameters:
tree
- the tree for the local variable: a VariableTree or an IdentifierTree
-
LocalVariableNode
public LocalVariableNode(com.sun.source.tree.Tree tree, @Nullable Node receiver)
Create a new local variable node for the given tree and receiver.- Parameters:
tree
- the tree for the local variable: a VariableTree or an IdentifierTreereceiver
- the receiver for the local variable, or null if none
-
-
Method Detail
-
getElement
public javax.lang.model.element.VariableElement getElement()
Returns the element associated with this local variable.- Returns:
- the element associated with this local variable
-
getReceiver
public @Nullable Node getReceiver()
The receiver node for the local variable,null
otherwise.
-
getName
public java.lang.String getName()
-
getTree
public com.sun.source.tree.Tree getTree()
Description copied from class:Node
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists. For instance, this is the case for anImplicitThisNode
.
-
accept
public <R,P> R accept(NodeVisitor<R,P> visitor, P p)
Description copied from class:Node
Accept method of the visitor pattern.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getOperands
@SideEffectFree public java.util.Collection<Node> getOperands()
Description copied from class:Node
- Specified by:
getOperands
in classNode
- Returns:
- a collection containing all of the operand
Node
s of thisNode
-
-