public class MethodInvocationNode extends Node
target(arg1, arg2, ...)CFGs may contain
MethodInvocationNodes 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, toStringDebugprotected 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 - 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()
NodeTree 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)
Nodepublic Collection<Node> getOperands()
NodegetOperands in class NodeNodes of this Node