Package com.github.javaparser.ast.expr
Class MethodCallExpr
java.lang.Object
com.github.javaparser.ast.Node
com.github.javaparser.ast.expr.Expression
com.github.javaparser.ast.expr.MethodCallExpr
- All Implemented Interfaces:
NodeWithArguments<MethodCallExpr>
,NodeWithOptionalScope<MethodCallExpr>
,NodeWithRange<Node>
,NodeWithSimpleName<MethodCallExpr>
,NodeWithTokenRange<Node>
,NodeWithTraversableScope
,NodeWithTypeArguments<MethodCallExpr>
,Observable
,Visitable
,HasParentNode<Node>
,Resolvable<ResolvedMethodDeclaration>
,Cloneable
public class MethodCallExpr
extends Expression
implements NodeWithTypeArguments<MethodCallExpr>, NodeWithArguments<MethodCallExpr>, NodeWithSimpleName<MethodCallExpr>, NodeWithOptionalScope<MethodCallExpr>, Resolvable<ResolvedMethodDeclaration>
A method call on an object or a class.
In
circle.circumference()
In
a.<String>bb(15);
, a
is the scope, String is a type argument, bb is the name and 15 is an argument.- Author:
- Julio Vilmar Gesser
-
Nested Class Summary
Nested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal
-
Field Summary
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionMethodCallExpr(Expression scope, SimpleName name)
MethodCallExpr(Expression scope, SimpleName name, NodeList<Expression> arguments)
MethodCallExpr(Expression scope, NodeList<Type> typeArguments, SimpleName name, NodeList<Expression> arguments)
MethodCallExpr(Expression scope, NodeList<Type> typeArguments, String name, NodeList<Expression> arguments)
MethodCallExpr(Expression scope, String name)
MethodCallExpr(Expression scope, String name, NodeList<Expression> arguments)
MethodCallExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, SimpleName name, NodeList<Expression> arguments)
This constructor is used by the parser and is considered private.MethodCallExpr(String name, Expression... arguments)
-
Method Summary
Modifier and TypeMethodDescription<R, A> R
accept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.clone()
getName()
getScope()
void
ifMethodCallExpr(Consumer<MethodCallExpr> action)
protected boolean
boolean
boolean
See https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.2boolean
boolean
resolve()
Attempts to resolve the declaration corresponding to the invoked method.setArguments(NodeList<Expression> arguments)
setName(SimpleName name)
setScope(Expression scope)
setTypeArguments(NodeList<Type> typeArguments)
Sets the typeArgumentsMethods inherited from class com.github.javaparser.ast.expr.Expression
appearsInAssignmentContext, appearsInInvocationContext, asAnnotationExpr, asArrayAccessExpr, asArrayCreationExpr, asArrayInitializerExpr, asAssignExpr, asBinaryExpr, asBooleanLiteralExpr, asCastExpr, asCharLiteralExpr, asClassExpr, asConditionalExpr, asDoubleLiteralExpr, asEnclosedExpr, asFieldAccessExpr, asInstanceOfExpr, asIntegerLiteralExpr, asLambdaExpr, asLiteralExpr, asLiteralStringValueExpr, asLongLiteralExpr, asMarkerAnnotationExpr, asMethodReferenceExpr, asNameExpr, asNormalAnnotationExpr, asNullLiteralExpr, asObjectCreationExpr, asPatternExpr, asSingleMemberAnnotationExpr, asStringLiteralExpr, asSuperExpr, asSwitchExpr, asTextBlockLiteralExpr, asThisExpr, asTypeExpr, asUnaryExpr, asVariableDeclarationExpr, calculateResolvedType, elidesTypeArguments, ifAnnotationExpr, ifArrayAccessExpr, ifArrayCreationExpr, ifArrayInitializerExpr, ifAssignExpr, ifBinaryExpr, ifBooleanLiteralExpr, ifCastExpr, ifCharLiteralExpr, ifClassExpr, ifConditionalExpr, ifDoubleLiteralExpr, ifEnclosedExpr, ifFieldAccessExpr, ifInstanceOfExpr, ifIntegerLiteralExpr, ifLambdaExpr, ifLiteralExpr, ifLiteralStringValueExpr, ifLongLiteralExpr, ifMarkerAnnotationExpr, ifMethodReferenceExpr, ifNameExpr, ifNormalAnnotationExpr, ifNullLiteralExpr, ifObjectCreationExpr, ifPatternExpr, ifSingleMemberAnnotationExpr, ifStringLiteralExpr, ifSuperExpr, ifSwitchExpr, ifTextBlockLiteralExpr, ifThisExpr, ifTypeExpr, ifUnaryExpr, ifVariableDeclarationExpr, isAnnotationExpr, isArrayAccessExpr, isArrayCreationExpr, isArrayInitializerExpr, isAssignExpr, isAssignmentContext, isBinaryExpr, isBooleanLiteralExpr, isCastExpr, isCharLiteralExpr, isClassExpr, isConditionalExpr, isDoubleLiteralExpr, isEnclosedExpr, isFieldAccessExpr, isInstanceOfExpr, isIntegerLiteralExpr, isLambdaExpr, isLiteralExpr, isLiteralStringValueExpr, isLongLiteralExpr, isMarkerAnnotationExpr, isMethodReferenceExpr, isNameExpr, isNormalAnnotationExpr, isNullLiteralExpr, isObjectCreationExpr, isPatternExpr, isQualified, isSingleMemberAnnotationExpr, isStandaloneExpression, isStringLiteralExpr, isSuperExpr, isSwitchExpr, isTextBlockLiteralExpr, isThisExpr, isTypeExpr, isUnaryExpr, isVariableDeclarationExpr, toAnnotationExpr, toArrayAccessExpr, toArrayCreationExpr, toArrayInitializerExpr, toAssignExpr, toBinaryExpr, toBooleanLiteralExpr, toCastExpr, toCharLiteralExpr, toClassExpr, toConditionalExpr, toDoubleLiteralExpr, toEnclosedExpr, toFieldAccessExpr, toInstanceOfExpr, toIntegerLiteralExpr, toLambdaExpr, toLiteralExpr, toLiteralStringValueExpr, toLongLiteralExpr, toMarkerAnnotationExpr, toMethodReferenceExpr, toNameExpr, toNormalAnnotationExpr, toNullLiteralExpr, toObjectCreationExpr, toPatternExpr, toSingleMemberAnnotationExpr, toStringLiteralExpr, toSuperExpr, toSwitchExpr, toTextBlockLiteralExpr, toThisExpr, toTypeExpr, toUnaryExpr, toVariableDeclarationExpr
Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, containsData, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walk
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, hasParentNode, isDescendantOf
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithArguments
addArgument, addArgument, getArgument, setArgument
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithOptionalScope
traverseScope
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, containsWithinRange, getBegin, getEnd, hasRange
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithSimpleName
getNameAsExpression, getNameAsString, setName
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments
isUsingDiamondOperator, removeTypeArguments, setDiamondOperator, setTypeArguments
-
Constructor Details
-
MethodCallExpr
public MethodCallExpr() -
MethodCallExpr
-
MethodCallExpr
-
MethodCallExpr
-
MethodCallExpr
-
MethodCallExpr
public MethodCallExpr(Expression scope, NodeList<Type> typeArguments, String name, NodeList<Expression> arguments) -
MethodCallExpr
-
MethodCallExpr
public MethodCallExpr(Expression scope, NodeList<Type> typeArguments, SimpleName name, NodeList<Expression> arguments) -
MethodCallExpr
public MethodCallExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, SimpleName name, NodeList<Expression> arguments)This constructor is used by the parser and is considered private.
-
-
Method Details
-
accept
Description copied from interface:Visitable
Accept method for visitor support.- Specified by:
accept
in interfaceVisitable
- Type Parameters:
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitor- Parameters:
v
- the visitor implementationarg
- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
Description copied from interface:Visitable
Accept method for visitor support. -
getArguments
- Specified by:
getArguments
in interfaceNodeWithArguments<MethodCallExpr>
-
getName
- Specified by:
getName
in interfaceNodeWithSimpleName<MethodCallExpr>
-
getScope
- Specified by:
getScope
in interfaceNodeWithOptionalScope<MethodCallExpr>
-
setArguments
- Specified by:
setArguments
in interfaceNodeWithArguments<MethodCallExpr>
-
setName
- Specified by:
setName
in interfaceNodeWithSimpleName<MethodCallExpr>
-
setScope
- Specified by:
setScope
in interfaceNodeWithOptionalScope<MethodCallExpr>
-
getTypeArguments
- Specified by:
getTypeArguments
in interfaceNodeWithTypeArguments<MethodCallExpr>
- Returns:
- the types that can be found in the type arguments:
<String, Integer>
.
-
setTypeArguments
Sets the typeArguments- Specified by:
setTypeArguments
in interfaceNodeWithTypeArguments<MethodCallExpr>
- Parameters:
typeArguments
- the typeArguments, can be null- Returns:
- this, the MethodCallExpr
-
remove
- Overrides:
remove
in classExpression
-
removeScope
- Specified by:
removeScope
in interfaceNodeWithOptionalScope<MethodCallExpr>
-
clone
- Overrides:
clone
in classExpression
-
getMetaModel
- Overrides:
getMetaModel
in classExpression
- Returns:
- get JavaParser specific node introspection information.
-
replace
- Overrides:
replace
in classExpression
-
isMethodCallExpr
public boolean isMethodCallExpr()- Overrides:
isMethodCallExpr
in classExpression
-
asMethodCallExpr
- Overrides:
asMethodCallExpr
in classExpression
-
ifMethodCallExpr
- Overrides:
ifMethodCallExpr
in classExpression
-
resolve
Attempts to resolve the declaration corresponding to the invoked method. If successful, aResolvedMethodDeclaration
representing the declaration of the constructor invoked by thisMethodCallExpr
is returned. Otherwise, anUnsolvedSymbolException
is thrown.- Specified by:
resolve
in interfaceResolvable<ResolvedMethodDeclaration>
- Returns:
- a
ResolvedMethodDeclaration
representing the declaration of the invoked method. - Throws:
UnsolvedSymbolException
- if the declaration corresponding to the method call expression could not be resolved.- See Also:
NameExpr.resolve()
,FieldAccessExpr.resolve()
,ObjectCreationExpr.resolve()
,ExplicitConstructorInvocationStmt.resolve()
-
toMethodCallExpr
- Overrides:
toMethodCallExpr
in classExpression
-
isPolyExpression
public boolean isPolyExpression()Description copied from class:Expression
See https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.2- Overrides:
isPolyExpression
in classExpression
- Returns:
- true if the expression is a poly expression
-
isInvocationContext
protected boolean isInvocationContext()- Overrides:
isInvocationContext
in classExpression
-