Class WhileStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.WhileStatement
- All Implemented Interfaces:
HasByteCodeLoc, DeepCloneable<Statement>, Statement, ComparableUnderEC, Dumpable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionWhileStatement(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier blockIdentifier) -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectLValueUsage(LValueUsageCollector lValueUsageCollector) deepClone(CloneHelper cloneHelper) final booleanequivalentUnder(Object o, EquivalenceConstraint constraint) private intvoidreplaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers) voidreplaceWithForLoop(AssignmentSimple initial, List<AbstractAssignmentExpression> assignment) voidrewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) Methods inherited from class AbstractStatement
addLoc, canThrow, collectLocallyMutatedVariables, collectLValueAssignments, collectObjectCreation, doesBlackListLValueReplacement, fallsToNext, getCompoundParts, getContainer, getCreatedLValue, getLoc, getRValue, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
Field Details
-
condition
-
blockIdentifier
-
-
Constructor Details
-
WhileStatement
public WhileStatement(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier blockIdentifier)
-
-
Method Details
-
getCombinedLoc
-
deepClone
-
getBackJumpIndex
private int getBackJumpIndex() -
dump
-
replaceWithForLoop
public void replaceWithForLoop(AssignmentSimple initial, List<AbstractAssignmentExpression> assignment) -
replaceSingleUsageLValues
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) -
collectLValueUsage
-
getStructuredStatement
-
getBlockIdentifier
-
getCondition
-
equivalentUnder
-