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 target of the method invocation -- that is, the receiver.
|
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() |
getAssignmentContext, getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setAssignmentContext, 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
.public MethodInvocationNode(@Nullable MethodInvocationTree tree, MethodAccessNode target, List<Node> arguments, TreePath treePath)
tree
- for the method invocationtarget
- of the method invocation -- that is, the receiver. For a static method, may be
a class name.arguments
- 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 ImplicitThisLiteralNode
.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