Points-to sets of all variables
[<A: void foo(B)>[0@L15] invokevirtual %this.goo(b), <A: void goo(B)>[0@L19] invokevirtual %this.hoo(b)]:<A: void hoo(B)>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}, []:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[<A: void foo(B)>[0@L15] invokevirtual %this.goo(b), <A: void goo(B)>[0@L19] invokevirtual %this.hoo(b)]:<A: void hoo(B)>/b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}, []:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[<LongCallContext: void main(java.lang.String[])>[10@L6] invokespecial temp$3.<init>()]:<B: void <init>()>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[<LongCallContext: void main(java.lang.String[])>[11@L6] invokevirtual a2.foo(temp$3), <A: void foo(B)>[0@L15] invokevirtual %this.goo(b)]:<A: void goo(B)>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[<LongCallContext: void main(java.lang.String[])>[11@L6] invokevirtual a2.foo(temp$3), <A: void foo(B)>[0@L15] invokevirtual %this.goo(b)]:<A: void goo(B)>/b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[<LongCallContext: void main(java.lang.String[])>[11@L6] invokevirtual a2.foo(temp$3)]:<A: void foo(B)>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[<LongCallContext: void main(java.lang.String[])>[11@L6] invokevirtual a2.foo(temp$3)]:<A: void foo(B)>/b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[<LongCallContext: void main(java.lang.String[])>[1@L3] invokespecial temp$0.<init>()]:<A: void <init>()>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}]
[<LongCallContext: void main(java.lang.String[])>[4@L4] invokespecial temp$1.<init>()]:<A: void <init>()>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[<LongCallContext: void main(java.lang.String[])>[7@L5] invokespecial temp$2.<init>()]:<B: void <init>()>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}]
[<LongCallContext: void main(java.lang.String[])>[8@L5] invokevirtual a1.foo(temp$2), <A: void foo(B)>[0@L15] invokevirtual %this.goo(b)]:<A: void goo(B)>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}]
[<LongCallContext: void main(java.lang.String[])>[8@L5] invokevirtual a1.foo(temp$2), <A: void foo(B)>[0@L15] invokevirtual %this.goo(b)]:<A: void goo(B)>/b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}]
[<LongCallContext: void main(java.lang.String[])>[8@L5] invokevirtual a1.foo(temp$2)]:<A: void foo(B)>/%this -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}]
[<LongCallContext: void main(java.lang.String[])>[8@L5] invokevirtual a1.foo(temp$2)]:<A: void foo(B)>/b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}]
[]:<LongCallContext: void main(java.lang.String[])>/a1 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}]
[]:<LongCallContext: void main(java.lang.String[])>/a2 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[]:<LongCallContext: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<LongCallContext: void main(java.lang.String[])>/0},type=java.lang.String[] in <LongCallContext: void main(java.lang.String[])>}]
[]:<LongCallContext: void main(java.lang.String[])>/result -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}, []:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[]:<LongCallContext: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}]
[]:<LongCallContext: void main(java.lang.String[])>/temp$1 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}]
[]:<LongCallContext: void main(java.lang.String[])>/temp$2 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}]
[]:<LongCallContext: void main(java.lang.String[])>/temp$3 -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]

Points-to sets of all static fields

Points-to sets of all instance fields
[]:NewObj{<LongCallContext: void main(java.lang.String[])>[0@L3] new A}.b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}, []:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]
[]:NewObj{<LongCallContext: void main(java.lang.String[])>[3@L4] new A}.b -> [[]:NewObj{<LongCallContext: void main(java.lang.String[])>[6@L5] new B}, []:NewObj{<LongCallContext: void main(java.lang.String[])>[9@L6] new B}]

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

