StaticTypesWriterController (groovy 2.4.5 API)
Date: 2015-09-17

Package: org.codehaus.groovy.classgen.asm.sc

## [Java] Class StaticTypesWriterController

- 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.

  Authors:
    Cedric Champeau

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected boolean` | `isInStaticallyCheckedMethod` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class DelegatingController` | `optimizeForInt`
    `class WriterController` | `optimizeForInt`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesWriterController (WriterController normalController)`

  - ### Methods Summary

    Methods
    Type | Name and 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)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class DelegatingController` | `getClassNode, setLineNumber, isStaticConstructor, isNotClinit, getMethodVisitor, getInternalClassName, getOperandStack, getCompileStack, getClassVisitor, setMethodVisitor, getAcg, getSourceUnit, setMethodNode, isFastPath, setConstructorNode, getCallSiteWriter, getStatementWriter, getTypeChooser, getAssertionWriter, getBinaryExpressionHelper, getUnaryExpressionHelper, getClosureWriter, getConstructorNode, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInvocationWriter, getMethodNode, getOutermostClass, isInClosure, isInClosureConstructor, isInScriptBody, isNotExplicitThisInClosure, isStaticContext, isStaticMethod, setInterfaceClassLoadingClass, shouldOptimizeForInt, switchToFastPath, switchToSlowPath, getBytecodeVersion, resetLineNumber, getReturnType, isConstructor, init, getContext, getClassName, getLineNumber, getNextHelperMethodIndex, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`
    `class WriterController` | `getClassNode, setLineNumber, isStaticConstructor, isNotClinit, getMethodVisitor, getInternalClassName, getOperandStack, getCompileStack, getClassVisitor, setMethodVisitor, getAcg, getSourceUnit, setMethodNode, isFastPath, setConstructorNode, getCallSiteWriter, getStatementWriter, getTypeChooser, getAssertionWriter, getBinaryExpressionHelper, getUnaryExpressionHelper, getClosureWriter, getConstructorNode, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInvocationWriter, getMethodNode, getOutermostClass, isInClosure, isInClosureConstructor, isInScriptBody, isNotExplicitThisInClosure, isStaticContext, isStaticMethod, setInterfaceClassLoadingClass, shouldOptimizeForInt, switchToFastPath, switchToSlowPath, getBytecodeVersion, resetLineNumber, getNextHelperMethodIndex, getReturnType, isConstructor, init, getContext, getClassName, getLineNumber, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Field Detail

    - #### protected boolean isInStaticallyCheckedMethod

  - ### Constructor Detail

    - #### public StaticTypesWriterController(WriterController normalController)

  - ### Method Detail

    - #### @Override public BinaryExpressionHelper getBinaryExpressionHelper()

    - #### @Override public CallSiteWriter getCallSiteWriter()

    - #### @Override public ClosureWriter getClosureWriter()

    - #### @Override public InvocationWriter getInvocationWriter()

    - #### public CallSiteWriter getRegularCallSiteWriter()

    - #### public InvocationWriter getRegularInvocationWriter()

    - #### @Override public StatementWriter getStatementWriter()

    - #### @Override public TypeChooser getTypeChooser()

    - #### @Override public UnaryExpressionHelper getUnaryExpressionHelper()

    - #### @Override public void init(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn)

    - #### @Override public boolean isFastPath()

    - #### @Override public void setConstructorNode(ConstructorNode cn)

    - #### @Override public void setMethodNode(MethodNode mn)