org.codehaus.groovy.classgen.asm
Class OptimizingStatementWriter

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

public class OptimizingStatementWriter
extends StatementWriter

A class to write out the optimized statements


Nested Class Summary
static class OptimizingStatementWriter.ClassNodeSkip
           
static class OptimizingStatementWriter.StatementMeta
           
 
Constructor Summary
OptimizingStatementWriter(WriterController controller)
           
 
Method Summary
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, writeCaseStatement, writeContinue, 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 Detail

OptimizingStatementWriter

public OptimizingStatementWriter(WriterController controller)
Method Detail

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)