Class StaticTypesWriterController
java.lang.Object
org.codehaus.groovy.classgen.asm.WriterController
org.codehaus.groovy.classgen.asm.DelegatingController
org.codehaus.groovy.classgen.asm.sc.StaticTypesWriterController
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
FieldsFields inherited from class org.codehaus.groovy.classgen.asm.WriterController
optimizeForInt -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCallSiteWriterFor(Expression expression) voidinit(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn) booleanbooleanGROOVY-11968: returnstruewhen the current statically compiled method contains one or more sub-expressions that will be routed through the regular (non-static) call site writer viagetCallSiteWriterFor(org.codehaus.groovy.ast.expr.Expression).voidvoidMethods inherited from class org.codehaus.groovy.classgen.asm.DelegatingController
getAcg, getAssertionWriter, getBytecodeVersion, getClassName, getClassNode, getClassVisitor, getCompileStack, getConstructorNode, getContext, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInternalClassName, getLineNumber, getMethodNode, getMethodPointerExpressionWriter, getMethodVisitor, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, isConstructor, isInGeneratedFunction, isInGeneratedFunctionConstructor, isInScriptBody, isNotClinit, isStaticConstructor, isStaticContext, isStaticMethod, resetLineNumber, setInterfaceClassLoadingClass, setLineNumber, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, switchToSlowPathMethods inherited from class org.codehaus.groovy.classgen.asm.WriterController
getNextHelperMethodIndex, getSuperMethodNames, getThisType, visitLineNumber
-
Field Details
-
isInStaticallyCheckedMethod
protected boolean isInStaticallyCheckedMethod
-
-
Constructor Details
-
StaticTypesWriterController
-
-
Method Details
-
init
public void init(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn) - Overrides:
initin classDelegatingController
-
setMethodNode
- Overrides:
setMethodNodein classDelegatingController
-
setConstructorNode
- Overrides:
setConstructorNodein classDelegatingController
-
methodHasDynamicResolution
public boolean methodHasDynamicResolution()GROOVY-11968: returnstruewhen the current statically compiled method contains one or more sub-expressions that will be routed through the regular (non-static) call site writer viagetCallSiteWriterFor(org.codehaus.groovy.ast.expr.Expression). The regular writer's per-method state must then be initialized at method entry. -
isFastPath
public boolean isFastPath()- Overrides:
isFastPathin classDelegatingController
-
getCallSiteWriter
- Overrides:
getCallSiteWriterin classDelegatingController
-
getCallSiteWriterFor
- Overrides:
getCallSiteWriterForin classDelegatingController
-
getRegularCallSiteWriter
-
getStatementWriter
- Overrides:
getStatementWriterin classDelegatingController
-
getTypeChooser
- Overrides:
getTypeChooserin classDelegatingController
-
getInvocationWriter
- Overrides:
getInvocationWriterin classDelegatingController
-
getRegularInvocationWriter
-
getBinaryExpressionHelper
- Overrides:
getBinaryExpressionHelperin classDelegatingController
-
getMethodReferenceExpressionWriter
- Overrides:
getMethodReferenceExpressionWriterin classDelegatingController
-
getUnaryExpressionHelper
- Overrides:
getUnaryExpressionHelperin classDelegatingController
-
getClosureWriter
- Overrides:
getClosureWriterin classDelegatingController
-
getLambdaWriter
- Overrides:
getLambdaWriterin classDelegatingController
-