Points-to sets of all variables
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: B getF()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: B getF()>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void setF(B,C,D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void setF(B,C,D)>/b -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void setF(B,C,D)>/c -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void setF(B,C,D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]:<A: void setF(B,C,D)>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]:<C: D getH()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]:<C: D getH()>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]:<C: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]:<C: void setH(D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]:<C: void setH(D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]:<C: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]:<C: void setH(D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]:<C: void setH(D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]:<D: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]:<D: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void setF(B,C,D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void setF(B,C,D)>/b -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void setF(B,C,D)>/c -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void setF(B,C,D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]:<A: void setF(B,C,D)>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: C getG()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: C getG()>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: void setG(C,D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: void setG(C,D)>/c -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: void setG(C,D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]:<B: void setG(C,D)>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]:<B: void <init>()>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]:<B: void setG(C,D)>/%this -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]:<B: void setG(C,D)>/c -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]:<B: void setG(C,D)>/d -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]:<B: void setG(C,D)>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[]:<ObjOnly: void main(java.lang.String[])>/a1 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]
[]:<ObjOnly: void main(java.lang.String[])>/a2 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]
[]:<ObjOnly: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<ObjOnly: void main(java.lang.String[])>/0},type=java.lang.String[] in <ObjOnly: void main(java.lang.String[])>}]
[]:<ObjOnly: void main(java.lang.String[])>/b1 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[]:<ObjOnly: void main(java.lang.String[])>/b2 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[]:<ObjOnly: void main(java.lang.String[])>/c1 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[]:<ObjOnly: void main(java.lang.String[])>/c2 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[]:<ObjOnly: void main(java.lang.String[])>/d1 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/d2 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/result -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$1 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$10 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$2 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$3 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$4 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$5 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$6 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$7 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$8 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[]:<ObjOnly: void main(java.lang.String[])>/temp$9 -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]

Points-to sets of all static fields

Points-to sets of all instance fields
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[0@L3] new A}.f -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}]
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}.h -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[18@L12] new D}]
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}.h -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[21@L13] new D}]
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[3@L4] new A}.f -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}]
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[6@L6] new B}.g -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[12@L9] new C}]
[]:NewObj{<ObjOnly: void main(java.lang.String[])>[9@L7] new B}.g -> [[]:NewObj{<ObjOnly: void main(java.lang.String[])>[15@L10] new C}]

Points-to sets of all array indexes
[]:EntryPointObj{alloc=MethodParam{<ObjOnly: void main(java.lang.String[])>/0},type=java.lang.String[] in <ObjOnly: void main(java.lang.String[])>}[*] -> [[]:EntryPointObj{alloc=MethodParam{<ObjOnly: void main(java.lang.String[])>/0}[*],type=java.lang.String in <ObjOnly: void main(java.lang.String[])>}]

