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.

Author:
  Jochen "blackdrag" Theodorou

## Field Summary

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

`optimizeForInt`

## Constructor Summary

Constructors
Constructor
Description
`DelegatingController(WriterController normalController)`

## Method Summary

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 Details

### DelegatingController

public DelegatingController(WriterController normalController)

## Method Details

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