public class ControlFlowContextManager extends Object
Modifier and Type | Field and Description |
---|---|
static int |
CONTEXT_NOT_FOUND
Manifest constant used by control-flow search routines for "not found"
|
static org.apache.flex.compiler.internal.as.codegen.ControlFlowContextManager.ControlFlowContextSearchCriteria |
FIND_ALL_CONTEXTS
Search criterion which finds all active contexts.
|
Modifier and Type | Method and Description |
---|---|
int |
getFinallyAlternativesSize() |
ExceptionHandlingContext |
getFinallyContext() |
InstructionList |
getFinallyFailSignal() |
InstructionList |
getFinallySwitch() |
InstructionList |
getScopeStackReinit()
Find all active scopes enclosing the currently active scope,
and synthesize an instruction fragment to re-initialize
the scope stack.
|
void |
startLabeledStatementControlFlowContext(LabeledStatementNode labeledStatement)
Called by a reduction's Prologue section to establish an active
LabeledStatementControlFlowContext . |
void |
startLoopControlFlowContext(IASNode loopContents)
Called by a reduction's Prologue section to establish an active
LoopControlFlowContext . |
void |
startSwitchContext(SwitchNode node)
Called by a reduction's Prologue section to establish an active
SwitchControlFlowContext . |
public static final org.apache.flex.compiler.internal.as.codegen.ControlFlowContextManager.ControlFlowContextSearchCriteria FIND_ALL_CONTEXTS
public static final int CONTEXT_NOT_FOUND
public void startLoopControlFlowContext(IASNode loopContents)
LoopControlFlowContext
.loopContents
- The syntax tree node containing the contents of the
body of the loop. This node is used to establish a new scope for labels
referenced by goto statements.public void startSwitchContext(SwitchNode node)
SwitchControlFlowContext
.node
- The syntax tree node for the switch statement.public void startLabeledStatementControlFlowContext(LabeledStatementNode labeledStatement) throws DuplicateLabelException
LabeledStatementControlFlowContext
.labeledStatement
- The syntax tree node for the labeled statement.DuplicateLabelException
public InstructionList getFinallySwitch()
public InstructionList getScopeStackReinit()
public ExceptionHandlingContext getFinallyContext()
public int getFinallyAlternativesSize()
public InstructionList getFinallyFailSignal()
Copyright © 2016 The Apache Software Foundation. All rights reserved.