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
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Method Detail
-
visit
public void visit(GroovyCodeVisitor visitor)
-
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 classExpression
-
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)
-
-