public class StructuredIter extends AbstractStructuredBlockStatement
| Modifier and Type | Field and Description |
|---|---|
private BlockIdentifier |
block |
private LValue |
iterator |
private Expression |
list |
| Constructor and Description |
|---|
StructuredIter(BytecodeLoc loc,
BlockIdentifier block,
LValue iterator,
Expression list,
Op04StructuredStatement body) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
alwaysDefines(LValue scopedEntity) |
boolean |
canDefine(LValue scopedEntity,
ScopeDiscoverInfoCache factCache) |
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
java.util.List<LValue> |
findCreatedHere() |
BlockIdentifier |
getBreakableBlockOrNull() |
BytecodeLoc |
getCombinedLoc() |
boolean |
isScopeBlock() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
void |
markCreator(LValue scopedEntity,
StatementContainer<StructuredStatement> hint) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
boolean |
supportsBreak() |
boolean |
supportsContinueBreak() |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildrenaddLoc, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, match, setContainer, suggestName, toString, transformStructuredChildrenInReverseprivate final BlockIdentifier block
private LValue iterator
private Expression list
StructuredIter(BytecodeLoc loc, BlockIdentifier block, LValue iterator, Expression list, Op04StructuredStatement body)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractStructuredBlockStatementpublic BytecodeLoc getCombinedLoc()
public boolean isScopeBlock()
isScopeBlock in interface StructuredStatementisScopeBlock in class AbstractStructuredStatementpublic void linearizeInto(java.util.List<StructuredStatement> out)
public BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull in interface StructuredStatementgetBreakableBlockOrNull in class AbstractStructuredStatementpublic boolean supportsContinueBreak()
supportsContinueBreak in interface StructuredStatementsupportsContinueBreak in class AbstractStructuredStatementpublic boolean supportsBreak()
supportsBreak in interface StructuredStatementsupportsBreak in class AbstractStructuredStatementpublic void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator in interface StructuredStatementmarkCreator in class AbstractStructuredStatementpublic boolean alwaysDefines(LValue scopedEntity)
alwaysDefines in interface StructuredStatementalwaysDefines in class AbstractStructuredStatementpublic boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine in interface StructuredStatementcanDefine in class AbstractStructuredStatementpublic java.util.List<LValue> findCreatedHere()
findCreatedHere in interface StructuredStatementfindCreatedHere in class AbstractStructuredStatementpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)