Class RemoveDeterministicJumps
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters.RemoveDeterministicJumps
-
public class RemoveDeterministicJumps extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description RemoveDeterministicJumps()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.List<Op03SimpleStatement>apply(Method method, java.util.List<Op03SimpleStatement> statements)private static booleanpropagateLiteralReturn(Method method, Op03SimpleStatement original, java.util.Map<LValue,Literal> display)private static booleanpropagateLiteralReturn(Method method, Op03SimpleStatement original, Op03SimpleStatement orignext, LValue originalLValue, Expression originalRValue, java.util.Map<LValue,Literal> display)static voidpropagateToReturn(Method method, java.util.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)
-
-
-
Method Detail
-
apply
public static java.util.List<Op03SimpleStatement> apply(Method method, java.util.List<Op03SimpleStatement> statements)
-
propagateLiteralReturn
private static boolean propagateLiteralReturn(Method method, Op03SimpleStatement original, java.util.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, java.util.Map<LValue,Literal> display)
-
propagateToReturn
public static void propagateToReturn(Method method, java.util.List<Op03SimpleStatement> statements)
-
-