Points-to sets of all variables
[<TwoCall: void m()>[5@L8] temp$2 = invokevirtual a.id(temp$1), <A: B id(B)>[0@L15] temp$0 = invokevirtual %this._id(b)]:<A: B _id(B)>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void m()>[5@L8] temp$2 = invokevirtual a.id(temp$1), <A: B id(B)>[0@L15] temp$0 = invokevirtual %this._id(b)]:<A: B _id(B)>/p -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void m()>[8@L9] invokespecial temp$3.<init>(), <C: void <init>()>[0@L26] invokespecial %this.<init>()]:<B: void <init>()>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void m()>[9@L9] temp$4 = invokevirtual a.id(temp$3), <A: B id(B)>[0@L15] temp$0 = invokevirtual %this._id(b)]:<A: B _id(B)>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void m()>[9@L9] temp$4 = invokevirtual a.id(temp$3), <A: B id(B)>[0@L15] temp$0 = invokevirtual %this._id(b)]:<A: B _id(B)>/p -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[1@L7] invokespecial temp$0.<init>()]:<A: void <init>()>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[4@L8] invokespecial temp$1.<init>()]:<B: void <init>()>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[5@L8] temp$2 = invokevirtual a.id(temp$1)]:<A: B id(B)>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[5@L8] temp$2 = invokevirtual a.id(temp$1)]:<A: B id(B)>/b -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[5@L8] temp$2 = invokevirtual a.id(temp$1)]:<A: B id(B)>/temp$0 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[8@L9] invokespecial temp$3.<init>()]:<C: void <init>()>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[9@L9] temp$4 = invokevirtual a.id(temp$3)]:<A: B id(B)>/%this -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[9@L9] temp$4 = invokevirtual a.id(temp$3)]:<A: B id(B)>/b -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m(), <TwoCall: void m()>[9@L9] temp$4 = invokevirtual a.id(temp$3)]:<A: B id(B)>/temp$0 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/a -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/b -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/c -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/temp$0 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[0@L7] new A}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/temp$1 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/temp$2 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[3@L8] new B}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/temp$3 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:<TwoCall: void m()>/temp$4 -> [[<TwoCall: void main(java.lang.String[])>[0@L3] invokestatic TwoCall.m()]:NewObj{<TwoCall: void m()>[7@L9] new C}]
[]:<TwoCall: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<TwoCall: void main(java.lang.String[])>/0},type=java.lang.String[] in <TwoCall: void main(java.lang.String[])>}]

Points-to sets of all static fields

Points-to sets of all instance fields

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

