org.codehaus.groovy.classgen.asm

## Class StatementWriter

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

- Direct Known Subclasses:
    OptimizingStatementWriter, StaticTypesStatementWriter

      public class StatementWriter
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StatementWriter(WriterController controller)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `writeAssert(AssertStatement statement)`
    `void` | `writeBlockStatement(BlockStatement block)`
    `void` | `writeBreak(BreakStatement statement)`
    `protected void` | `writeCaseStatement(CaseStatement statement, int switchVariableIndex, org.objectweb.asm.Label thisLabel, org.objectweb.asm.Label nextLabel)`
    `void` | `writeContinue(ContinueStatement statement)`
    `void` | `writeDoWhileLoop(DoWhileStatement loop)`
    `void` | `writeExpressionStatement(ExpressionStatement statement)`
    `protected void` | `writeForInLoop(ForStatement loop)`
    `protected void` | `writeForLoopWithClosureList(ForStatement loop)`
    `void` | `writeForStatement(ForStatement loop)`
    `void` | `writeIfElse(IfStatement ifElse)`
    `protected void` | `writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)`
    `protected void` | `writeIteratorNext(org.objectweb.asm.MethodVisitor mv)`
    `void` | `writeReturn(ReturnStatement statement)`
    `protected void` | `writeStatementLabel(Statement statement)`
    `void` | `writeSwitch(SwitchStatement statement)`
    `void` | `writeSynchronized(SynchronizedStatement statement)`
    `void` | `writeThrow(ThrowStatement statement)`
    `void` | `writeTryCatchFinally(TryCatchStatement statement)`
    `void` | `writeWhileLoop(WhileStatement loop)`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### StatementWriter

          public StatementWriter(WriterController controller)

  - ### Method Detail

    - #### writeStatementLabel

          protected void writeStatementLabel(Statement statement)

    - #### writeBlockStatement

          public void writeBlockStatement(BlockStatement block)

    - #### writeForStatement

          public void writeForStatement(ForStatement loop)

    - #### writeIteratorHasNext

          protected void writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)

    - #### writeIteratorNext

          protected void writeIteratorNext(org.objectweb.asm.MethodVisitor mv)

    - #### writeForInLoop

          protected void writeForInLoop(ForStatement loop)

    - #### writeForLoopWithClosureList

          protected void writeForLoopWithClosureList(ForStatement loop)

    - #### writeWhileLoop

          public void writeWhileLoop(WhileStatement loop)

    - #### writeDoWhileLoop

          public void writeDoWhileLoop(DoWhileStatement loop)

    - #### writeIfElse

          public void writeIfElse(IfStatement ifElse)

    - #### writeTryCatchFinally

          public void writeTryCatchFinally(TryCatchStatement statement)

    - #### writeSwitch

          public void writeSwitch(SwitchStatement statement)

    - #### writeCaseStatement

          protected void writeCaseStatement(CaseStatement statement,
                                            int switchVariableIndex,
                                            org.objectweb.asm.Label thisLabel,
                                            org.objectweb.asm.Label nextLabel)

    - #### writeBreak

          public void writeBreak(BreakStatement statement)

    - #### writeContinue

          public void writeContinue(ContinueStatement statement)

    - #### writeSynchronized

          public void writeSynchronized(SynchronizedStatement statement)

    - #### writeAssert

          public void writeAssert(AssertStatement statement)

    - #### writeThrow

          public void writeThrow(ThrowStatement statement)

    - #### writeReturn

          public void writeReturn(ReturnStatement statement)

    - #### writeExpressionStatement

          public void writeExpressionStatement(ExpressionStatement statement)