Points-to sets of all variables
[<C: void m()>[10@L16] temp$4 = invokeinterface x.get()]:<One: int get()>/%this -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<C: void m()>[10@L16] temp$4 = invokeinterface x.get()]:<One: int get()>/temp$0 -> [[]:NumberObj{alloc=1,type=int}]
[<C: void m()>[1@L12] invokespecial temp$0.<init>()]:<One: void <init>()>/%this -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<C: void m()>[4@L13] invokespecial temp$1.<init>()]:<Two: void <init>()>/%this -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[<C: void m()>[6@L14] temp$2 = invokevirtual %this.id(n1)]:<C: Number id(Number)>/%this -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]
[<C: void m()>[6@L14] temp$2 = invokevirtual %this.id(n1)]:<C: Number id(Number)>/n -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<C: void m()>[8@L15] temp$3 = invokevirtual %this.id(n2)]:<C: Number id(Number)>/%this -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]
[<C: void m()>[8@L15] temp$3 = invokevirtual %this.id(n2)]:<C: Number id(Number)>/n -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[<OneCall: void main(java.lang.String[])>[1@L3] invokespecial temp$0.<init>()]:<C: void <init>()>/%this -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/%this -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/i -> [[]:NumberObj{alloc=1,type=int}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/n1 -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/n2 -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/temp$0 -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/temp$1 -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/temp$2 -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/temp$3 -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/temp$4 -> [[]:NumberObj{alloc=1,type=int}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/x -> [[]:NewObj{<C: void m()>[0@L12] new One}]
[<OneCall: void main(java.lang.String[])>[3@L4] invokevirtual c.m()]:<C: void m()>/y -> [[]:NewObj{<C: void m()>[3@L13] new Two}]
[]:<OneCall: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<OneCall: void main(java.lang.String[])>/0},type=java.lang.String[] in <OneCall: void main(java.lang.String[])>}]
[]:<OneCall: void main(java.lang.String[])>/c -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]
[]:<OneCall: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<OneCall: void main(java.lang.String[])>[0@L3] new C}]

Points-to sets of all static fields

Points-to sets of all instance fields

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

