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.
  Author:
    Jochen "blackdrag" Theodorou

- - ### Field Summary

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

      `optimizeForInt`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelegatingController(WriterController normalController)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AsmClassGenerator` | `getAcg()`
    `AssertionWriter` | `getAssertionWriter()`
    `BinaryExpressionHelper` | `getBinaryExpressionHelper()`
    `int` | `getBytecodeVersion()`
    `CallSiteWriter` | `getCallSiteWriter()`
    `java.lang.String` | `getClassName()`
    `ClassNode` | `getClassNode()`
    `org.objectweb.asm.ClassVisitor` | `getClassVisitor()`
    `ClosureWriter` | `getClosureWriter()`
    `CompileStack` | `getCompileStack()`
    `ConstructorNode` | `getConstructorNode()`
    `GeneratorContext` | `getContext()`
    `org.objectweb.asm.ClassVisitor` | `getCv()`
    `InterfaceHelperClassNode` | `getInterfaceClassLoadingClass()`
    `java.lang.String` | `getInternalBaseClassName()`
    `java.lang.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 java.lang.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 java.lang.String getInternalBaseClassName()

      Overrides:
        `getInternalBaseClassName` in class `WriterController`

    - #### getInternalClassName

          public java.lang.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`