org.codehaus.groovy.classgen.asm

## Class StatementWriter

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

Direct Known Subclasses:
  OptimizingStatementWriter, StaticTypesStatementWriter

    public class StatementWriter
    extends java.lang.Object

### Constructor Summary

Constructors
Constructor and Description
`StatementWriter(WriterController controller)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `writeAssert(AssertStatement statement)`
`void` `writeBlockStatement(BlockStatement block)`
`void` `writeBreak(BreakStatement statement)`
`protected void` `writeCaseStatement(CaseStatement statement, int switchVariableIndex, org.objectweb.asm.Label thisLabel, org.objectweb.asm.Label nextLabel)`
`void` `writeContinue(ContinueStatement statement)`
`void` `writeDoWhileLoop(DoWhileStatement loop)`
`void` `writeExpressionStatement(ExpressionStatement statement)`
`protected void` `writeForInLoop(ForStatement loop)`
`protected void` `writeForLoopWithClosureList(ForStatement loop)`
`void` `writeForStatement(ForStatement loop)`
`void` `writeIfElse(IfStatement ifElse)`
`protected void` `writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)`
`protected void` `writeIteratorNext(org.objectweb.asm.MethodVisitor mv)`
`void` `writeReturn(ReturnStatement statement)`
`protected void` `writeStatementLabel(Statement statement)`
`void` `writeSwitch(SwitchStatement statement)`
`void` `writeSynchronized(SynchronizedStatement statement)`
`void` `writeThrow(ThrowStatement statement)`
`void` `writeTryCatchFinally(TryCatchStatement statement)`
`void` `writeWhileLoop(WhileStatement loop)`

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

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

### Constructor Detail

#### StatementWriter

    public StatementWriter(WriterController controller)

### Method Detail

#### writeStatementLabel

    protected void writeStatementLabel(Statement statement)

#### writeBlockStatement

    public void writeBlockStatement(BlockStatement block)

#### writeForStatement

    public void writeForStatement(ForStatement loop)

#### writeIteratorHasNext

    protected void writeIteratorHasNext(org.objectweb.asm.MethodVisitor mv)

#### writeIteratorNext

    protected void writeIteratorNext(org.objectweb.asm.MethodVisitor mv)

#### writeForInLoop

    protected void writeForInLoop(ForStatement loop)

#### writeForLoopWithClosureList

    protected void writeForLoopWithClosureList(ForStatement loop)

#### writeWhileLoop

    public void writeWhileLoop(WhileStatement loop)

#### writeDoWhileLoop

    public void writeDoWhileLoop(DoWhileStatement loop)

#### writeIfElse

    public void writeIfElse(IfStatement ifElse)

#### writeTryCatchFinally

    public void writeTryCatchFinally(TryCatchStatement statement)

#### writeSwitch

    public void writeSwitch(SwitchStatement statement)

#### writeCaseStatement

    protected void writeCaseStatement(CaseStatement statement,
                                      int switchVariableIndex,
                                      org.objectweb.asm.Label thisLabel,
                                      org.objectweb.asm.Label nextLabel)

#### writeBreak

    public void writeBreak(BreakStatement statement)

#### writeContinue

    public void writeContinue(ContinueStatement statement)

#### writeSynchronized

    public void writeSynchronized(SynchronizedStatement statement)

#### writeAssert

    public void writeAssert(AssertStatement statement)

#### writeThrow

    public void writeThrow(ThrowStatement statement)

#### writeReturn

    public void writeReturn(ReturnStatement statement)

#### writeExpressionStatement

    public void writeExpressionStatement(ExpressionStatement statement)