Points-to sets of all variables
[<CallOnly: void main(java.lang.String[])>[10@L9] invokespecial temp$3.<init>(cc)]:<Outer2: void <init>(C)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[9@L9] new Outer2}]
[<CallOnly: void main(java.lang.String[])>[10@L9] invokespecial temp$3.<init>(cc)]:<Outer2: void <init>(C)>/c -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[<CallOnly: void main(java.lang.String[])>[13@L10] invokespecial temp$4.<init>()]:<Inner: void <init>()>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[<CallOnly: void main(java.lang.String[])>[15@L11] temp$5 = invokevirtual outer1.get(inner)]:<Outer1: A get(Inner)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[6@L8] new Outer1}]
[<CallOnly: void main(java.lang.String[])>[15@L11] temp$5 = invokevirtual outer1.get(inner)]:<Outer1: A get(Inner)>/inner -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[<CallOnly: void main(java.lang.String[])>[15@L11] temp$5 = invokevirtual outer1.get(inner)]:<Outer1: A get(Inner)>/temp$0 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[<CallOnly: void main(java.lang.String[])>[15@L11] temp$5 = invokevirtual outer1.get(inner)]:<Outer1: A get(Inner)>/temp$1 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[<CallOnly: void main(java.lang.String[])>[17@L12] temp$6 = invokevirtual outer2.get(inner)]:<Outer2: A get(Inner)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[9@L9] new Outer2}]
[<CallOnly: void main(java.lang.String[])>[17@L12] temp$6 = invokevirtual outer2.get(inner)]:<Outer2: A get(Inner)>/inner -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[<CallOnly: void main(java.lang.String[])>[17@L12] temp$6 = invokevirtual outer2.get(inner)]:<Outer2: A get(Inner)>/temp$0 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[<CallOnly: void main(java.lang.String[])>[17@L12] temp$6 = invokevirtual outer2.get(inner)]:<Outer2: A get(Inner)>/temp$1 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[<CallOnly: void main(java.lang.String[])>[1@L6] invokespecial temp$0.<init>()]:<B: void <init>()>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[<CallOnly: void main(java.lang.String[])>[4@L7] invokespecial temp$1.<init>()]:<C: void <init>()>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[<CallOnly: void main(java.lang.String[])>[7@L8] invokespecial temp$2.<init>(bb)]:<Outer1: void <init>(B)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[6@L8] new Outer1}]
[<CallOnly: void main(java.lang.String[])>[7@L8] invokespecial temp$2.<init>(bb)]:<Outer1: void <init>(B)>/b -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[<Outer1: A get(Inner)>[1@L24] temp$1 = invokevirtual inner.identity(temp$0)]:<Inner: A identity(A)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[<Outer1: A get(Inner)>[1@L24] temp$1 = invokevirtual inner.identity(temp$0)]:<Inner: A identity(A)>/a -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[<Outer2: A get(Inner)>[1@L38] temp$1 = invokevirtual inner.identity(temp$0)]:<Inner: A identity(A)>/%this -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[<Outer2: A get(Inner)>[1@L38] temp$1 = invokevirtual inner.identity(temp$0)]:<Inner: A identity(A)>/a -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[]:<CallOnly: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<CallOnly: void main(java.lang.String[])>/0},type=java.lang.String[] in <CallOnly: void main(java.lang.String[])>}]
[]:<CallOnly: void main(java.lang.String[])>/bb -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[]:<CallOnly: void main(java.lang.String[])>/cc -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[]:<CallOnly: void main(java.lang.String[])>/inner -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[]:<CallOnly: void main(java.lang.String[])>/outer1 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[6@L8] new Outer1}]
[]:<CallOnly: void main(java.lang.String[])>/outer2 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[9@L9] new Outer2}]
[]:<CallOnly: void main(java.lang.String[])>/result1 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[]:<CallOnly: void main(java.lang.String[])>/result2 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[]:<CallOnly: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[]:<CallOnly: void main(java.lang.String[])>/temp$1 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]
[]:<CallOnly: void main(java.lang.String[])>/temp$2 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[6@L8] new Outer1}]
[]:<CallOnly: void main(java.lang.String[])>/temp$3 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[9@L9] new Outer2}]
[]:<CallOnly: void main(java.lang.String[])>/temp$4 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[12@L10] new Inner}]
[]:<CallOnly: void main(java.lang.String[])>/temp$5 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[]:<CallOnly: void main(java.lang.String[])>/temp$6 -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]

Points-to sets of all static fields

Points-to sets of all instance fields
[]:NewObj{<CallOnly: void main(java.lang.String[])>[6@L8] new Outer1}.b -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[0@L6] new B}]
[]:NewObj{<CallOnly: void main(java.lang.String[])>[9@L9] new Outer2}.c -> [[]:NewObj{<CallOnly: void main(java.lang.String[])>[3@L7] new C}]

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

