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 WriterController` | `optimizeForInt`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesWriterController (WriterController normalController)`

  - ### Methods Summary

    Methods
    Type Params | Return 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` | `getAcg, getAssertionWriter, getBinaryExpressionHelper, getBytecodeVersion, getCallSiteWriter, getClassName, getClassNode, getClassVisitor, getClosureWriter, getCompileStack, getConstructorNode, getContext, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInternalClassName, getInvocationWriter, getLineNumber, getMethodNode, getMethodVisitor, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, getStatementWriter, getTypeChooser, getUnaryExpressionHelper, init, isConstructor, isFastPath, isInClosure, isInClosureConstructor, isInScriptBody, isNotClinit, isNotExplicitThisInClosure, isStaticConstructor, isStaticContext, isStaticMethod, resetLineNumber, setConstructorNode, setInterfaceClassLoadingClass, setLineNumber, setMethodNode, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, switchToSlowPath`
    `class WriterController` | `getAcg, getAssertionWriter, getBinaryExpressionHelper, getBytecodeVersion, getCallSiteWriter, getClassName, getClassNode, getClassVisitor, getClosureWriter, getCompileStack, getConstructorNode, getContext, getCv, getInterfaceClassLoadingClass, getInternalBaseClassName, getInternalClassName, getInvocationWriter, getLineNumber, getMethodNode, getMethodVisitor, getNextHelperMethodIndex, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, getStatementWriter, getSuperMethodNames, getTypeChooser, getUnaryExpressionHelper, init, isConstructor, isFastPath, isInClosure, isInClosureConstructor, isInScriptBody, isNotClinit, isNotExplicitThisInClosure, isStaticConstructor, isStaticContext, isStaticMethod, resetLineNumber, setConstructorNode, setInterfaceClassLoadingClass, setLineNumber, setMethodNode, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, switchToSlowPath`
    `class Object` | `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)