public class ClosureWriter
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
ClosureWriter.CorrectAccessedVariableVisitor |
protected static interface |
ClosureWriter.UseExistingReference |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
OUTER_INSTANCE |
static java.lang.String |
THIS_OBJECT |
Constructor and Description |
---|
ClosureWriter(WriterController wc) |
Modifier and Type | Method and Description |
---|---|
protected ConstructorNode |
addConstructor(ClosureExpression expression,
Parameter[] localVariableParams,
InnerClassNode answer,
BlockStatement block) |
protected void |
addFieldsAndGettersForLocalVariables(InnerClassNode answer,
Parameter[] localVariableParams) |
boolean |
addGeneratedClosureConstructorCall(ConstructorCallExpression call) |
protected BlockStatement |
createBlockStatementForConstructor(ClosureExpression expression) |
protected ClassNode |
createClosureClass(ClosureExpression expression,
int mods) |
protected Parameter[] |
getClosureSharedVariables(ClosureExpression ce) |
ClassNode |
getOrAddClosureClass(ClosureExpression expression,
int mods) |
static void |
loadReference(java.lang.String name,
WriterController controller) |
protected static void |
removeInitialValues(Parameter[] params) |
void |
writeClosure(ClosureExpression expression) |
public static final java.lang.String OUTER_INSTANCE
public static final java.lang.String THIS_OBJECT
public ClosureWriter(WriterController wc)
public void writeClosure(ClosureExpression expression)
public static void loadReference(java.lang.String name, WriterController controller)
public ClassNode getOrAddClosureClass(ClosureExpression expression, int mods)
protected ClassNode createClosureClass(ClosureExpression expression, int mods)
protected ConstructorNode addConstructor(ClosureExpression expression, Parameter[] localVariableParams, InnerClassNode answer, BlockStatement block)
protected void addFieldsAndGettersForLocalVariables(InnerClassNode answer, Parameter[] localVariableParams)
protected BlockStatement createBlockStatementForConstructor(ClosureExpression expression)
protected static void removeInitialValues(Parameter[] params)
public boolean addGeneratedClosureConstructorCall(ConstructorCallExpression call)
protected Parameter[] getClosureSharedVariables(ClosureExpression ce)