void (RootStatement root) { DummyExitStatement dummyExit = root.getDummyExit(); for (StatEdge edge : dummyExit.getAllPredecessorEdges()) { if (!edge.explicit) { Statement source = edge.getSource(); List<Exprent> lstExpr = source.getExprents(); if (lstExpr != null && !lstExpr.isEmpty()) { Exprent expr = lstExpr.get(lstExpr.size() - 1); if (expr.type == Exprent.EXPRENT_EXIT) { ExitExprent ex = (ExitExprent)expr; if (ex.getExitType() == ExitExprent.EXIT_RETURN && ex.getValue() == null) { // remove redundant return dummyExit.addBytecodeOffsets(ex.bytecode); lstExpr.remove(lstExpr.size() - 1); } } } } } }