public class StructuredBreak extends AbstractStructuredStatement
| Modifier and Type | Field and Description |
|---|---|
private BlockIdentifier |
breakBlock |
private boolean |
localBreak |
| Constructor and Description |
|---|
StructuredBreak(BytecodeLoc loc,
BlockIdentifier breakBlock,
boolean localBreak) |
| Modifier and Type | Method and Description |
|---|---|
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
BlockIdentifier |
getBreakBlock() |
BytecodeLoc |
getCombinedLoc() |
boolean |
isLocalBreak() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
StructuredBreak |
maybeTightenToLocal(java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> scopes) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
void |
transformStructuredChildren(StructuredStatementTransformer transformer,
StructuredScope scope) |
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, isScopeBlock, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverseprivate final BlockIdentifier breakBlock
private final boolean localBreak
public StructuredBreak(BytecodeLoc loc, BlockIdentifier breakBlock, boolean localBreak)
public BytecodeLoc getCombinedLoc()
public void collectTypeUsages(TypeUsageCollector collector)
public boolean isLocalBreak()
public BlockIdentifier getBreakBlock()
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
public void linearizeInto(java.util.List<StructuredStatement> out)
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>match in class AbstractStructuredStatementpublic void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public StructuredBreak maybeTightenToLocal(java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> scopes)