public class MethodInvocationNode extends Node
target(arg1, arg2, ...)CFGs may contain
MethodInvocationNode
s that correspond to no AST Tree
, in which
case, the tree field will be null.Modifier and Type | Field and Description |
---|---|
protected List<Node> |
arguments
The arguments of the method invocation.
|
protected @Nullable ExpressionTree |
iterableExpression
If this MethodInvocationNode is a node for an
Iterator.next() desugared from an
enhanced for loop, then the iterExpression field is the expression in the for loop,
e.g., iter in for(Object o: iter . |
protected MethodAccessNode |
target
The MethodAccessNode for the method being invoked.
|
protected @Nullable MethodInvocationTree |
tree
The tree for the method invocation.
|
protected TreePath |
treePath
The tree path to the method invocation.
|
Constructor and Description |
---|
MethodInvocationNode(MethodAccessNode target,
List<Node> arguments,
TreePath treePath) |
MethodInvocationNode(@Nullable MethodInvocationTree tree,
MethodAccessNode target,
List<Node> arguments,
TreePath treePath)
Create a MethodInvocationNode.
|
Modifier and Type | Method and Description |
---|---|
<R,P> R |
accept(NodeVisitor<R,P> visitor,
P p)
Accept method of the visitor pattern.
|
boolean |
equals(@Nullable Object obj) |
Node |
getArgument(int i) |
List<Node> |
getArguments() |
@Nullable ExpressionTree |
getIterableExpression()
If this MethodInvocationNode is a node for an
Iterator.next() desugared from an
enhanced for loop, then return the expression in the for loop, e.g., iter in for(Object o: iter . |
Collection<Node> |
getOperands()
|
MethodAccessNode |
getTarget() |
@Nullable MethodInvocationTree |
getTree()
Returns the
Tree in the abstract syntax tree, or null if no corresponding tree
exists. |
TreePath |
getTreePath() |
int |
hashCode() |
void |
setIterableExpression(@Nullable ExpressionTree iterableExpression)
Set the iterable expression from a for loop.
|
String |
toString() |
getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebug
protected final @Nullable MethodInvocationTree tree
protected final MethodAccessNode target
protected final TreePath treePath
protected @Nullable ExpressionTree iterableExpression
Iterator.next()
desugared from an
enhanced for loop, then the iterExpression
field is the expression in the for loop,
e.g., iter
in for(Object o: iter
.
Is set by setIterableExpression(com.sun.source.tree.ExpressionTree)
.
public MethodInvocationNode(@Nullable MethodInvocationTree tree, MethodAccessNode target, List<Node> arguments, TreePath treePath)
tree
- for the method invocationtarget
- the MethodAccessNode for the method being invokedarguments
- arguments of the method invocationtreePath
- path to the method invocationpublic MethodInvocationNode(MethodAccessNode target, List<Node> arguments, TreePath treePath)
public MethodAccessNode getTarget()
public Node getArgument(int i)
public TreePath getTreePath()
public @Nullable ExpressionTree getIterableExpression()
Iterator.next()
desugared from an
enhanced for loop, then return the expression in the for loop, e.g., iter
in for(Object o: iter
. Otherwise, return null.Iterator.next()
from an enhanced
for looppublic void setIterableExpression(@Nullable ExpressionTree iterableExpression)
iterableExpression
- iterable expressiongetIterableExpression()
public @Nullable MethodInvocationTree getTree()
Node
Tree
in the abstract syntax tree, or null
if no corresponding tree
exists. For instance, this is the case for an ImplicitThisNode
.public <R,P> R accept(NodeVisitor<R,P> visitor, P p)
Node
public Collection<Node> getOperands()
Node
getOperands
in class Node
Node
s of this Node