Package org.codehaus.groovy.classgen.asm

# Class OptimizingStatementWriter

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

    public class OptimizingStatementWriter
    extends StatementWriter

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `OptimizingStatementWriter.ClassNodeSkip` |
  `static class` | `OptimizingStatementWriter.StatementMeta` |

- ## Field Summary

  ### Fields inherited from class org.codehaus.groovy.classgen.asm.StatementWriter

  `controller`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `OptimizingStatementWriter​(WriterController controller)` |

- ## Method Summary

  Modifier and Type | Method | 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)` |

  ### Methods inherited from class org.codehaus.groovy.classgen.asm.StatementWriter

  `writeAssert, writeBreak, writeContinue, writeForInLoopControlAndBlock, writeForStatement, writeStatementLabel, writeSwitch, writeSynchronized, writeThrow, writeTryCatchFinally`

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

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

- ## Constructor Details

  - ### OptimizingStatementWriter

    public OptimizingStatementWriter​(WriterController controller)

- ## Method Details

  - ### writeBlockStatement

    public void writeBlockStatement​(BlockStatement statement)
    Overrides:
      `writeBlockStatement` in class `StatementWriter`

  - ### writeDoWhileLoop

    public void writeDoWhileLoop​(DoWhileStatement statement)
    Overrides:
      `writeDoWhileLoop` in class `StatementWriter`

  - ### writeIteratorHasNext

    protected void writeIteratorHasNext​(org.objectweb.asm.MethodVisitor mv)
    Overrides:
      `writeIteratorHasNext` in class `StatementWriter`

  - ### writeIteratorNext

    protected void writeIteratorNext​(org.objectweb.asm.MethodVisitor mv)
    Overrides:
      `writeIteratorNext` in class `StatementWriter`

  - ### writeForInLoop

    protected void writeForInLoop​(ForStatement statement)
    Overrides:
      `writeForInLoop` in class `StatementWriter`

  - ### writeForLoopWithClosureList

    protected void writeForLoopWithClosureList​(ForStatement statement)
    Overrides:
      `writeForLoopWithClosureList` in class `StatementWriter`

  - ### writeWhileLoop

    public void writeWhileLoop​(WhileStatement statement)
    Overrides:
      `writeWhileLoop` in class `StatementWriter`

  - ### writeIfElse

    public void writeIfElse​(IfStatement statement)
    Overrides:
      `writeIfElse` in class `StatementWriter`

  - ### writeReturn

    public void writeReturn​(ReturnStatement statement)
    Overrides:
      `writeReturn` in class `StatementWriter`

  - ### writeExpressionStatement

    public void writeExpressionStatement​(ExpressionStatement statement)
    Overrides:
      `writeExpressionStatement` in class `StatementWriter`

  - ### setNodeMeta

    public static void setNodeMeta​(TypeChooser chooser, ClassNode classNode)