Package org.codehaus.groovy.classgen.asm

## Class WriterController

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

- Direct Known Subclasses:
    `DelegatingController`

      public class WriterController
      extends Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `boolean` | `optimizeForInt` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WriterController()` |

  - ### 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()` |
    `int` | `getNextHelperMethodIndex()` |
    `OperandStack` | `getOperandStack()` |
    `ClassNode` | `getOutermostClass()` |
    `ClassNode` | `getReturnType()` |
    `SourceUnit` | `getSourceUnit()` |
    `StatementWriter` | `getStatementWriter()` |
    `List<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 String getInternalClassName()

    - #### getInvocationWriter

          public InvocationWriter getInvocationWriter()

    - #### getBinaryExpressionHelper

          public BinaryExpressionHelper getBinaryExpressionHelper()

    - #### getUnaryExpressionHelper

          public UnaryExpressionHelper getUnaryExpressionHelper()

    - #### getAssertionWriter

          public AssertionWriter getAssertionWriter()

    - #### getTypeChooser

          public TypeChooser getTypeChooser()

    - #### getInternalBaseClassName

          public 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 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 List<String> getSuperMethodNames()