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 Op03SimpleStatementfindMovableAssignment(Op03SimpleStatement start, LValue lValue) private static Op03SimpleStatementgetForInvariant(Op03SimpleStatement start, LValue invariant, BlockIdentifier whileLoop) private static List<Op03SimpleStatement> getMutations(List<Op03SimpleStatement> backSources, LValue loopVariable, BlockIdentifier whileBlockIdentifier) (package private) static voidrewriteDoWhileTruePredAsWhile(List<Op03SimpleStatement> statements) private static voidrewriteDoWhileTruePredAsWhile(Op03SimpleStatement end, List<Op03SimpleStatement> statements) private static voidrewriteWhileAsFor(Op03SimpleStatement statement, boolean aggcapture) (package private) static voidrewriteWhilesAsFors(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
-