Top Fields Constructors Methods
org.codehaus.groovy.classgen.asm

public Class StatementWriter

extends Object
Class Inheritance
Known Direct Subclasses
org.codehaus.groovy.classgen.asm.sc.StaticTypesStatementWriter, org.codehaus.groovy.classgen.asm.OptimizingStatementWriter
Imports
org.codehaus.groovy.ast.ClassHelper, .ClassNode, .MethodNode, .Parameter, org.codehaus.groovy.ast.expr.ArgumentListExpression, .BooleanExpression, .ClosureListExpression, .ConstantExpression, .EmptyExpression, .Expression, .MethodCallExpression, org.codehaus.groovy.ast.stmt.AssertStatement, .BlockStatement, .BreakStatement, .CaseStatement, .CatchStatement, .ContinueStatement, .DoWhileStatement, .ExpressionStatement, .ForStatement, .IfStatement, .ReturnStatement, .Statement, .SwitchStatement, .SynchronizedStatement, .ThrowStatement, .TryCatchStatement, .WhileStatement, org.codehaus.groovy.classgen.asm.CompileStack.BlockRecorder, org.objectweb.asm.Label, .MethodVisitor, java.util.Iterator, .List, .Optional, java.util.function.Consumer

Field Summary

Modifier and TypeField and Description
protected final WriterController
private static final MethodCaller
private static final MethodCaller

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private boolean
private CompileStack.BlockRecorder
makeBlockRecorder(final Statement finallyStatement)

private void
visitConditionOfLoopingStatement(final BooleanExpression expression, final Label breakLabel, final MethodVisitor mv)

private void
public void
writeAssert(final AssertStatement statement)

public void
public void
writeBreak(final BreakStatement statement)

private void
writeCaseStatement(final CaseStatement statement, final int switchVariableIndex, final Label thisLabel, final Label nextLabel)

public void
public void
public void
protected void
writeForInLoop(final ForStatement statement)

protected void
protected void
public void
public void
writeIfElse(final IfStatement statement)

protected void
protected void
public void
writeReturn(final ReturnStatement statement)

protected void
writeStatementLabel(final Statement statement)

public void
writeSwitch(final SwitchStatement statement)

public void
public void
writeThrow(final ThrowStatement statement)

public void
public void
writeWhileLoop(final WhileStatement statement)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

controllerback to summary
protected final WriterController controller
iteratorHasNextMethodback to summary
private static final MethodCaller iteratorHasNextMethod
iteratorNextMethodback to summary
private static final MethodCaller iteratorNextMethod

Constructor Detail

StatementWriterback to summary
public StatementWriter(final WriterController controller)

Method Detail

isMethodOrConstructorNonEmptyBlockback to summary
private boolean isMethodOrConstructorNonEmptyBlock(final BlockStatement block)
makeBlockRecorderback to summary
private CompileStack.BlockRecorder makeBlockRecorder(final Statement finallyStatement)
visitConditionOfLoopingStatementback to summary
private void visitConditionOfLoopingStatement(final BooleanExpression expression, final Label breakLabel, final MethodVisitor mv)
visitExpressionOfLoopStatementback to summary
private void visitExpressionOfLoopStatement(final Expression expression)
writeAssertback to summary
public void writeAssert(final AssertStatement statement)
writeBlockStatementback to summary
public void writeBlockStatement(final BlockStatement block)
writeBreakback to summary
public void writeBreak(final BreakStatement statement)
writeCaseStatementback to summary
private void writeCaseStatement(final CaseStatement statement, final int switchVariableIndex, final Label thisLabel, final Label nextLabel)
writeContinueback to summary
public void writeContinue(final ContinueStatement statement)
writeDoWhileLoopback to summary
public void writeDoWhileLoop(final DoWhileStatement statement)
writeExpressionStatementback to summary
public void writeExpressionStatement(final ExpressionStatement statement)
writeForInLoopback to summary
protected void writeForInLoop(final ForStatement statement)
writeForInLoopControlAndBlockback to summary
protected void writeForInLoopControlAndBlock(ForStatement statement)
writeForLoopWithClosureListback to summary
protected void writeForLoopWithClosureList(final ForStatement statement)
writeForStatementback to summary
public void writeForStatement(final ForStatement statement)
writeIfElseback to summary
public void writeIfElse(final IfStatement statement)
writeIteratorHasNextback to summary
protected void writeIteratorHasNext(final MethodVisitor mv)
writeIteratorNextback to summary
protected void writeIteratorNext(final MethodVisitor mv)
writeReturnback to summary
public void writeReturn(final ReturnStatement statement)
writeStatementLabelback to summary
protected void writeStatementLabel(final Statement statement)
writeSwitchback to summary
public void writeSwitch(final SwitchStatement statement)
writeSynchronizedback to summary
public void writeSynchronized(final SynchronizedStatement statement)
writeThrowback to summary
public void writeThrow(final ThrowStatement statement)
writeTryCatchFinallyback to summary
public void writeTryCatchFinally(final TryCatchStatement statement)
writeWhileLoopback to summary
public void writeWhileLoop(final WhileStatement statement)