Package org.codehaus.groovy.classgen.asm

## Class DelegatingController

- java.lang.Object
- - org.codehaus.groovy.classgen.asm.WriterController
  - - org.codehaus.groovy.classgen.asm.DelegatingController

- Direct Known Subclasses:
    `StaticTypesWriterController`

      public class DelegatingController
      extends WriterController

  This class will delegate all calls to a WriterController given in the constructor.

- - ### Field Summary

    - ### Fields inherited from class org.codehaus.groovy.classgen.asm.WriterController

      `optimizeForInt`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DelegatingController​(WriterController normalController)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AsmClassGenerator` | `getAcg()` |
    `AssertionWriter` | `getAssertionWriter()` |
    `BinaryExpressionHelper` | `getBinaryExpressionHelper()` |
    `int` | `getBytecodeVersion()` |
    `CallSiteWriter` | `getCallSiteWriter()` |
    `String` | `getClassName()` |
    `ClassNode` | `getClassNode()` |
    `org.objectweb.asm.ClassVisitor` | `getClassVisitor()` |
    `ClosureWriter` | `getClosureWriter()` |
    `CompileStack` | `getCompileStack()` |
    `ConstructorNode` | `getConstructorNode()` |
    `GeneratorContext` | `getContext()` |
    `org.objectweb.asm.ClassVisitor` | `getCv()` |
    `InterfaceHelperClassNode` | `getInterfaceClassLoadingClass()` |
    `String` | `getInternalBaseClassName()` |
    `String` | `getInternalClassName()` |
    `InvocationWriter` | `getInvocationWriter()` |
    `int` | `getLineNumber()` |
    `MethodNode` | `getMethodNode()` |
    `org.objectweb.asm.MethodVisitor` | `getMethodVisitor()` |
    `OperandStack` | `getOperandStack()` |
    `ClassNode` | `getOutermostClass()` |
    `ClassNode` | `getReturnType()` |
    `SourceUnit` | `getSourceUnit()` |
    `StatementWriter` | `getStatementWriter()` |
    `TypeChooser` | `getTypeChooser()` |
    `UnaryExpressionHelper` | `getUnaryExpressionHelper()` |
    `void` | `init​(AsmClassGenerator asmClassGenerator, GeneratorContext gcon, org.objectweb.asm.ClassVisitor cv, ClassNode cn)` |
    `boolean` | `isConstructor()` |
    `boolean` | `isFastPath()` |
    `boolean` | `isInClosure()` |
    `boolean` | `isInClosureConstructor()` |
    `boolean` | `isInScriptBody()` |
    `boolean` | `isNotClinit()` |
    `boolean` | `isNotExplicitThisInClosure​(boolean implicitThis)` |
    `boolean` | `isStaticConstructor()` |
    `boolean` | `isStaticContext()` |
    `boolean` | `isStaticMethod()` |
    `void` | `resetLineNumber()` |
    `void` | `setConstructorNode​(ConstructorNode cn)` |
    `void` | `setInterfaceClassLoadingClass​(InterfaceHelperClassNode ihc)` |
    `void` | `setLineNumber​(int n)` |
    `void` | `setMethodNode​(MethodNode mn)` |
    `void` | `setMethodVisitor​(org.objectweb.asm.MethodVisitor methodVisitor)` |
    `boolean` | `shouldOptimizeForInt()` |
    `void` | `switchToFastPath()` |
    `void` | `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`

- - ### Constructor Detail

    - #### DelegatingController

          public DelegatingController​(WriterController normalController)

  - ### Method Detail

    - #### init

          public void init​(AsmClassGenerator asmClassGenerator,
                           GeneratorContext gcon,
                           org.objectweb.asm.ClassVisitor cv,
                           ClassNode cn)

      Overrides:
        `init` in class `WriterController`

    - #### setMethodNode

          public void setMethodNode​(MethodNode mn)

      Overrides:
        `setMethodNode` in class `WriterController`

    - #### setConstructorNode

          public void setConstructorNode​(ConstructorNode cn)

      Overrides:
        `setConstructorNode` in class `WriterController`

    - #### isFastPath

          public boolean isFastPath()

      Overrides:
        `isFastPath` in class `WriterController`

    - #### getCallSiteWriter

          public CallSiteWriter getCallSiteWriter()

      Overrides:
        `getCallSiteWriter` in class `WriterController`

    - #### getStatementWriter

          public StatementWriter getStatementWriter()

      Overrides:
        `getStatementWriter` in class `WriterController`

    - #### getTypeChooser

          public TypeChooser getTypeChooser()

      Overrides:
        `getTypeChooser` in class `WriterController`

    - #### getAcg

          public AsmClassGenerator getAcg()

      Overrides:
        `getAcg` in class `WriterController`

    - #### getAssertionWriter

          public AssertionWriter getAssertionWriter()

      Overrides:
        `getAssertionWriter` in class `WriterController`

    - #### getBinaryExpressionHelper

          public BinaryExpressionHelper getBinaryExpressionHelper()

      Overrides:
        `getBinaryExpressionHelper` in class `WriterController`

    - #### getUnaryExpressionHelper

          public UnaryExpressionHelper getUnaryExpressionHelper()

      Overrides:
        `getUnaryExpressionHelper` in class `WriterController`

    - #### getClassName

          public String getClassName()

      Overrides:
        `getClassName` in class `WriterController`

    - #### getClassNode

          public ClassNode getClassNode()

      Overrides:
        `getClassNode` in class `WriterController`

    - #### getClassVisitor

          public org.objectweb.asm.ClassVisitor getClassVisitor()

      Overrides:
        `getClassVisitor` in class `WriterController`

    - #### getClosureWriter

          public ClosureWriter getClosureWriter()

      Overrides:
        `getClosureWriter` in class `WriterController`

    - #### getCompileStack

          public CompileStack getCompileStack()

      Overrides:
        `getCompileStack` in class `WriterController`

    - #### getConstructorNode

          public ConstructorNode getConstructorNode()

      Overrides:
        `getConstructorNode` in class `WriterController`

    - #### getContext

          public GeneratorContext getContext()

      Overrides:
        `getContext` in class `WriterController`

    - #### getCv

          public org.objectweb.asm.ClassVisitor getCv()

      Overrides:
        `getCv` in class `WriterController`

    - #### getInterfaceClassLoadingClass

          public InterfaceHelperClassNode getInterfaceClassLoadingClass()

      Overrides:
        `getInterfaceClassLoadingClass` in class `WriterController`

    - #### getInternalBaseClassName

          public String getInternalBaseClassName()

      Overrides:
        `getInternalBaseClassName` in class `WriterController`

    - #### getInternalClassName

          public String getInternalClassName()

      Overrides:
        `getInternalClassName` in class `WriterController`

    - #### getInvocationWriter

          public InvocationWriter getInvocationWriter()

      Overrides:
        `getInvocationWriter` in class `WriterController`

    - #### getMethodNode

          public MethodNode getMethodNode()

      Overrides:
        `getMethodNode` in class `WriterController`

    - #### getMethodVisitor

          public org.objectweb.asm.MethodVisitor getMethodVisitor()

      Overrides:
        `getMethodVisitor` in class `WriterController`

    - #### getOperandStack

          public OperandStack getOperandStack()

      Overrides:
        `getOperandStack` in class `WriterController`

    - #### getOutermostClass

          public ClassNode getOutermostClass()

      Overrides:
        `getOutermostClass` in class `WriterController`

    - #### getReturnType

          public ClassNode getReturnType()

      Overrides:
        `getReturnType` in class `WriterController`

    - #### getSourceUnit

          public SourceUnit getSourceUnit()

      Overrides:
        `getSourceUnit` in class `WriterController`

    - #### isConstructor

          public boolean isConstructor()

      Overrides:
        `isConstructor` in class `WriterController`

    - #### isInClosure

          public boolean isInClosure()

      Overrides:
        `isInClosure` in class `WriterController`

    - #### isInClosureConstructor

          public boolean isInClosureConstructor()

      Overrides:
        `isInClosureConstructor` in class `WriterController`

    - #### isNotClinit

          public boolean isNotClinit()

      Overrides:
        `isNotClinit` in class `WriterController`

    - #### isInScriptBody

          public boolean isInScriptBody()

      Overrides:
        `isInScriptBody` in class `WriterController`
      Returns:
        true if we are in a script body, where all variables declared are no longer local variables but are properties

    - #### isNotExplicitThisInClosure

          public boolean isNotExplicitThisInClosure​(boolean implicitThis)

      Overrides:
        `isNotExplicitThisInClosure` in class `WriterController`

    - #### isStaticConstructor

          public boolean isStaticConstructor()

      Overrides:
        `isStaticConstructor` in class `WriterController`

    - #### isStaticContext

          public boolean isStaticContext()

      Overrides:
        `isStaticContext` in class `WriterController`

    - #### isStaticMethod

          public boolean isStaticMethod()

      Overrides:
        `isStaticMethod` in class `WriterController`

    - #### setInterfaceClassLoadingClass

          public void setInterfaceClassLoadingClass​(InterfaceHelperClassNode ihc)

      Overrides:
        `setInterfaceClassLoadingClass` in class `WriterController`

    - #### setMethodVisitor

          public void setMethodVisitor​(org.objectweb.asm.MethodVisitor methodVisitor)

      Overrides:
        `setMethodVisitor` in class `WriterController`

    - #### shouldOptimizeForInt

          public boolean shouldOptimizeForInt()

      Overrides:
        `shouldOptimizeForInt` in class `WriterController`

    - #### switchToFastPath

          public void switchToFastPath()

      Overrides:
        `switchToFastPath` in class `WriterController`

    - #### switchToSlowPath

          public void switchToSlowPath()

      Overrides:
        `switchToSlowPath` in class `WriterController`

    - #### getBytecodeVersion

          public int getBytecodeVersion()

      Overrides:
        `getBytecodeVersion` in class `WriterController`

    - #### setLineNumber

          public void setLineNumber​(int n)

      Overrides:
        `setLineNumber` in class `WriterController`

    - #### getLineNumber

          public int getLineNumber()

      Overrides:
        `getLineNumber` in class `WriterController`

    - #### resetLineNumber

          public void resetLineNumber()

      Overrides:
        `resetLineNumber` in class `WriterController`