public abstract class AbstractStructuredStatement extends Object implements StructuredStatement
Constructor and Description |
---|
AbstractStructuredStatement(BytecodeLoc loc) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
linearizeInto, rewriteExpressions, traceLocalVariableScope, transformStructuredChildren
collectTypeUsages
getCombinedLoc
public AbstractStructuredStatement(BytecodeLoc loc)
public void addLoc(HasByteCodeLoc loc)
addLoc
in interface HasByteCodeLoc
public BytecodeLoc getLoc()
getLoc
in interface HasByteCodeLoc
public Op04StructuredStatement getContainer()
getContainer
in interface StructuredStatement
public void setContainer(Op04StructuredStatement container)
setContainer
in interface StructuredStatement
public void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildrenInReverse
in interface StructuredStatement
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn)
claimBlock
in interface StructuredStatement
public StructuredStatement informBlockHeirachy(Vector<BlockIdentifier> blockIdentifiers)
informBlockHeirachy
in interface StructuredStatement
public boolean isProperlyStructured()
isProperlyStructured
in interface StructuredStatement
public boolean isRecursivelyStructured()
isRecursivelyStructured
in interface StructuredStatement
public BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull
in interface StructuredStatement
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator
in interface StructuredStatement
public boolean alwaysDefines(LValue scopedEntity)
alwaysDefines
in interface StructuredStatement
public boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine
in interface StructuredStatement
public boolean isScopeBlock()
isScopeBlock
in interface StructuredStatement
public boolean supportsContinueBreak()
supportsContinueBreak
in interface StructuredStatement
public boolean supportsBreak()
supportsBreak
in interface StructuredStatement
public List<LValue> findCreatedHere()
findCreatedHere
in interface StructuredStatement
public String suggestName(LocalVariable createdHere, Predicate<String> testNameUsedFn)
suggestName
in interface StructuredStatement
public boolean inlineable()
inlineable
in interface StructuredStatement
public Op04StructuredStatement getInline()
getInline
in interface StructuredStatement
public boolean isEffectivelyNOP()
isEffectivelyNOP
in interface StructuredStatement
public boolean canFall()
canFall
in interface StructuredStatement
public boolean fallsNopToNext()
fallsNopToNext
in interface StructuredStatement
Copyright © 2011-2021. All Rights Reserved.