public abstract class AbstractPlaceholder extends java.lang.Object implements StructuredStatement
| Constructor and Description |
|---|
AbstractPlaceholder() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportsBreak, supportsContinueBreakpublic void linearizeInto(java.util.List<StructuredStatement> out)
linearizeInto in interface StructuredStatementpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablepublic BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic BytecodeLoc getLoc()
getLoc in interface HasByteCodeLocpublic void addLoc(HasByteCodeLoc loc)
addLoc in interface HasByteCodeLocpublic boolean isProperlyStructured()
isProperlyStructured in interface StructuredStatementpublic boolean isRecursivelyStructured()
isRecursivelyStructured in interface StructuredStatementpublic BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull in interface StructuredStatementpublic boolean fallsNopToNext()
fallsNopToNext in interface StructuredStatementpublic boolean isScopeBlock()
isScopeBlock in interface StructuredStatementpublic void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildren in interface StructuredStatementpublic void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildrenInReverse in interface StructuredStatementpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)
rewriteExpressions in interface StructuredStatementpublic StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
informBlockHeirachy in interface StructuredStatementpublic StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
claimBlock in interface StructuredStatementpublic Op04StructuredStatement getContainer()
getContainer in interface StructuredStatementpublic void setContainer(Op04StructuredStatement container)
setContainer in interface StructuredStatementpublic void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
traceLocalVariableScope in interface StructuredStatementpublic 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 canFall()
canFall 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 boolean inlineable()
inlineable in interface StructuredStatementpublic Op04StructuredStatement getInline()
getInline in interface StructuredStatementpublic boolean isEffectivelyNOP()
isEffectivelyNOP in interface StructuredStatement