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

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

  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

  Modifier and Type | Method | Description
  --- | --- | ---
  `BinaryExpressionHelper` | `getBinaryExpressionHelper()` |
  `CallSiteWriter` | `getCallSiteWriter()` |
  `ClosureWriter` | `getClosureWriter()` |
  `InvocationWriter` | `getInvocationWriter()` |
  `LambdaWriter` | `getLambdaWriter()` |
  `MethodReferenceExpressionWriter` | `getMethodReferenceExpressionWriter()` |
  `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, getMethodPointerExpressionWriter, getMethodVisitor, getOperandStack, getOutermostClass, getReturnType, getSourceUnit, isConstructor, isInGeneratedFunction, isInGeneratedFunctionConstructor, isInScriptBody, isNotClinit, isStaticConstructor, isStaticContext, isStaticMethod, resetLineNumber, setInterfaceClassLoadingClass, setLineNumber, setMethodVisitor, shouldOptimizeForInt, switchToFastPath, switchToSlowPath`

  ### Methods inherited from class org.codehaus.groovy.classgen.asm.WriterController

  `getNextHelperMethodIndex, getSuperMethodNames`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### isInStaticallyCheckedMethod

    protected boolean isInStaticallyCheckedMethod

- ## Constructor Details

  - ### StaticTypesWriterController

    public StaticTypesWriterController​(WriterController normalController)

- ## Method Details

  - ### 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`

  - ### getRegularCallSiteWriter

    public CallSiteWriter getRegularCallSiteWriter()

  - ### 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`

  - ### getRegularInvocationWriter

    public InvocationWriter getRegularInvocationWriter()

  - ### getBinaryExpressionHelper

    public BinaryExpressionHelper getBinaryExpressionHelper()
    Overrides:
      `getBinaryExpressionHelper` in class `DelegatingController`

  - ### getMethodReferenceExpressionWriter

    public MethodReferenceExpressionWriter getMethodReferenceExpressionWriter()
    Overrides:
      `getMethodReferenceExpressionWriter` in class `DelegatingController`

  - ### getUnaryExpressionHelper

    public UnaryExpressionHelper getUnaryExpressionHelper()
    Overrides:
      `getUnaryExpressionHelper` in class `DelegatingController`

  - ### getClosureWriter

    public ClosureWriter getClosureWriter()
    Overrides:
      `getClosureWriter` in class `DelegatingController`

  - ### getLambdaWriter

    public LambdaWriter getLambdaWriter()
    Overrides:
      `getLambdaWriter` in class `DelegatingController`