org.codehaus.groovy.classgen.asm
Class DelegatingController

java.lang.Object
  extended by org.codehaus.groovy.classgen.asm.WriterController
      extended by org.codehaus.groovy.classgen.asm.DelegatingController
Direct Known Subclasses:
StaticTypesWriterController

public class DelegatingController
extends WriterController

This class will delegate all calls to a WriterController given in the constructor.


Field Summary
 
Fields inherited from class org.codehaus.groovy.classgen.asm.WriterController
optimizeForInt
 
Constructor Summary
DelegatingController(WriterController normalController)
           
 
Method Summary
 AsmClassGenerator getAcg()
           
 AssertionWriter getAssertionWriter()
           
 BinaryExpressionHelper getBinaryExpressionHelper()
           
 CallSiteWriter getCallSiteWriter()
           
 java.lang.String getClassName()
           
 ClassNode getClassNode()
           
 org.objectweb.asm.ClassVisitor getClassVisitor()
           
 ClosureWriter getClosureWriter()
           
 CompileStack getCompileStack()
           
 ConstructorNode getConstructorNode()
           
 GeneratorContext getContext()
           
 org.objectweb.asm.ClassVisitor getCv()
           
 InterfaceHelperClassNode getInterfaceClassLoadingClass()
           
 java.lang.String getInternalBaseClassName()
           
 java.lang.String getInternalClassName()
           
 InvocationWriter getInvocationWriter()
           
 MethodNode getMethodNode()
           
 org.objectweb.asm.MethodVisitor getMethodVisitor()
           
 OperandStack getOperandStack()
           
 ClassNode getOutermostClass()
           
 ClassNode getReturnType()
           
 SourceUnit getSourceUnit()
           
 StatementWriter getStatementWriter()
           
 TypeChooser getTypeChooser()
           
 UnaryExpressionHelper getUnaryExpressionHelper()
           
 void init(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn)
           
 boolean isConstructor()
           
 boolean isFastPath()
           
 boolean isInClosure()
           
 boolean isInClosureConstructor()
           
 boolean isInScriptBody()
           
 boolean isNotClinit()
           
 boolean isNotExplicitThisInClosure(boolean implicitThis)
           
 boolean isStaticConstructor()
           
 boolean isStaticContext()
           
 boolean isStaticMethod()
           
 void setConstructorNode(ConstructorNode cn)
           
 void setInterfaceClassLoadingClass(InterfaceHelperClassNode ihc)
           
 void setMethodNode(MethodNode mn)
           
 void setMethodVisitor(org.objectweb.asm.MethodVisitor methodVisitor)
           
 boolean shouldOptimizeForInt()
           
 void switchToFastPath()
           
 void switchToSlowPath()
           
 
Methods inherited from class org.codehaus.groovy.classgen.asm.WriterController
getBytecodeVersion, getLineNumber, resetLineNumber, setLineNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingController

public DelegatingController(WriterController normalController)
Method Detail

init

public void init(AsmClassGenerator asmClassGenerator,
                 GeneratorContext gcon,
                 org.objectweb.asm.ClassVisitor cv,
                 ClassNode cn)
Overrides:
init in class WriterController

setMethodNode

public void setMethodNode(MethodNode mn)
Overrides:
setMethodNode in class WriterController

setConstructorNode

public void setConstructorNode(ConstructorNode cn)
Overrides:
setConstructorNode in class WriterController

isFastPath

public boolean isFastPath()
Overrides:
isFastPath in class WriterController

getCallSiteWriter

public CallSiteWriter getCallSiteWriter()
Overrides:
getCallSiteWriter in class WriterController

getStatementWriter

public StatementWriter getStatementWriter()
Overrides:
getStatementWriter in class WriterController

getTypeChooser

public TypeChooser getTypeChooser()
Overrides:
getTypeChooser in class WriterController

getAcg

public AsmClassGenerator getAcg()
Overrides:
getAcg in class WriterController

getAssertionWriter

public AssertionWriter getAssertionWriter()
Overrides:
getAssertionWriter in class WriterController

getBinaryExpressionHelper

public BinaryExpressionHelper getBinaryExpressionHelper()
Overrides:
getBinaryExpressionHelper in class WriterController

getUnaryExpressionHelper

public UnaryExpressionHelper getUnaryExpressionHelper()
Overrides:
getUnaryExpressionHelper in class WriterController

getClassName

public java.lang.String getClassName()
Overrides:
getClassName in class WriterController

getClassNode

public ClassNode getClassNode()
Overrides:
getClassNode in class WriterController

getClassVisitor

public org.objectweb.asm.ClassVisitor getClassVisitor()
Overrides:
getClassVisitor in class WriterController

getClosureWriter

public ClosureWriter getClosureWriter()
Overrides:
getClosureWriter in class WriterController

getCompileStack

public CompileStack getCompileStack()
Overrides:
getCompileStack in class WriterController

getConstructorNode

public ConstructorNode getConstructorNode()
Overrides:
getConstructorNode in class WriterController

getContext

public GeneratorContext getContext()
Overrides:
getContext in class WriterController

getCv

public org.objectweb.asm.ClassVisitor getCv()
Overrides:
getCv in class WriterController

getInterfaceClassLoadingClass

public InterfaceHelperClassNode getInterfaceClassLoadingClass()
Overrides:
getInterfaceClassLoadingClass in class WriterController

getInternalBaseClassName

public java.lang.String getInternalBaseClassName()
Overrides:
getInternalBaseClassName in class WriterController

getInternalClassName

public java.lang.String getInternalClassName()
Overrides:
getInternalClassName in class WriterController

getInvocationWriter

public InvocationWriter getInvocationWriter()
Overrides:
getInvocationWriter in class WriterController

getMethodNode

public MethodNode getMethodNode()
Overrides:
getMethodNode in class WriterController

getMethodVisitor

public org.objectweb.asm.MethodVisitor getMethodVisitor()
Overrides:
getMethodVisitor in class WriterController

getOperandStack

public OperandStack getOperandStack()
Overrides:
getOperandStack in class WriterController

getOutermostClass

public ClassNode getOutermostClass()
Overrides:
getOutermostClass in class WriterController

getReturnType

public ClassNode getReturnType()
Overrides:
getReturnType in class WriterController

getSourceUnit

public SourceUnit getSourceUnit()
Overrides:
getSourceUnit in class WriterController

isConstructor

public boolean isConstructor()
Overrides:
isConstructor in class WriterController

isInClosure

public boolean isInClosure()
Overrides:
isInClosure in class WriterController

isInClosureConstructor

public boolean isInClosureConstructor()
Overrides:
isInClosureConstructor in class WriterController

isNotClinit

public boolean isNotClinit()
Overrides:
isNotClinit in class WriterController

isInScriptBody

public boolean isInScriptBody()
Overrides:
isInScriptBody in class WriterController
Returns:
true if we are in a script body, where all variables declared are no longer local variables but are properties

isNotExplicitThisInClosure

public boolean isNotExplicitThisInClosure(boolean implicitThis)
Overrides:
isNotExplicitThisInClosure in class WriterController

isStaticConstructor

public boolean isStaticConstructor()
Overrides:
isStaticConstructor in class WriterController

isStaticContext

public boolean isStaticContext()
Overrides:
isStaticContext in class WriterController

isStaticMethod

public boolean isStaticMethod()
Overrides:
isStaticMethod in class WriterController

setInterfaceClassLoadingClass

public void setInterfaceClassLoadingClass(InterfaceHelperClassNode ihc)
Overrides:
setInterfaceClassLoadingClass in class WriterController

setMethodVisitor

public void setMethodVisitor(org.objectweb.asm.MethodVisitor methodVisitor)
Overrides:
setMethodVisitor in class WriterController

shouldOptimizeForInt

public boolean shouldOptimizeForInt()
Overrides:
shouldOptimizeForInt in class WriterController

switchToFastPath

public void switchToFastPath()
Overrides:
switchToFastPath in class WriterController

switchToSlowPath

public void switchToSlowPath()
Overrides:
switchToSlowPath in class WriterController