[Java] Class MethodCallExpression
- org.codehaus.groovy.ast.expr.MethodCallExpression
- All Implemented Interfaces and Traits:
- MethodCall
public class MethodCallExpression extends Expression
A method call on an object or class
- Authors:
- James Strachan
Field Summary
Modifiers | Name | Description |
---|---|---|
static Expression | NO_ARGUMENTS |
Constructor Summary
Constructor and description |
---|
MethodCallExpression
(Expression objectExpression, String method, Expression arguments) |
MethodCallExpression
(Expression objectExpression, Expression method, Expression arguments) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
Expression |
getArguments() | |
GenericsType[] |
getGenericsTypes() | |
Expression |
getMethod() | |
String |
getMethodAsString() This method returns the method name as String if it is no dynamic calculated method name, but a constant. | |
MethodNode |
getMethodTarget() @return the target as method node if set | |
Expression |
getObjectExpression() | |
ASTNode |
getReceiver() | |
String |
getText() | |
boolean |
isImplicitThis() @return true if no object expression was specified otherwise if some expression was specified for the object on which to evaluate the method then return false | |
boolean |
isSafe() @return is this a safe method call, i.e. if true then if the source object is null then this method call will return null rather than throwing a null pointer exception | |
boolean |
isSpreadSafe() | |
boolean |
isUsingGenerics() | |
void |
setArguments(Expression arguments) | |
void |
setGenericsTypes(GenericsType[] genericsTypes) | |
void |
setImplicitThis(boolean implicitThis) | |
void |
setMethod(Expression method) | |
void |
setMethodTarget(MethodNode mn) Sets a method call target for a direct method call. | |
void |
setObjectExpression(Expression objectExpression) | |
void |
setSafe(boolean safe) | |
void |
setSpreadSafe(boolean value) | |
String |
toString() | |
Expression |
transformExpression(ExpressionTransformer transformer) | |
void |
visit(GroovyCodeVisitor visitor) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Expression | getType, setType, transformExpression, transformExpressions, transformExpressions |
class AnnotatedNode | addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic |
class ASTNode | copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
public static final Expression NO_ARGUMENTS
Constructor Detail
public MethodCallExpression(Expression objectExpression, String method, Expression arguments)
public MethodCallExpression(Expression objectExpression, Expression method, Expression arguments)
Method Detail
public Expression getArguments()
public GenericsType[] getGenericsTypes()
public Expression getMethod()
public String getMethodAsString()
This method returns the method name as String if it is no dynamic calculated method name, but a constant.
public MethodNode getMethodTarget()
- Returns:
- the target as method node if set
public Expression getObjectExpression()
public ASTNode getReceiver()
public String getText()
public boolean isImplicitThis()
- Returns:
- true if no object expression was specified otherwise if some expression was specified for the object on which to evaluate the method then return false
public boolean isSafe()
- Returns:
- is this a safe method call, i.e. if true then if the source object is null then this method call will return null rather than throwing a null pointer exception
public boolean isSpreadSafe()
public boolean isUsingGenerics()
public void setArguments(Expression arguments)
public void setGenericsTypes(GenericsType[] genericsTypes)
public void setImplicitThis(boolean implicitThis)
public void setMethod(Expression method)
public void setMethodTarget(MethodNode mn)
Sets a method call target for a direct method call. WARNING: A method call made this way will run outside of the MOP!
- Parameters:
-
mn
- the target as MethodNode, mn==null means no target
public void setObjectExpression(Expression objectExpression)
public void setSafe(boolean safe)
public void setSpreadSafe(boolean value)
public String toString()
public Expression transformExpression(ExpressionTransformer transformer)
public void visit(GroovyCodeVisitor visitor)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/ast/expr/MethodCallExpression.html