public abstract class AbstractStructuredConditionalLoopStatement extends AbstractStructuredBlockStatement
| Modifier and Type | Field and Description |
|---|---|
protected BlockIdentifier |
block |
protected ConditionalExpression |
condition |
| Constructor and Description |
|---|
AbstractStructuredConditionalLoopStatement(BytecodeLoc loc,
ConditionalExpression condition,
BlockIdentifier block,
Op04StructuredStatement body) |
| Modifier and Type | Method and Description |
|---|---|
void |
collectTypeUsages(TypeUsageCollector collector) |
BlockIdentifier |
getBlock() |
BlockIdentifier |
getBreakableBlockOrNull() |
ConditionalExpression |
getCondition() |
boolean |
isInfinite() |
boolean |
isScopeBlock() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
boolean |
supportsBreak() |
boolean |
supportsContinueBreak() |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildrenaddLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, markCreator, match, setContainer, suggestName, toString, transformStructuredChildrenInReverseclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetCombinedLocprotected ConditionalExpression condition
protected final BlockIdentifier block
AbstractStructuredConditionalLoopStatement(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier block, Op04StructuredStatement body)
public BlockIdentifier getBlock()
public ConditionalExpression getCondition()
public BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull in interface StructuredStatementgetBreakableBlockOrNull in class AbstractStructuredStatementpublic boolean supportsBreak()
supportsBreak in interface StructuredStatementsupportsBreak in class AbstractStructuredStatementpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractStructuredBlockStatementpublic boolean isInfinite()
public boolean isScopeBlock()
isScopeBlock in interface StructuredStatementisScopeBlock in class AbstractStructuredStatementpublic boolean supportsContinueBreak()
supportsContinueBreak in interface StructuredStatementsupportsContinueBreak in class AbstractStructuredStatementpublic void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public void linearizeInto(java.util.List<StructuredStatement> out)
public void rewriteExpressions(ExpressionRewriter expressionRewriter)