Class RemoveDeterministicJumps
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters.RemoveDeterministicJumps
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic List<Op03SimpleStatement>
apply
(Method method, List<Op03SimpleStatement> statements) private static boolean
propagateLiteralReturn
(Method method, Op03SimpleStatement original, Map<LValue, Literal> display) private static boolean
propagateLiteralReturn
(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, Map<LValue, Literal> display) static void
propagateToReturn
(Method method, List<Op03SimpleStatement> statements) private static void
replace
(Op03SimpleStatement source, boolean isIf, ReturnStatement returnNothingStatement) private static void
replaceAssignmentReturn
(Op03SimpleStatement assignment, ReturnStatement returnStatement) private static void
replaceConditionalReturn
(Op03SimpleStatement conditional, ReturnStatement returnStatement)
-
Constructor Details
-
RemoveDeterministicJumps
public RemoveDeterministicJumps()
-
-
Method Details
-
apply
-
propagateLiteralReturn
private static boolean propagateLiteralReturn(Method method, Op03SimpleStatement original, Map<LValue, Literal> display) -
replaceConditionalReturn
private static void replaceConditionalReturn(Op03SimpleStatement conditional, ReturnStatement returnStatement) -
replaceAssignmentReturn
private static void replaceAssignmentReturn(Op03SimpleStatement assignment, ReturnStatement returnStatement) -
replace
private static void replace(Op03SimpleStatement source, boolean isIf, ReturnStatement returnNothingStatement) -
propagateLiteralReturn
private static boolean propagateLiteralReturn(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, Map<LValue, Literal> display) -
propagateToReturn
-