import EDU.neu.ccs.demeter.dj.*; class Main { public static void main(String[] args) { ClassGraph cg = new ClassGraph(); // constructed from *.java A a = new A(new B(new D()), new C()); // cg.traverse(a, new StrategyGraph("A->D"), new MyVisitor()); Strategy sg = new Strategy("from A to D"); // Strategy sg = new Strategy("{A -> D bypassing {A,D}}"); 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); ClassGraph cg2 = new ClassGraph( "class A {public B b;} class B {public D d;} class D {}" //"class A {public B b; public C c;} class B {public D d;} class C {} class D {}" // "A = B C. B = D. C = . D = ." ); TraversalGraph tg2 = TraversalGraph.compute(cg2, sg); tg2.traverse(a, new MyVisitor()); } }