class WhileRewriter
extends java.lang.Object
Constructor and Description |
---|
WhileRewriter() |
Modifier and Type | Method and Description |
---|---|
private static java.util.Set<LValue> |
findForInvariants(Op03SimpleStatement start,
BlockIdentifier whileLoop) |
private static Op03SimpleStatement |
findMovableAssignment(Op03SimpleStatement start,
LValue lValue) |
private static Op03SimpleStatement |
getForInvariant(Op03SimpleStatement start,
LValue invariant,
BlockIdentifier whileLoop) |
private static java.util.List<Op03SimpleStatement> |
getMutations(java.util.List<Op03SimpleStatement> backSources,
LValue loopVariable,
BlockIdentifier whileBlockIdentifier) |
(package private) static void |
rewriteDoWhileTruePredAsWhile(java.util.List<Op03SimpleStatement> statements) |
private static void |
rewriteDoWhileTruePredAsWhile(Op03SimpleStatement end,
java.util.List<Op03SimpleStatement> statements) |
private static void |
rewriteWhileAsFor(Op03SimpleStatement statement,
boolean aggcapture) |
(package private) static void |
rewriteWhilesAsFors(Options options,
java.util.List<Op03SimpleStatement> statements) |
private static void rewriteDoWhileTruePredAsWhile(Op03SimpleStatement end, java.util.List<Op03SimpleStatement> statements)
static void rewriteDoWhileTruePredAsWhile(java.util.List<Op03SimpleStatement> statements)
private static java.util.Set<LValue> findForInvariants(Op03SimpleStatement start, BlockIdentifier whileLoop)
private static void rewriteWhileAsFor(Op03SimpleStatement statement, boolean aggcapture)
private static Op03SimpleStatement findMovableAssignment(Op03SimpleStatement start, LValue lValue)
private static Op03SimpleStatement getForInvariant(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop)
private static java.util.List<Op03SimpleStatement> getMutations(java.util.List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier)
static void rewriteWhilesAsFors(Options options, java.util.List<Op03SimpleStatement> statements)