Package org.codehaus.groovy.classgen.asm
Class ClosureWriter
java.lang.Object
org.codehaus.groovy.classgen.asm.ClosureWriter
- Direct Known Subclasses:
 LambdaWriter,StaticTypesClosureWriter
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static interface - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final WriterControllerstatic final Stringstatic final String - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected ConstructorNodeaddConstructor(ClosureExpression expression, Parameter[] localVariableParams, InnerClassNode answer, BlockStatement block) protected voidaddFieldsForLocalVariables(InnerClassNode closureClass, Parameter[] localVariableParams) booleanprotected voidaddSerialVersionUIDField(ClassNode classNode) protected BlockStatementcreateBlockStatementForConstructor(ClosureExpression expression, ClassNode outerClass, ClassNode thisClassNode) protected ClassNodecreateClosureClass(ClosureExpression expression, int modifiers) protected Parameter[]getClosureSharedVariables(ClosureExpression expression) getOrAddClosureClass(ClosureExpression expression, int modifiers) static voidloadReference(String name, WriterController controller) protected voidloadThis()protected static voidremoveInitialValues(Parameter[] params) voidwriteClosure(ClosureExpression expression)  
- 
Field Details
- 
OUTER_INSTANCE
- See Also:
 
 - 
THIS_OBJECT
- See Also:
 
 - 
controller
 
 - 
 - 
Constructor Details
- 
ClosureWriter
 
 - 
 - 
Method Details
- 
writeClosure
 - 
loadReference
 - 
getOrAddClosureClass
 - 
createClosureClass
 - 
addSerialVersionUIDField
 - 
addConstructor
protected ConstructorNode addConstructor(ClosureExpression expression, Parameter[] localVariableParams, InnerClassNode answer, BlockStatement block)  - 
addFieldsForLocalVariables
protected void addFieldsForLocalVariables(InnerClassNode closureClass, Parameter[] localVariableParams)  - 
createBlockStatementForConstructor
protected BlockStatement createBlockStatementForConstructor(ClosureExpression expression, ClassNode outerClass, ClassNode thisClassNode)  - 
removeInitialValues
 - 
addGeneratedClosureConstructorCall
 - 
loadThis
protected void loadThis() 
 -