public class FunctionCall extends AstNode
Token.CALL
.AstNode.DebugPrintVisitor, AstNode.PositionComparator
Node.NodeIterator
Modifier and Type | Field and Description |
---|---|
protected java.util.List<AstNode> |
arguments |
protected int |
lp |
protected static java.util.List<AstNode> |
NO_ARGS |
protected int |
rp |
protected AstNode |
target |
ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DESTRUCTURING_SHORTHAND, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, type, VARIABLE_PROP
Constructor and Description |
---|
FunctionCall() |
FunctionCall(int pos) |
FunctionCall(int pos,
int len) |
Modifier and Type | Method and Description |
---|---|
void |
addArgument(AstNode arg)
Adds an argument to the list, and sets its parent to this node.
|
java.util.List<AstNode> |
getArguments()
Returns function argument list
|
int |
getLp()
Returns left paren position, -1 if missing
|
int |
getRp()
Returns right paren position, -1 if missing
|
AstNode |
getTarget()
Returns node evaluating to the function to call
|
void |
setArguments(java.util.List<AstNode> arguments)
Sets function argument list
|
void |
setLp(int lp)
Sets left paren position
|
void |
setParens(int lp,
int rp)
Sets both paren positions
|
void |
setRp(int rp)
Sets right paren position
|
void |
setTarget(AstNode target)
Sets node evaluating to the function to call, and sets
its parent to this node.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, the target object, and the arguments.
|
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
protected static final java.util.List<AstNode> NO_ARGS
protected AstNode target
protected java.util.List<AstNode> arguments
protected int lp
protected int rp
public FunctionCall()
public FunctionCall(int pos)
public FunctionCall(int pos, int len)
public AstNode getTarget()
public void setTarget(AstNode target)
target
- node evaluating to the function to call.IllegalArgumentException}
- if target is null
public java.util.List<AstNode> getArguments()
public void setArguments(java.util.List<AstNode> arguments)
arguments
- function argument list. Can be null
,
in which case any existing args are removed.public void addArgument(AstNode arg)
arg
- the argument node to add to the listIllegalArgumentException}
- if arg is null
public int getLp()
public void setLp(int lp)
lp
- left paren positionpublic int getRp()
public void setRp(int rp)
public void setParens(int lp, int rp)
public java.lang.String toSource(int depth)
AstNode
Note: if the parser was in error-recovery mode, some AST nodes may have
null
children that are expected to be non-null
when no errors are present. In this situation, the behavior of the
toSource
method is undefined: toSource
implementations may assume that the AST node is error-free, since it is
intended to be invoked only at runtime after a successful parse.
public void visit(NodeVisitor v)