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 HasByteCodeLoc
addLoc, getCombinedLoc, getLocMethods inherited from interface 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
-