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 booleanpropagateLiteralReturn(Method method, Op03SimpleStatement original, Map<LValue, Literal> display) private static booleanpropagateLiteralReturn(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, Map<LValue, Literal> display) static voidpropagateToReturn(Method method, List<Op03SimpleStatement> statements) private static voidreplace(Op03SimpleStatement source, boolean isIf, ReturnStatement returnNothingStatement) private static voidreplaceAssignmentReturn(Op03SimpleStatement assignment, ReturnStatement returnStatement) private static voidreplaceConditionalReturn(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
-