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, transformStructuredChildrenInReverse
private 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 AbstractStructuredStatement
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public StructuredBreak maybeTightenToLocal(java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> scopes)