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 TypeMethodDescriptionboolean
final boolean
final boolean
void
boolean
match
(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) void
rewriteExpressions
(ExpressionRewriter expressionRewriter) suggestName
(LocalVariable createdHere, Predicate<String> testNameUsedFn) void
traceLocalVariableScope
(LValueScopeDiscoverer scopeDiscoverer) final void
transformStructuredChildren
(StructuredStatementTransformer transformer, StructuredScope scope) final void
transformStructuredChildrenInReverse
(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
getCombinedLoc
Methods inherited from interface org.benf.cfr.reader.util.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:
transformStructuredChildrenInReverse
in interfaceStructuredStatement
- Overrides:
transformStructuredChildrenInReverse
in classAbstractStructuredStatement
-
isProperlyStructured
public final boolean isProperlyStructured()- Specified by:
isProperlyStructured
in interfaceStructuredStatement
- Overrides:
isProperlyStructured
in classAbstractStructuredStatement
-
getBreakableBlockOrNull
- Specified by:
getBreakableBlockOrNull
in interfaceStructuredStatement
- Overrides:
getBreakableBlockOrNull
in classAbstractStructuredStatement
-
isRecursivelyStructured
public final boolean isRecursivelyStructured()- Specified by:
isRecursivelyStructured
in interfaceStructuredStatement
- Overrides:
isRecursivelyStructured
in classAbstractStructuredStatement
-
linearizeInto
-
traceLocalVariableScope
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
match
in interfaceMatcher<StructuredStatement>
- Overrides:
match
in classAbstractStructuredStatement
-
rewriteExpressions
-
isEffectivelyNOP
public boolean isEffectivelyNOP()- Specified by:
isEffectivelyNOP
in interfaceStructuredStatement
- Overrides:
isEffectivelyNOP
in classAbstractStructuredStatement
-
findCreatedHere
- Specified by:
findCreatedHere
in interfaceStructuredStatement
- Overrides:
findCreatedHere
in classAbstractStructuredStatement
-
suggestName
- Specified by:
suggestName
in interfaceStructuredStatement
- Overrides:
suggestName
in classAbstractStructuredStatement
-