public class FunctionInvocation extends Expression
FunctionInvocation: [ Expression . ] Identifier ( [ Expression { , Expression } ] )For JLS3, type arguments are added:
FunctionInvocation: [ Expression . ] [ < Type { , Type } > ] Identifier ( [ Expression { , Expression } ] )Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
Modifier and Type | Field and Description |
---|---|
static ChildListPropertyDescriptor |
ARGUMENTS_PROPERTY
The "arguments" structural property of this node type.
|
static ChildPropertyDescriptor |
EXPRESSION_PROPERTY
The "expression" structural property of this node type.
|
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type.
|
static ChildListPropertyDescriptor |
TYPE_ARGUMENTS_PROPERTY
The "typeArguments" structural property of this node type (added in JLS3 API).
|
ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION
Modifier and Type | Method and Description |
---|---|
java.util.List |
arguments()
Returns the live ordered list of argument expressions in this method
invocation expression.
|
Expression |
getExpression()
Returns the expression of this method invocation expression, or
null if there is none. |
SimpleName |
getName()
Returns the name of the method invoked in this expression.
|
boolean |
isResolvedTypeInferredFromExpectedType()
Returns
true if the resolved return type has been inferred
from the assignment context (JLS3 15.12.2.8), false otherwise. |
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
IFunctionBinding |
resolveMethodBinding()
Resolves and returns the binding for the method invoked by this
expression.
|
void |
setExpression(Expression expression)
Sets or clears the expression of this method invocation expression.
|
void |
setName(SimpleName name)
Sets the name of the method invoked in this expression to the
given name.
|
java.util.List |
typeArguments()
Returns the live ordered list of type arguments of this method
invocation (added in JLS3 API).
|
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY
public static final ChildPropertyDescriptor NAME_PROPERTY
public static final ChildListPropertyDescriptor ARGUMENTS_PROPERTY
public static java.util.List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constantsStructuralPropertyDescriptor
)public Expression getExpression()
null
if there is none.null
if there is nonepublic boolean isResolvedTypeInferredFromExpectedType()
true
if the resolved return type has been inferred
from the assignment context (JLS3 15.12.2.8), false
otherwise.
This information is available only when bindings are requested when the AST is being built
.true
if the resolved return type has been inferred
from the assignment context (JLS3 15.12.2.8), false
otherwisepublic void setExpression(Expression expression)
expression
- the expression node, or null
if
there is nonejava.lang.IllegalArgumentException
- if:
public java.util.List typeArguments()
Type
)java.lang.UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic SimpleName getName()
public void setName(SimpleName name)
name
- the new method namejava.lang.IllegalArgumentException
- if:
public java.util.List arguments()
Expression
)public IFunctionBinding resolveMethodBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot
be resolvedCopyright (c) IBM Corp. and others 2000, 2010. All Rights Reserved.