public class StructuredFor extends AbstractStructuredBlockStatement
Constructor and Description |
---|
StructuredFor(BytecodeLoc loc,
ConditionalExpression condition,
AssignmentSimple initial,
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) |
List<LValue> |
findCreatedHere() |
BlockIdentifier |
getBlock() |
BlockIdentifier |
getBreakableBlockOrNull() |
BytecodeLoc |
getCombinedLoc() |
boolean |
isScopeBlock() |
void |
linearizeInto(List<StructuredStatement> out) |
void |
markCreator(LValue scopedEntity,
StatementContainer<StructuredStatement> hint) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
String |
suggestName(LocalVariable createdHere,
Predicate<String> testNameUsedFn) |
boolean |
supportsBreak() |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildren
addLoc, alwaysDefines, canFall, claimBlock, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, setContainer, supportsContinueBreak, toString, transformStructuredChildrenInReverse
public StructuredFor(BytecodeLoc loc, ConditionalExpression condition, AssignmentSimple initial, List<AbstractAssignmentExpression> assignments, Op04StructuredStatement body, BlockIdentifier block)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractStructuredBlockStatement
public BytecodeLoc getCombinedLoc()
public boolean isScopeBlock()
isScopeBlock
in interface StructuredStatement
isScopeBlock
in class AbstractStructuredStatement
public void linearizeInto(List<StructuredStatement> out)
public BlockIdentifier getBreakableBlockOrNull()
getBreakableBlockOrNull
in interface StructuredStatement
getBreakableBlockOrNull
in class AbstractStructuredStatement
public boolean supportsBreak()
supportsBreak
in interface StructuredStatement
supportsBreak
in class AbstractStructuredStatement
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator
in interface StructuredStatement
markCreator
in class AbstractStructuredStatement
public boolean canDefine(LValue scopedEntity, ScopeDiscoverInfoCache factCache)
canDefine
in interface StructuredStatement
canDefine
in class AbstractStructuredStatement
public List<LValue> findCreatedHere()
findCreatedHere
in interface StructuredStatement
findCreatedHere
in class AbstractStructuredStatement
public String suggestName(LocalVariable createdHere, Predicate<String> testNameUsedFn)
suggestName
in interface StructuredStatement
suggestName
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public BlockIdentifier getBlock()
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
Copyright © 2011-2021. All Rights Reserved.