public abstract class AbstractUnStructuredStatement extends AbstractStructuredStatement
Constructor and Description |
---|
AbstractUnStructuredStatement(BytecodeLoc loc) |
Modifier and Type | Method and Description |
---|---|
java.util.List<LValue> |
findCreatedHere() |
BlockIdentifier |
getBreakableBlockOrNull() |
boolean |
isEffectivelyNOP() |
boolean |
isProperlyStructured() |
boolean |
isRecursivelyStructured() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
java.lang.String |
suggestName(LocalVariable createdHere,
Predicate<java.lang.String> testNameUsedFn) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
void |
transformStructuredChildren(StructuredStatementTransformer transformer,
StructuredScope scope) |
void |
transformStructuredChildrenInReverse(StructuredStatementTransformer transformer,
StructuredScope scope) |
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
collectTypeUsages
getCombinedLoc
public AbstractUnStructuredStatement(BytecodeLoc loc)
public final void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
public final void transformStructuredChildrenInReverse(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildrenInReverse
in interface StructuredStatement
transformStructuredChildrenInReverse
in class AbstractStructuredStatement
public final boolean isProperlyStructured()
isProperlyStructured
in interface StructuredStatement
isProperlyStructured
in class AbstractStructuredStatement
public BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull
in interface StructuredStatement
getBreakableBlockOrNull
in class AbstractStructuredStatement
public final boolean isRecursivelyStructured()
isRecursivelyStructured
in interface StructuredStatement
isRecursivelyStructured
in class AbstractStructuredStatement
public void linearizeInto(java.util.List<StructuredStatement> out)
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public boolean isEffectivelyNOP()
isEffectivelyNOP
in interface StructuredStatement
isEffectivelyNOP
in class AbstractStructuredStatement
public java.util.List<LValue> findCreatedHere()
findCreatedHere
in interface StructuredStatement
findCreatedHere
in class AbstractStructuredStatement
public java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)
suggestName
in interface StructuredStatement
suggestName
in class AbstractStructuredStatement