Package org.codehaus.groovy.classgen.asm
Class ClosureWriter
java.lang.Object
org.codehaus.groovy.classgen.asm.ClosureWriter
- Direct Known Subclasses:
- LambdaWriter,- StaticTypesClosureWriter
public class ClosureWriter
extends java.lang.Object
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static classClosureWriter.CorrectAccessedVariableVisitorprotected static interfaceClosureWriter.UseExistingReference
- 
Field SummaryFields Modifier and Type Field Description protected WriterControllercontrollerstatic java.lang.StringOUTER_INSTANCEstatic java.lang.StringTHIS_OBJECT
- 
Constructor SummaryConstructors Constructor Description ClosureWriter(WriterController controller)
- 
Method SummaryModifier and Type Method Description protected ConstructorNodeaddConstructor(ClosureExpression expression, Parameter[] localVariableParams, InnerClassNode answer, BlockStatement block)protected voidaddFieldsAndGettersForLocalVariables(InnerClassNode closureClass, Parameter[] localVariableParams)booleanaddGeneratedClosureConstructorCall(ConstructorCallExpression call)protected BlockStatementcreateBlockStatementForConstructor(ClosureExpression expression, ClassNode outerClass, ClassNode thisClassNode)protected ClassNodecreateClosureClass(ClosureExpression expression, int modifiers)protected Parameter[]getClosureSharedVariables(ClosureExpression expression)ClassNodegetOrAddClosureClass(ClosureExpression expression, int modifiers)static voidloadReference(java.lang.String name, WriterController controller)protected voidloadThis()protected static voidremoveInitialValues(Parameter[] params)voidwriteClosure(ClosureExpression expression)Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- 
Field Details- 
OUTER_INSTANCEpublic static final java.lang.String OUTER_INSTANCE- See Also:
- Constant Field Values
 
- 
THIS_OBJECTpublic static final java.lang.String THIS_OBJECT- See Also:
- Constant Field Values
 
- 
controller
 
- 
- 
Constructor Details- 
ClosureWriter
 
- 
- 
Method Details- 
writeClosure
- 
loadReference
- 
getOrAddClosureClass
- 
createClosureClass
- 
addConstructorprotected ConstructorNode addConstructor(ClosureExpression expression, Parameter[] localVariableParams, InnerClassNode answer, BlockStatement block)
- 
addFieldsAndGettersForLocalVariablesprotected void addFieldsAndGettersForLocalVariables(InnerClassNode closureClass, Parameter[] localVariableParams)
- 
createBlockStatementForConstructorprotected BlockStatement createBlockStatementForConstructor(ClosureExpression expression, ClassNode outerClass, ClassNode thisClassNode)
- 
removeInitialValues
- 
addGeneratedClosureConstructorCall
- 
loadThisprotected void loadThis()
 
-