Package: org.codehaus.groovy.classgen.asm

## [Java] Class OptimizingStatementWriter

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

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

  - ### Constructor Summary

    Constructors
    Constructor and description
    `OptimizingStatementWriter (WriterController controller)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `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, writeContinue, writeDoWhileLoop, writeExpressionStatement, writeForInLoop, writeForLoopWithClosureList, writeForStatement, writeIfElse, writeIteratorHasNext, writeIteratorNext, writeReturn, writeStatementLabel, writeSwitch, writeSynchronized, writeThrow, writeTryCatchFinally, writeWhileLoop`

- - ### Constructor Detail

    - #### public OptimizingStatementWriter(WriterController controller)

  - ### Method Detail

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

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeBlockStatement(BlockStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeDoWhileLoop(DoWhileStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeExpressionStatement(ExpressionStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void writeForInLoop(ForStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void writeForLoopWithClosureList(ForStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeIfElse(IfStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride protected void writeIteratorNext(org.objectweb.asm.MethodVisitor mv)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeReturn(ReturnStatement statement)

    - #### @com.github.javaparser.ast.expr.MarkerAnnotationExprOverride public void writeWhileLoop(WhileStatement statement)