org.codehaus.groovy.classgen.asm

## Class WriterController

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

Direct Known Subclasses:
  DelegatingController

    public class WriterController
    extends java.lang.Object

### Field Summary

Fields
`boolean` `optimizeForInt`

### Constructor Summary

Constructors
Constructor and Description
`WriterController()`

### 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()`
`int` `getNextHelperMethodIndex()`
`OperandStack` `getOperandStack()`
`ClassNode` `getOutermostClass()`
`ClassNode` `getReturnType()`
`SourceUnit` `getSourceUnit()`
`StatementWriter` `getStatementWriter()`
`java.util.List<java.lang.String>` `getSuperMethodNames()`
`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 java.lang.Object

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

### Field Detail

#### optimizeForInt

    public boolean optimizeForInt

### Constructor Detail

#### WriterController

    public WriterController()

### Method Detail

#### init

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

#### getAcg

    public AsmClassGenerator getAcg()

#### setMethodVisitor

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

#### getMethodVisitor

    public org.objectweb.asm.MethodVisitor getMethodVisitor()

#### getCompileStack

    public CompileStack getCompileStack()

#### getOperandStack

    public OperandStack getOperandStack()

#### getClassNode

    public ClassNode getClassNode()

#### getCallSiteWriter

    public CallSiteWriter getCallSiteWriter()

#### getClassVisitor

    public org.objectweb.asm.ClassVisitor getClassVisitor()

#### getClosureWriter

    public ClosureWriter getClosureWriter()

#### getCv

    public org.objectweb.asm.ClassVisitor getCv()

#### getInternalClassName

    public java.lang.String getInternalClassName()

#### getInvocationWriter

    public InvocationWriter getInvocationWriter()

#### getBinaryExpressionHelper

    public BinaryExpressionHelper getBinaryExpressionHelper()

#### getUnaryExpressionHelper

    public UnaryExpressionHelper getUnaryExpressionHelper()

#### getAssertionWriter

    public AssertionWriter getAssertionWriter()

#### getTypeChooser

    public TypeChooser getTypeChooser()

#### getInternalBaseClassName

    public java.lang.String getInternalBaseClassName()

#### getMethodNode

    public MethodNode getMethodNode()

#### setMethodNode

    public void setMethodNode(MethodNode mn)

#### getConstructorNode

    public ConstructorNode getConstructorNode()

#### setConstructorNode

    public void setConstructorNode(ConstructorNode cn)

#### isNotClinit

    public boolean isNotClinit()

#### getSourceUnit

    public SourceUnit getSourceUnit()

#### isStaticContext

    public boolean isStaticContext()

#### isInClosure

    public boolean isInClosure()

#### isInClosureConstructor

    public boolean isInClosureConstructor()

#### isNotExplicitThisInClosure

    public boolean isNotExplicitThisInClosure(boolean implicitThis)

#### isStaticMethod

    public boolean isStaticMethod()

#### getReturnType

    public ClassNode getReturnType()

#### isStaticConstructor

    public boolean isStaticConstructor()

#### isConstructor

    public boolean isConstructor()

#### isInScriptBody

    public boolean isInScriptBody()

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

#### getClassName

    public java.lang.String getClassName()

#### getOutermostClass

    public ClassNode getOutermostClass()

#### getContext

    public GeneratorContext getContext()

#### setInterfaceClassLoadingClass

    public void setInterfaceClassLoadingClass(InterfaceHelperClassNode ihc)

#### getInterfaceClassLoadingClass

    public InterfaceHelperClassNode getInterfaceClassLoadingClass()

#### shouldOptimizeForInt

    public boolean shouldOptimizeForInt()

#### getStatementWriter

    public StatementWriter getStatementWriter()

#### switchToFastPath

    public void switchToFastPath()

#### switchToSlowPath

    public void switchToSlowPath()

#### isFastPath

    public boolean isFastPath()

#### getBytecodeVersion

    public int getBytecodeVersion()

#### getLineNumber

    public int getLineNumber()

#### setLineNumber

    public void setLineNumber(int n)

#### resetLineNumber

    public void resetLineNumber()

#### getNextHelperMethodIndex

    public int getNextHelperMethodIndex()

#### getSuperMethodNames

    public java.util.List<java.lang.String> getSuperMethodNames()