Package 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 Object

## Constructor Summary

Constructors
Constructor
Description
`StatementWriter(WriterController controller)`

## Method Summary

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

### StatementWriter

public StatementWriter(WriterController controller)

## Method Details

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