public class StructuredFor extends AbstractStructuredBlockStatement
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<AbstractAssignmentExpression> |
assignments |
private BlockIdentifier |
block |
private ConditionalExpression |
condition |
private AssignmentSimple |
initial |
private boolean |
isCreator |
| Constructor and Description |
|---|
StructuredFor(BytecodeLoc loc,
ConditionalExpression condition,
AssignmentSimple initial,
java.util.List<AbstractAssignmentExpression> assignments,
Op04StructuredStatement body,
BlockIdentifier block) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDefine(LValue scopedEntity,
ScopeDiscoverInfoCache factCache) |
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
java.util.List<LValue> |
findCreatedHere() |
BlockIdentifier |
getBlock() |
BlockIdentifier |
getBreakableBlockOrNull() |
BytecodeLoc |
getCombinedLoc() |
boolean |
isScopeBlock() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
void |
markCreator(LValue scopedEntity,
StatementContainer<StructuredStatement> hint) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
java.lang.String |
suggestName(LocalVariable createdHere,
Predicate<java.lang.String> testNameUsedFn) |
boolean |
supportsBreak() |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildrenaddLoc, alwaysDefines, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, setContainer, supportsContinueBreak, toString, transformStructuredChildrenInReverseprivate ConditionalExpression condition
private AssignmentSimple initial
private java.util.List<AbstractAssignmentExpression> assignments
private final BlockIdentifier block
private boolean isCreator
public StructuredFor(BytecodeLoc loc, ConditionalExpression condition, AssignmentSimple initial, java.util.List<AbstractAssignmentExpression> assignments, Op04StructuredStatement body, BlockIdentifier block)
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 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 canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine in interface StructuredStatementcanDefine in class AbstractStructuredStatementpublic java.util.List<LValue> findCreatedHere()
findCreatedHere in interface StructuredStatementfindCreatedHere in class AbstractStructuredStatementpublic java.lang.String suggestName(LocalVariable createdHere, Predicate<java.lang.String> testNameUsedFn)
suggestName in interface StructuredStatementsuggestName in class AbstractStructuredStatementpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)
public BlockIdentifier getBlock()
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>match in class AbstractStructuredStatement