Class StructuredBreak
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.StructuredBreak
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionStructuredBreak(BytecodeLoc loc, BlockIdentifier breakBlock, boolean localBreak) -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectTypeUsages(TypeUsageCollector collector) booleanvoidbooleanmatch(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) maybeTightenToLocal(Stack<Triplet<StructuredStatement, BlockIdentifier, Set<Op04StructuredStatement>>> scopes) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, isScopeBlock, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
-
Field Details
-
breakBlock
-
localBreak
private final boolean localBreak
-
-
Constructor Details
-
StructuredBreak
-
-
Method Details
-
dump
-
getCombinedLoc
-
collectTypeUsages
-
isLocalBreak
public boolean isLocalBreak() -
getBreakBlock
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) -
linearizeInto
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
matchin interfaceMatcher<StructuredStatement>- Overrides:
matchin classAbstractStructuredStatement
-
traceLocalVariableScope
-
rewriteExpressions
-
maybeTightenToLocal
public StructuredBreak maybeTightenToLocal(Stack<Triplet<StructuredStatement, BlockIdentifier, Set<Op04StructuredStatement>>> scopes)
-