Points-to sets of all variables
[]:<A: void <init>()>/%this -> [[]:NewObj{<Null: void main(java.lang.String[])>[0@L4] new A}]
[]:<Null: A returnNull()>/temp$0 -> []
[]:<Null: void foo(A,A)>/a1 -> [[]:NewObj{<Null: void main(java.lang.String[])>[0@L4] new A}]
[]:<Null: void main(java.lang.String[])>/a -> [[]:NewObj{<Null: void main(java.lang.String[])>[0@L4] new A}]
[]:<Null: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<Null: void main(java.lang.String[])>/0},type=java.lang.String[] in <Null: void main(java.lang.String[])>}]
[]:<Null: void main(java.lang.String[])>/temp$0 -> [[]:NewObj{<Null: void main(java.lang.String[])>[0@L4] new A}]
[]:<Null: void main(java.lang.String[])>/temp$1 -> []
[]:<Null: void main(java.lang.String[])>/x -> []

Points-to sets of all static fields

Points-to sets of all instance fields

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

