import edu.neu.ccs.demeter.dj.*; class Main { static ClassGraph classGraphView = new ClassGraph( "class A {public B b;} class B {public D d;} class D {}" // "A = B C. B = D. C = . D = ." ); public static void main(String[] args) { // ClassGraph cg = new ClassGraph(); // constructed from *.java System.out.println(classGraphView); Strategy sg = new Strategy("from A to D"); TraversalGraph tg2 = new TraversalGraph(sg, classGraphView); A a = new A(new B(new D()), new C()); tg2.traverse(a, new MyVisitor()); //TraversalGraph tg = TraversalGraph.compute(cg, sg); //tg.traverse(a, new MyVisitor()); //System.out.println("Traversal Graph for from A to D"); //System.out.println(tg); System.out.println(a.getD()); } }