org.codehaus.groovy.classgen.asm.sc
Class StaticTypesWriterController

java.lang.Object
  extended by org.codehaus.groovy.classgen.asm.WriterController
      extended by org.codehaus.groovy.classgen.asm.DelegatingController
          extended by org.codehaus.groovy.classgen.asm.sc.StaticTypesWriterController

public class StaticTypesWriterController
extends DelegatingController

An alternative WriterController which handles static types and method dispatch. In case of a "mixed mode" where only some methods are annotated with TypeChecked then this writer will delegate to the classic writer controller.


Field Summary
protected  boolean isInStaticallyCheckedMethod
           
 
Fields inherited from class org.codehaus.groovy.classgen.asm.WriterController
optimizeForInt
 
Constructor Summary
StaticTypesWriterController(WriterController normalController)
           
 
Method Summary
 BinaryExpressionHelper getBinaryExpressionHelper()
           
 CallSiteWriter getCallSiteWriter()
           
 ClosureWriter getClosureWriter()
           
 InvocationWriter getInvocationWriter()
           
 StatementWriter getStatementWriter()
           
 TypeChooser getTypeChooser()
           
 UnaryExpressionHelper getUnaryExpressionHelper()
           
 void init(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn)
           
 boolean isFastPath()
           
 void setConstructorNode(ConstructorNode cn)
           
 void setMethodNode(MethodNode mn)
           
 
Methods inherited from class org.codehaus.groovy.classgen.asm.DelegatingController
getAcg, getAssertionWriter, getClassName, getClassNode, getClassVisitor, getCompileStack, getConstructorNode, getContext, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInternalClassName, getMethodNode, getMethodVisitor, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, isConstructor, isInClosure, isInClosureConstructor, isInScriptBody, isNotClinit, isNotExplicitThisInClosure, isStaticConstructor, isStaticContext, isStaticMethod, setInterfaceClassLoadingClass, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, 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
 

Field Detail

isInStaticallyCheckedMethod

protected boolean isInStaticallyCheckedMethod
Constructor Detail

StaticTypesWriterController

public StaticTypesWriterController(WriterController normalController)
Method Detail

init

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

setMethodNode

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

setConstructorNode

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

isFastPath

public boolean isFastPath()
Overrides:
isFastPath in class DelegatingController

getCallSiteWriter

public CallSiteWriter getCallSiteWriter()
Overrides:
getCallSiteWriter in class DelegatingController

getStatementWriter

public StatementWriter getStatementWriter()
Overrides:
getStatementWriter in class DelegatingController

getTypeChooser

public TypeChooser getTypeChooser()
Overrides:
getTypeChooser in class DelegatingController

getInvocationWriter

public InvocationWriter getInvocationWriter()
Overrides:
getInvocationWriter in class DelegatingController

getBinaryExpressionHelper

public BinaryExpressionHelper getBinaryExpressionHelper()
Overrides:
getBinaryExpressionHelper in class DelegatingController

getUnaryExpressionHelper

public UnaryExpressionHelper getUnaryExpressionHelper()
Overrides:
getUnaryExpressionHelper in class DelegatingController

getClosureWriter

public ClosureWriter getClosureWriter()
Overrides:
getClosureWriter in class DelegatingController