java-callgraph

Details

diff --git a/src/main/java/gr/gousiosg/javacg/dyn/Graph.java b/src/main/java/gr/gousiosg/javacg/dyn/Graph.java
index 45b6f30..ddee6e3 100644
--- a/src/main/java/gr/gousiosg/javacg/dyn/Graph.java
+++ b/src/main/java/gr/gousiosg/javacg/dyn/Graph.java
@@ -56,7 +56,7 @@ public class Graph {
                 });
                 
                 for (Pair<String, String> key : keys) {
-                    System.err.println(key + " " + callgraph.get(key));
+                    System.out.println(key + " " + callgraph.get(key));
                 }
             }
         });
diff --git a/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java b/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
index e438f74..4d19408 100644
--- a/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
+++ b/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
@@ -48,25 +48,33 @@ public class JCallGraph {
     public static void main(String[] args) {
         ClassParser cp;
         try {
-            
-            JarFile jar = new JarFile(new File("/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar"));
-            
-            Enumeration<JarEntry> entries = jar.entries();
-            while (entries.hasMoreElements()) {
-                JarEntry entry = entries.nextElement();
-                if (entry.isDirectory())
-                    continue;
+            for (String arg : args) {
+
+                File f = new File(arg);
                 
-                if (!entry.getName().endsWith(".class"))
-                    continue;
+                if (!f.exists()) {
+                    System.err.println("Jar file " + arg + " does not exist");
+                }
                 
-                cp = new ClassParser("/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar", entry.getName());
-                ClassVisitor visitor = new ClassVisitor(cp.parse());
-                visitor.start();
+                JarFile jar = new JarFile(f);
+
+                Enumeration<JarEntry> entries = jar.entries();
+                while (entries.hasMoreElements()) {
+                    JarEntry entry = entries.nextElement();
+                    if (entry.isDirectory())
+                        continue;
+
+                    if (!entry.getName().endsWith(".class"))
+                        continue;
+
+                    cp = new ClassParser(arg,entry.getName());
+                    ClassVisitor visitor = new ClassVisitor(cp.parse());
+                    visitor.start();
+                }
             }
         } catch (IOException e) {
-            // TODO Auto-generated catch block
+            System.err.println("Error while processing jar: " + e.getMessage());
             e.printStackTrace();
         }
-    }   
+    }
 }
diff --git a/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java b/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java
index 8133292..cec7de6 100644
--- a/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java
+++ b/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java
@@ -56,7 +56,7 @@ public class MethodVisitor extends EmptyVisitor {
         visitedClass = jc;
         mg = m;
         cp = mg.getConstantPool();
-        format = visitedClass.getClassName() + ":" + mg.getName() + "->" + "%s:%s";
+        format = visitedClass.getClassName() + ":" + mg.getName() + " " + "%s:%s";
     }
 
     public void start() {