Class StaticTypesWriterController
- java.lang.Object
-
- org.codehaus.groovy.classgen.asm.WriterController
-
- org.codehaus.groovy.classgen.asm.DelegatingController
-
- org.codehaus.groovy.classgen.asm.sc.StaticTypesWriterController
-
public class StaticTypesWriterController extends DelegatingController
An alternativeWriterController
which handles static types and method dispatch. In case of a "mixed mode" where only some methods are annotated withTypeChecked
then this writer will delegate to the classic writer controller.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
isInStaticallyCheckedMethod
-
Fields inherited from class org.codehaus.groovy.classgen.asm.WriterController
optimizeForInt
-
-
Constructor Summary
Constructors Constructor Description StaticTypesWriterController(WriterController normalController)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BinaryExpressionHelper
getBinaryExpressionHelper()
CallSiteWriter
getCallSiteWriter()
ClosureWriter
getClosureWriter()
InvocationWriter
getInvocationWriter()
CallSiteWriter
getRegularCallSiteWriter()
InvocationWriter
getRegularInvocationWriter()
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, getBytecodeVersion, getClassName, getClassNode, getClassVisitor, getCompileStack, getConstructorNode, getContext, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInternalClassName, getLineNumber, getMethodNode, getMethodVisitor, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, isConstructor, isInClosure, isInClosureConstructor, isInScriptBody, isNotClinit, isNotExplicitThisInClosure, isStaticConstructor, isStaticContext, isStaticMethod, resetLineNumber, setInterfaceClassLoadingClass, setLineNumber, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, switchToSlowPath
-
Methods inherited from class org.codehaus.groovy.classgen.asm.WriterController
getNextHelperMethodIndex, getSuperMethodNames
-
-
-
-
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 classDelegatingController
-
setMethodNode
public void setMethodNode(MethodNode mn)
- Overrides:
setMethodNode
in classDelegatingController
-
setConstructorNode
public void setConstructorNode(ConstructorNode cn)
- Overrides:
setConstructorNode
in classDelegatingController
-
isFastPath
public boolean isFastPath()
- Overrides:
isFastPath
in classDelegatingController
-
getCallSiteWriter
public CallSiteWriter getCallSiteWriter()
- Overrides:
getCallSiteWriter
in classDelegatingController
-
getRegularCallSiteWriter
public CallSiteWriter getRegularCallSiteWriter()
-
getStatementWriter
public StatementWriter getStatementWriter()
- Overrides:
getStatementWriter
in classDelegatingController
-
getTypeChooser
public TypeChooser getTypeChooser()
- Overrides:
getTypeChooser
in classDelegatingController
-
getInvocationWriter
public InvocationWriter getInvocationWriter()
- Overrides:
getInvocationWriter
in classDelegatingController
-
getRegularInvocationWriter
public InvocationWriter getRegularInvocationWriter()
-
getBinaryExpressionHelper
public BinaryExpressionHelper getBinaryExpressionHelper()
- Overrides:
getBinaryExpressionHelper
in classDelegatingController
-
getUnaryExpressionHelper
public UnaryExpressionHelper getUnaryExpressionHelper()
- Overrides:
getUnaryExpressionHelper
in classDelegatingController
-
getClosureWriter
public ClosureWriter getClosureWriter()
- Overrides:
getClosureWriter
in classDelegatingController
-
-