public abstract class AbstractStructuredStatement extends java.lang.Object implements StructuredStatement
| Modifier and Type | Field and Description |
|---|---|
private Op04StructuredStatement |
container |
private BytecodeLoc |
loc |
| Constructor and Description |
|---|
AbstractStructuredStatement(BytecodeLoc loc) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlinearizeInto, rewriteExpressions, traceLocalVariableScope, transformStructuredChildrencollectTypeUsagesgetCombinedLocprivate BytecodeLoc loc
private Op04StructuredStatement container
public AbstractStructuredStatement(BytecodeLoc loc)
public void addLoc(HasByteCodeLoc loc)
addLoc in interface HasByteCodeLocpublic BytecodeLoc getLoc()
getLoc in interface HasByteCodeLocpublic Op04StructuredStatement getContainer()
getContainer in interface StructuredStatementpublic void setContainer(Op04StructuredStatement container)
setContainer in interface StructuredStatementpublic void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildrenInReverse in interface StructuredStatementpublic StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
claimBlock in interface StructuredStatementpublic StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
informBlockHeirachy in interface StructuredStatementpublic boolean isProperlyStructured()
isProperlyStructured in interface StructuredStatementpublic boolean isRecursivelyStructured()
isRecursivelyStructured in interface StructuredStatementpublic BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull in interface StructuredStatementpublic boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator in interface StructuredStatementpublic boolean alwaysDefines(LValue scopedEntity)
alwaysDefines in interface StructuredStatementpublic boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine in interface StructuredStatementpublic boolean isScopeBlock()
isScopeBlock in interface StructuredStatementpublic boolean supportsContinueBreak()
supportsContinueBreak in interface StructuredStatementpublic boolean supportsBreak()
supportsBreak in interface StructuredStatementpublic java.util.List<LValue> findCreatedHere()
findCreatedHere in interface StructuredStatementpublic java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)
suggestName in interface StructuredStatementpublic final java.lang.String toString()
toString in class java.lang.Objectpublic boolean inlineable()
inlineable in interface StructuredStatementpublic Op04StructuredStatement getInline()
getInline in interface StructuredStatementpublic boolean isEffectivelyNOP()
isEffectivelyNOP in interface StructuredStatementpublic boolean canFall()
canFall in interface StructuredStatementpublic boolean fallsNopToNext()
fallsNopToNext in interface StructuredStatement