Class AbstractUnStructuredStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractUnStructuredStatement
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
- Direct Known Subclasses:
UnstructuredAnonBreakTarget, UnstructuredAnonymousBreak, UnstructuredBreak, UnstructuredCase, UnstructuredCatch, UnstructuredDo, UnstructuredFinally, UnstructuredFor, UnstructuredGoto, UnstructuredIf, UnstructuredIter, UnstructuredSwitch, UnstructuredSynchronized, UnstructuredTry, UnstructuredWhile
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanfinal booleanfinal booleanvoidbooleanmatch(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) voidrewriteExpressions(ExpressionRewriter expressionRewriter) suggestName(LocalVariable createdHere, Predicate<String> testNameUsedFn) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) final voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) final voidtransformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface HasByteCodeLoc
getCombinedLocMethods inherited from interface TypeUsageCollectable
collectTypeUsages
-
Constructor Details
-
AbstractUnStructuredStatement
-
-
Method Details
-
transformStructuredChildren
public final void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) -
transformStructuredChildrenInReverse
public final void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildrenInReversein interfaceStructuredStatement- Overrides:
transformStructuredChildrenInReversein classAbstractStructuredStatement
-
isProperlyStructured
public final boolean isProperlyStructured()- Specified by:
isProperlyStructuredin interfaceStructuredStatement- Overrides:
isProperlyStructuredin classAbstractStructuredStatement
-
getBreakableBlockOrNull
- Specified by:
getBreakableBlockOrNullin interfaceStructuredStatement- Overrides:
getBreakableBlockOrNullin classAbstractStructuredStatement
-
isRecursivelyStructured
public final boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructuredin interfaceStructuredStatement- Overrides:
isRecursivelyStructuredin classAbstractStructuredStatement
-
linearizeInto
-
traceLocalVariableScope
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
matchin interfaceMatcher<StructuredStatement>- Overrides:
matchin classAbstractStructuredStatement
-
rewriteExpressions
-
isEffectivelyNOP
public boolean isEffectivelyNOP()- Specified by:
isEffectivelyNOPin interfaceStructuredStatement- Overrides:
isEffectivelyNOPin classAbstractStructuredStatement
-
findCreatedHere
- Specified by:
findCreatedHerein interfaceStructuredStatement- Overrides:
findCreatedHerein classAbstractStructuredStatement
-
suggestName
- Specified by:
suggestNamein interfaceStructuredStatement- Overrides:
suggestNamein classAbstractStructuredStatement
-