public class StaticTypesStatementWriter
extends StatementWriter
A class to write out the optimized statements.
| Fields inherited from class | Fields |
|---|---|
class StatementWriter |
controller |
| Constructor and description |
|---|
StaticTypesStatementWriter(StaticTypesWriterController controller)Creates a statement writer that favors statically typed loop and block generation. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
writeBlockStatement(BlockStatement statement)* Generates bytecode for a block statement by visiting each contained statement. * Pushes the block's variable scope, emits the statements, and pops afterward. * Named labels on the block create a breakable region so that break label
* within the block jumps to the end of it.
*
*
|
|
protected void |
writeForInLoop(ForStatement loop)* Generates bytecode for a for-in loop by calling iterator() on the
* collection expression and delegating loop control to
* writeForInLoopControlAndBlock.
*
*
|
| Methods inherited from class | Name |
|---|---|
class StatementWriter |
defineLoopIndexVariable, writeAssert, writeBlockStatement, writeBreak, writeContinue, writeDoWhileLoop, writeExpressionStatement, writeForInLoop, writeForInLoopControlAndBlock, writeForLoopWithClosureList, writeForStatement, writeIfElse, writeIteratorHasNext, writeIteratorNext, writeLoopBackEdge, writeReturn, writeStatementLabel, writeSwitch, writeSynchronized, writeThrow, writeTryCatchFinally, writeWhileLoop |
Creates a statement writer that favors statically typed loop and block generation.
* Generates bytecode for a block statement by visiting each contained statement.
* Pushes the block's variable scope, emits the statements, and pops afterward.
* Named labels on the block create a breakable region so that break label
* within the block jumps to the end of it.
*
*
block - the block statement to compile
* Generates bytecode for a for-in loop by calling iterator() on the
* collection expression and delegating loop control to
* writeForInLoopControlAndBlock.
*
*
statement - the for-in statement to compileCopyright © 2003-2026 The Apache Software Foundation. All rights reserved.