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 TypeMethodDescriptionbooleanalwaysDefines(LValue scopedEntity) booleancanDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache) booleancanFall()claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) booleaninformBlockHeirachy(Vector<BlockIdentifier> blockIdentifiers) booleanbooleanbooleanbooleanbooleanvoidvoidmarkCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidsetContainer(Op04StructuredStatement container) suggestName(LocalVariable createdHere, Predicate<String> testNameUsedFn) booleanbooleanvoidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) voidtransformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
addLoc, getCombinedLoc, getLocMethods inherited from interface org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.matchutil.Matcher
matchMethods 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
-