Class ClosureExpression

All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>, NodeMetaDataHandler
Direct Known Subclasses:
LambdaExpression

public class ClosureExpression
extends Expression
Represents a closure expression such as
{ statement }
or { i -> statement } or { i, x, String y -> statement }
  • Constructor Details

    • ClosureExpression

      public ClosureExpression​(Parameter[] parameters, Statement code)
  • Method Details

    • visit

      public void visit​(GroovyCodeVisitor visitor)
      Overrides:
      visit in class ASTNode
    • transformExpression

      public Expression transformExpression​(ExpressionTransformer transformer)
      Description copied from class: Expression
      Return a copy of the expression calling the transformer on any nested expressions
      Specified by:
      transformExpression in class Expression
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getCode

      public Statement getCode()
      This gets the code statement of the closure. You can read this method to find out what actions the closure is going to perform.
      Returns:
      the code statement of the closure
    • setCode

      public void setCode​(Statement code)
      This sets the code statement of the closure. You can use this method in order to add more actions during the closure execution.
      Parameters:
      code - the new Statement
    • getParameters

      public Parameter[] getParameters()
      Returns:
      an array of zero (for implicit it) or more (when explicit args given) parameters or null otherwise (representing explicit no args)
    • isParameterSpecified

      public boolean isParameterSpecified()
      Returns:
      true if one or more explicit parameters are supplied
    • getVariableScope

      public VariableScope getVariableScope()
    • setVariableScope

      public void setVariableScope​(VariableScope variableScope)
    • getText

      public String getText()
      Overrides:
      getText in class ASTNode