import soot.Body;\r
import soot.BodyTransformer;\r
import soot.PackManager;\r
-import soot.PhaseOptions;\r
import soot.Transform;\r
import soot.toolkits.graph.ExceptionalUnitGraph;\r
import soot.toolkits.graph.UnitGraph;\r
PackManager.v().getPack("jap").add(new Transform("jap.myTransform", new BodyTransformer() {\r
@Override\r
protected void internalTransform(Body body, String phase, Map options) {\r
- try {\r
- UnitGraph graph = new ExceptionalUnitGraph(body);\r
- ProgramDependenceGraph pdg = new HashMutablePDG(graph);\r
- for (PDGNode node1: pdg.getNodes()) {\r
- for (PDGNode node2: pdg.getDependents(node1)) {\r
-// System.out.println(node1.toShortString() + " -> " + node2.toShortString());\r
- }\r
+ UnitGraph graph = new ExceptionalUnitGraph(body);\r
+ ProgramDependenceGraph pdg = new HashMutablePDG(graph);\r
+ for (PDGNode node1: pdg.getNodes()) {\r
+ for (PDGNode node2: pdg.getDependents(node1)) {\r
+// System.out.println(node1.toShortString() + " -> " + node2.toShortString());\r
}\r
- } catch (RuntimeException e) {\r
- System.err.println(body.getMethod());\r
}\r
}\r
}));\r
- PhaseOptions.v().setPhaseOption("jap.npc", "on");\r
\r
long start = System.currentTimeMillis();\r
soot.Main.main(args);\r