Class WhileRewriter
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters.WhileRewriter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindForInvariants
(Op03SimpleStatement start, BlockIdentifier whileLoop) private static Op03SimpleStatement
findMovableAssignment
(Op03SimpleStatement start, LValue lValue) private static Op03SimpleStatement
getForInvariant
(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) private static List<Op03SimpleStatement>
getMutations
(List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier) (package private) static void
rewriteDoWhileTruePredAsWhile
(List<Op03SimpleStatement> statements) private static void
rewriteDoWhileTruePredAsWhile
(Op03SimpleStatement end, List<Op03SimpleStatement> statements) private static void
rewriteWhileAsFor
(Op03SimpleStatement statement, boolean aggcapture) (package private) static void
rewriteWhilesAsFors
(Options options, List<Op03SimpleStatement> statements)
-
Constructor Details
-
WhileRewriter
WhileRewriter()
-
-
Method Details
-
rewriteDoWhileTruePredAsWhile
private static void rewriteDoWhileTruePredAsWhile(Op03SimpleStatement end, List<Op03SimpleStatement> statements) -
rewriteDoWhileTruePredAsWhile
-
findForInvariants
-
rewriteWhileAsFor
-
findMovableAssignment
-
getForInvariant
private static Op03SimpleStatement getForInvariant(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) -
getMutations
private static List<Op03SimpleStatement> getMutations(List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier) -
rewriteWhilesAsFors
-