Points-to sets of all variables
[]:<A: void <init>()>/%this -> [[]:NewObj{<New: void main(java.lang.String[])>[0@L4] new A}]
[]:<B: void <init>()>/%this -> [[]:NewObj{<New: void main(java.lang.String[])>[3@L5] new B}, []:NewObj{<New: void main(java.lang.String[])>[6@L6] new C}, []:NewObj{<New: void main(java.lang.String[])>[9@L7] new C}]
[]:<C: void <init>()>/%this -> [[]:NewObj{<New: void main(java.lang.String[])>[6@L6] new C}, []:NewObj{<New: void main(java.lang.String[])>[9@L7] new C}]
[]:<New: void main(java.lang.String[])>/a -> [[]:NewObj{<New: void main(java.lang.String[])>[0@L4] new A}]
[]:<New: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<New: void main(java.lang.String[])>/0},type=java.lang.String[] in <New: void main(java.lang.String[])>}]
[]:<New: void main(java.lang.String[])>/b1 -> [[]:NewObj{<New: void main(java.lang.String[])>[3@L5] new B}]
[]:<New: void main(java.lang.String[])>/b2 -> [[]:NewObj{<New: void main(java.lang.String[])>[6@L6] new C}]
[]:<New: void main(java.lang.String[])>/c -> [[]:NewObj{<New: void main(java.lang.String[])>[9@L7] new C}]
[]:<New: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<New: void main(java.lang.String[])>[0@L4] new A}]
[]:<New: void main(java.lang.String[])>/temp$1 -> [[]:NewObj{<New: void main(java.lang.String[])>[3@L5] new B}]
[]:<New: void main(java.lang.String[])>/temp$2 -> [[]:NewObj{<New: void main(java.lang.String[])>[6@L6] new C}]
[]:<New: void main(java.lang.String[])>/temp$3 -> [[]:NewObj{<New: void main(java.lang.String[])>[9@L7] 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{<New: void main(java.lang.String[])>/0},type=java.lang.String[] in <New: void main(java.lang.String[])>}[*] -> [[]:EntryPointObj{alloc=MethodParam{<New: void main(java.lang.String[])>/0}[*],type=java.lang.String in <New: void main(java.lang.String[])>}]

