OptimizingStatementWriter (groovy 2.4.7 API)
Date: 2016-06-03

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

  - ### Methods Summary

    Methods
    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, writeForLoopWithClosureList, writeForStatement, writeIfElse, writeIteratorHasNext, writeIteratorNext, writeReturn, writeStatementLabel, writeSwitch, writeSynchronized, writeThrow, writeTryCatchFinally, writeWhileLoop`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

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