Package: org.codehaus.groovy.classgen.asm

## [Java] Class OptimizingStatementWriter

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

-     public class OptimizingStatementWriter
      extends StatementWriter

- - ### 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
    --- | --- | ---
    `` | `public static void` | `setNodeMeta(TypeChooser chooser, ClassNode classNode)`
    `` | `public void` | `writeBlockStatement(BlockStatement statement)`
    `` | `public void` | `writeDoWhileLoop(DoWhileStatement statement)`
    `` | `public void` | `writeExpressionStatement(ExpressionStatement statement)`
    `` | `protected void` | `writeForInLoop(ForStatement statement)`
    `` | `protected void` | `writeForLoopWithClosureList(ForStatement statement)`
    `` | `public void` | `writeIfElse(IfStatement statement)`
    `` | `protected void` | `writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)`
    `` | `protected void` | `writeIteratorNext(org.objectweb.asm.MethodVisitor mv)`
    `` | `public void` | `writeReturn(ReturnStatement statement)`
    `` | `public void` | `writeWhileLoop(WhileStatement statement)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class StatementWriter` | `writeAssert, writeBlockStatement, writeBreak, writeContinue, writeDoWhileLoop, writeExpressionStatement, writeForInLoop, writeForInLoopControlAndBlock, 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)

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