Package: org.codehaus.groovy.classgen.asm

## [Java] Class OptimizingStatementWriter

- org.codehaus.groovy.classgen.asm.OptimizingStatementWriter

- A class to write out the optimized statements

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `OptimizingStatementWriter.ClassNodeSkip` |
    `static class` | `OptimizingStatementWriter.StatementMeta` |

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class StatementWriter` | `controller`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `def` | `OptimizingStatementWriter(WriterController controller)`
    `` | `static void` | `setNodeMeta(TypeChooser chooser, ClassNode classNode)`
    `` | `void` | `writeBlockStatement(BlockStatement statement)`
    `` | `void` | `writeDoWhileLoop(DoWhileStatement statement)`
    `` | `void` | `writeExpressionStatement(ExpressionStatement statement)`
    `` | `protected void` | `writeForInLoop(ForStatement statement)`
    `` | `protected void` | `writeForLoopWithClosureList(ForStatement statement)`
    `` | `void` | `writeIfElse(IfStatement statement)`
    `` | `protected void` | `writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)`
    `` | `protected void` | `writeIteratorNext(org.objectweb.asm.MethodVisitor mv)`
    `` | `void` | `writeReturn(ReturnStatement statement)`
    `` | `void` | `writeWhileLoop(WhileStatement statement)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class StatementWriter` | `writeAssert, writeBlockStatement, writeBreak, writeCaseStatement, writeContinue, writeDoWhileLoop, writeExpressionStatement, writeForInLoop, writeForInLoopControlAndBlock, writeForLoopWithClosureList, writeForStatement, writeIfElse, writeIteratorHasNext, writeIteratorNext, writeReturn, writeStatementLabel, writeSwitch, writeSynchronized, writeThrow, writeTryCatchFinally, writeWhileLoop`

- - ### Method Detail

    - #### public def OptimizingStatementWriter(WriterController controller)

    - #### public static void setNodeMeta(TypeChooser chooser, ClassNode classNode)

    - #### @Override public void writeBlockStatement(BlockStatement statement)

    - #### @Override public void writeDoWhileLoop(DoWhileStatement statement)

    - #### @Override public void writeExpressionStatement(ExpressionStatement statement)

    - #### @Override protected void writeForInLoop(ForStatement statement)

    - #### @Override protected void writeForLoopWithClosureList(ForStatement statement)

    - #### @Override public void writeIfElse(IfStatement statement)

    - #### @Override protected void writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)

    - #### @Override protected void writeIteratorNext(org.objectweb.asm.MethodVisitor mv)

    - #### @Override public void writeReturn(ReturnStatement statement)

    - #### @Override public void writeWhileLoop(WhileStatement statement)