Interface StructuredStatement
- All Superinterfaces:
Dumpable
,HasByteCodeLoc
,Matcher<StructuredStatement>
,TypeUsageCollectable
- All Known Implementing Classes:
AbstractPlaceholder
,AbstractStructuredBlockStatement
,AbstractStructuredConditionalLoopStatement
,AbstractStructuredContinue
,AbstractStructuredStatement
,AbstractUnStructuredStatement
,BeginBlock
,Block
,ElseBlock
,EndBlock
,StructuredAssert
,StructuredAssignment
,StructuredBreak
,StructuredCase
,StructuredCatch
,StructuredComment
,StructuredContinue
,StructuredDefinition
,StructuredDo
,StructuredExpressionStatement
,StructuredExpressionYield
,StructuredFakeDecompFailure
,StructuredFinally
,StructuredFor
,StructuredIf
,StructuredIter
,StructuredReturn
,StructuredSwitch
,StructuredSynchronized
,StructuredThrow
,StructuredTry
,StructuredWhile
,UnstructuredAnonBreakTarget
,UnstructuredAnonymousBreak
,UnstructuredBreak
,UnstructuredCase
,UnstructuredCatch
,UnstructuredContinue
,UnstructuredDo
,UnstructuredFinally
,UnstructuredFor
,UnstructuredGoto
,UnstructuredIf
,UnstructuredIter
,UnstructuredSwitch
,UnstructuredSynchronized
,UnstructuredTry
,UnstructuredWhile
,WildcardMatch.BlockWildcard
public interface StructuredStatement
extends Dumpable, TypeUsageCollectable, HasByteCodeLoc, Matcher<StructuredStatement>
-
Method Summary
Modifier and TypeMethodDescriptionboolean
alwaysDefines
(LValue scopedEntity) boolean
canDefine
(LValue scopedEntity, ScopeDiscoverInfoCache factCache) boolean
canFall()
claimBlock
(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) boolean
informBlockHeirachy
(Vector<BlockIdentifier> blockIdentifiers) boolean
boolean
boolean
boolean
boolean
void
void
markCreator
(LValue scopedEntity, StatementContainer<StructuredStatement> hint) void
rewriteExpressions
(ExpressionRewriter expressionRewriter) void
setContainer
(Op04StructuredStatement container) suggestName
(LocalVariable createdHere, Predicate<String> testNameUsedFn) boolean
boolean
void
traceLocalVariableScope
(LValueScopeDiscoverer scopeDiscoverer) void
transformStructuredChildren
(StructuredStatementTransformer transformer, StructuredScope scope) void
transformStructuredChildrenInReverse
(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
addLoc, getCombinedLoc, getLoc
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.matchutil.Matcher
match
Methods inherited from interface org.benf.cfr.reader.util.TypeUsageCollectable
collectTypeUsages
-
Method Details
-
getContainer
Op04StructuredStatement getContainer() -
setContainer
-
claimBlock
StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) -
informBlockHeirachy
-
transformStructuredChildren
-
transformStructuredChildrenInReverse
void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) -
rewriteExpressions
-
isProperlyStructured
boolean isProperlyStructured() -
isRecursivelyStructured
boolean isRecursivelyStructured() -
getBreakableBlockOrNull
BlockIdentifier getBreakableBlockOrNull() -
linearizeInto
-
traceLocalVariableScope
-
markCreator
-
alwaysDefines
-
canDefine
-
supportsContinueBreak
boolean supportsContinueBreak() -
supportsBreak
boolean supportsBreak() -
isScopeBlock
boolean isScopeBlock() -
inlineable
boolean inlineable() -
getInline
Op04StructuredStatement getInline() -
isEffectivelyNOP
boolean isEffectivelyNOP() -
fallsNopToNext
boolean fallsNopToNext() -
canFall
boolean canFall() -
findCreatedHere
-
suggestName
-