@@ -0,0 +1,1670 @@
+/**%0D%0A * taken from http://www.sable.mcgill.ca/pipermail/soot-list/2004-October/000047.html%0D%0A * and adjusted to work without main method%0D%0A */%0D%0A%0D%0Apackage main;%0D%0A%0D%0Aimport java.util.ArrayList;%0D%0Aimport java.util.Iterator;%0D%0Aimport java.util.List;%0D%0Aimport java.util.Map;%0D%0A%0D%0Aimport soot.PackManager;%0D%0Aimport soot.Scene;%0D%0Aimport soot.SceneTransformer;%0D%0Aimport soot.SootClass;%0D%0Aimport soot.SootMethod;%0D%0Aimport soot.Transform;%0D%0Aimport soot.jimple.toolkits.callgraph.CallGraph;%0D%0Aimport soot.options.Options;%0D%0A%0D%0A%09public class CallGraphDumper extends SceneTransformer %7B%0D%0A%09    public static void main(String%5B%5D args) %0D%0A%09    %7B%0D%0A%09%09PackManager.v().getPack(%22wjtp%22).add(%0D%0A%09%09    new Transform(%22wjtp.dumpcg%22, new CallGraphDumper()));%0D%0A%0D%0A%09%09//soot.Main.main(args);%0D%0A%09%09Options.v().parse(args);%0D%0A%09%09SootClass c = Scene.v().forceResolve(%22soot.jimple.infoflow.test.TestNoMain%22, SootClass.BODIES);%0D%0A%09%09Scene.v().loadNecessaryClasses();%0D%0A%09%09c.setApplicationClass();%0D%0A%09%09List%3CSootMethod%3E entryPoints = new ArrayList%3CSootMethod%3E();%0D%0A%09%09entryPoints.add(c.getMethodByName(%22onChange%22));%0D%0A%09%09entryPoints.add(c.getMethodByName(%22function1%22));%0D%0A%09%09entryPoints.add(c.getMethodByName(%22onCreate%22));%0D%0A%09%09Scene.v().setEntryPoints(entryPoints);%0D%0A%09%09PackManager.v().runPacks();%0D%0A%09    %7D%0D%0A%0D%0A%09    protected void internalTransform(String phaseName, Map options)%0D%0A%09    %7B%0D%0A%09        CallGraph cg = Scene.v().getCallGraph();%0D%0A%0D%0A%09        Iterator it = cg.listener();%0D%0A%09        while( it.hasNext() ) %7B%0D%0A%09            soot.jimple.toolkits.callgraph.Edge e =%0D%0A%09                (soot.jimple.toolkits.callgraph.Edge) it.next();%0D%0A%09            System.out.println(%22%22+e.src()+e.srcStmt()+%22 =%22+e.kind()+%22=%3E %22+e.tgt());%0D%0A%09        %7D%0D%0A%09    %7D%0D%0A%09%7D%0D%0A%0D%0A

print call graph, taken from http://www.sable.mcgill.ca/pipermail/soot-list/2004-October/000047.html