Package org.codehaus.groovy.ast.expr
Class ClosureExpression
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.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 }-
Field Summary
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 ClosureExpression(Parameter[] parameters, Statement code)
-
Method Summary
Modifier and Type Method Description Statement
getCode()
This gets the code statement of the closure.Parameter[]
getParameters()
String
getText()
VariableScope
getVariableScope()
boolean
isParameterSpecified()
void
setCode(Statement code)
This sets the code statement of the closure.void
setVariableScope(VariableScope variableScope)
String
toString()
Expression
transformExpression(ExpressionTransformer transformer)
Return a copy of the expression calling the transformer on any nested expressionsvoid
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, 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, setSourcePosition
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, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
ClosureExpression
-
-
Method Details
-
visit
-
transformExpression
Description copied from class:Expression
Return a copy of the expression calling the transformer on any nested expressions- Specified by:
transformExpression
in classExpression
-
toString
-
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
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
- 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
-
setVariableScope
-
getText
-