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