public interface StructuredStatement extends Dumpable, TypeUsageCollectable, HasByteCodeLoc, Matcher<StructuredStatement>
collectTypeUsages
addLoc, getCombinedLoc, getLoc
Op04StructuredStatement getContainer()
void setContainer(Op04StructuredStatement container)
StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
void rewriteExpressions(ExpressionRewriter expressionRewriter)
boolean isProperlyStructured()
boolean isRecursivelyStructured()
BlockIdentifier getBreakableBlockOrNull()
void linearizeInto(java.util.List<StructuredStatement> out)
void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
boolean alwaysDefines(LValue scopedEntity)
boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
boolean supportsContinueBreak()
boolean supportsBreak()
boolean isScopeBlock()
boolean inlineable()
Op04StructuredStatement getInline()
boolean isEffectivelyNOP()
boolean fallsNopToNext()
boolean canFall()
java.util.List<LValue> findCreatedHere()
java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)