Package org.codehaus.groovy.ast.expr

# Class MethodCallExpression

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.MethodCallExpression

All Implemented Interfaces:
  `GroovydocHolder<AnnotatedNode>`, `MethodCall`, `NodeMetaDataHandler`

public class MethodCallExpression extends Expression implements MethodCall
A method call on an object or class.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Expression`
  `NO_ARGUMENTS`

  ### Fields inherited from class org.codehaus.groovy.ast.expr.Expression

  `EMPTY_ARRAY`

  ### Fields inherited from interface groovy.lang.groovydoc.GroovydocHolder

  `DOC_COMMENT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MethodCallExpression(Expression objectExpression, String method, Expression arguments)`
  `MethodCallExpression(Expression objectExpression, Expression method, Expression arguments)`

- ## Method Summary

  Modifier and Type
  Method
  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()`
  `Expression`
  `getObjectExpression()`
  `ASTNode`
  `getReceiver()`
  `String`
  `getText()`
  `boolean`
  `isImplicitThis()`
  `boolean`
  `isSafe()`
  `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`
  `setSourcePosition(ASTNode node)`
  Sets the source position using another ASTNode.
  `void`
  `setSpreadSafe(boolean value)`
  `String`
  `toString()`
  `Expression`
  `transformExpression(ExpressionTransformer transformer)`
  Transforms this expression and any nested expressions.
  `void`
  `visit(GroovyCodeVisitor visitor)`

  ### Methods inherited from class org.codehaus.groovy.ast.expr.Expression

  `getType, setType, transformExpressions, transformExpressions`

  ### Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode

  `addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

  ### Methods inherited from class org.codehaus.groovy.ast.ASTNode

  `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler

  `copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Field Details

  - ### NO_ARGUMENTS

    public static final Expression NO_ARGUMENTS

- ## Constructor Details

  - ### MethodCallExpression

    public MethodCallExpression(Expression objectExpression, String method, Expression arguments)

  - ### MethodCallExpression

    public MethodCallExpression(Expression objectExpression, Expression method, Expression arguments)

- ## Method Details

  - ### visit

    public void visit(GroovyCodeVisitor visitor)
    Overrides:
      `visit` in class `ASTNode`

  - ### transformExpression

    public Expression transformExpression(ExpressionTransformer transformer)
    Description copied from class: `Expression`
    Transforms this expression and any nested expressions.
    Specified by:
      `transformExpression` in class `Expression`

  - ### getArguments

    public Expression getArguments()
    Specified by:
      `getArguments` in interface `MethodCall`

  - ### setArguments

    public void setArguments(Expression arguments)

  - ### getMethod

    public Expression getMethod()

  - ### setMethod

    public void setMethod(Expression method)

  - ### getMethodAsString

    public String getMethodAsString()
    This method returns the method name as String if it is no dynamic calculated method name, but a constant.
    Specified by:
      `getMethodAsString` in interface `MethodCall`

  - ### getObjectExpression

    public Expression getObjectExpression()

  - ### setObjectExpression

    public void setObjectExpression(Expression objectExpression)

  - ### getReceiver

    public ASTNode getReceiver()
    Specified by:
      `getReceiver` in interface `MethodCall`

  - ### getText

    public String getText()
    Specified by:
      `getText` in interface `MethodCall`
    Overrides:
      `getText` in class `ASTNode`

  - ### isSafe

    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

  - ### setSafe

    public void setSafe(boolean safe)

  - ### isSpreadSafe

    public boolean isSpreadSafe()

  - ### setSpreadSafe

    public void setSpreadSafe(boolean value)

  - ### isImplicitThis

    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

  - ### setImplicitThis

    public void setImplicitThis(boolean implicitThis)

  - ### getGenericsTypes

    public GenericsType[] getGenericsTypes()

  - ### setGenericsTypes

    public void setGenericsTypes(GenericsType[] genericsTypes)

  - ### isUsingGenerics

    public boolean isUsingGenerics()

  - ### getMethodTarget

    public MethodNode getMethodTarget()
    Returns:
      the target as method node if set

  - ### setMethodTarget

    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

  - ### setSourcePosition

    public void setSourcePosition(ASTNode node)
    Description copied from class: `ASTNode`
    Sets the source position using another ASTNode. The sourcePosition consists of a line/column pair for the start and a line/column pair for the end of the expression or statement
    Overrides:
      `setSourcePosition` in class `ASTNode`
    Parameters:
      `node` - - the node used to configure the position information

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`