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
-
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 Detail
-
getContainer
Op04StructuredStatement getContainer()
-
setContainer
void setContainer(Op04StructuredStatement container)
-
claimBlock
StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
-
informBlockHeirachy
StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
-
transformStructuredChildren
void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
-
transformStructuredChildrenInReverse
void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
-
rewriteExpressions
void rewriteExpressions(ExpressionRewriter expressionRewriter)
-
isProperlyStructured
boolean isProperlyStructured()
-
isRecursivelyStructured
boolean isRecursivelyStructured()
-
getBreakableBlockOrNull
BlockIdentifier getBreakableBlockOrNull()
-
linearizeInto
void linearizeInto(java.util.List<StructuredStatement> out)
-
traceLocalVariableScope
void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
-
markCreator
void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
-
alwaysDefines
boolean alwaysDefines(LValue scopedEntity)
-
canDefine
boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
-
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
java.util.List<LValue> findCreatedHere()
-
suggestName
java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)
-
-