Points-to sets of all variables
[<Annotations: void main(java.lang.String[])>[15@L10] temp$6 = invokestatic Annotations.class$(%stringconst2)]:<Annotations: java.lang.Class class$(java.lang.String)>/name -> [[]:ConstantObj{java.lang.String: "java.lang.String"}]
[<Annotations: void main(java.lang.String[])>[15@L10] temp$6 = invokestatic Annotations.class$(%stringconst2)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$0 -> [[]:ConstantObj{java.lang.Class: java.lang.String.class}]
[<Annotations: void main(java.lang.String[])>[15@L10] temp$6 = invokestatic Annotations.class$(%stringconst2)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$1 -> [[]:MergedObj{<Merged java.lang.NoClassDefFoundError>}]
[<Annotations: void main(java.lang.String[])>[27@L10] temp$9 = invokestatic Annotations.class$(%stringconst4)]:<Annotations: java.lang.Class class$(java.lang.String)>/name -> [[]:ConstantObj{java.lang.String: "java.lang.Object"}]
[<Annotations: void main(java.lang.String[])>[27@L10] temp$9 = invokestatic Annotations.class$(%stringconst4)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$0 -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}]
[<Annotations: void main(java.lang.String[])>[27@L10] temp$9 = invokestatic Annotations.class$(%stringconst4)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$1 -> [[]:MergedObj{<Merged java.lang.NoClassDefFoundError>}]
[<Annotations: void main(java.lang.String[])>[3@L10] temp$2 = invokestatic Annotations.class$(%stringconst0)]:<Annotations: java.lang.Class class$(java.lang.String)>/name -> [[]:ConstantObj{java.lang.String: "A"}]
[<Annotations: void main(java.lang.String[])>[3@L10] temp$2 = invokestatic Annotations.class$(%stringconst0)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$0 -> [[]:ConstantObj{java.lang.Class: A.class}]
[<Annotations: void main(java.lang.String[])>[3@L10] temp$2 = invokestatic Annotations.class$(%stringconst0)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$1 -> [[]:MergedObj{<Merged java.lang.NoClassDefFoundError>}]
[<Annotations: void main(java.lang.String[])>[53@L16] temp$21 = invokestatic Annotations.class$(%stringconst7)]:<Annotations: java.lang.Class class$(java.lang.String)>/name -> [[]:ConstantObj{java.lang.String: "ClassAnno"}]
[<Annotations: void main(java.lang.String[])>[53@L16] temp$21 = invokestatic Annotations.class$(%stringconst7)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$0 -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}]
[<Annotations: void main(java.lang.String[])>[53@L16] temp$21 = invokestatic Annotations.class$(%stringconst7)]:<Annotations: java.lang.Class class$(java.lang.String)>/temp$1 -> [[]:MergedObj{<Merged java.lang.NoClassDefFoundError>}]
[]:<Annotations: void main(java.lang.String[])>/%stringconst0 -> [[]:ConstantObj{java.lang.String: "A"}]
[]:<Annotations: void main(java.lang.String[])>/%stringconst2 -> [[]:ConstantObj{java.lang.String: "java.lang.String"}]
[]:<Annotations: void main(java.lang.String[])>/%stringconst4 -> [[]:ConstantObj{java.lang.String: "java.lang.Object"}]
[]:<Annotations: void main(java.lang.String[])>/%stringconst6 -> [[]:ConstantObj{java.lang.String: "foo"}]
[]:<Annotations: void main(java.lang.String[])>/%stringconst7 -> [[]:ConstantObj{java.lang.String: "ClassAnno"}]
[]:<Annotations: void main(java.lang.String[])>/a -> [[]:AnnotationObj{alloc=@ClassAnno(A.class),type=ClassAnno}, []:AnnotationObj{alloc=@ClassAnno(B.class),type=ClassAnno}, []:AnnotationObj{alloc=@StringAnno("xxx"),type=StringAnno}]
[]:<Annotations: void main(java.lang.String[])>/annoType -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}, []:ConstantObj{java.lang.Class: StringAnno.class}]
[]:<Annotations: void main(java.lang.String[])>/annotations -> [[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[][] in <Annotations: void main(java.lang.String[])>}]
[]:<Annotations: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<Annotations: void main(java.lang.String[])>/0},type=java.lang.String[] in <Annotations: void main(java.lang.String[])>}]
[]:<Annotations: void main(java.lang.String[])>/classAnno -> [[]:AnnotationObj{alloc=@ClassAnno(Annotations.class),type=ClassAnno}]
[]:<Annotations: void main(java.lang.String[])>/foo -> [[]:ReflectionMetaObj{alloc=<A: void foo(java.lang.String,java.lang.Object)>,type=java.lang.reflect.Method}]
[]:<Annotations: void main(java.lang.String[])>/temp$0 -> [[]:ConstantObj{java.lang.Class: A.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$1 -> [[]:ConstantObj{java.lang.Class: A.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$10 -> [[]:ReflectionMetaObj{alloc=<A: void foo(java.lang.String,java.lang.Object)>,type=java.lang.reflect.Method}]
[]:<Annotations: void main(java.lang.String[])>/temp$11 -> [[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[][] in <Annotations: void main(java.lang.String[])>}]
[]:<Annotations: void main(java.lang.String[])>/temp$12 -> []
[]:<Annotations: void main(java.lang.String[])>/temp$16 -> [[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[] in <Annotations: void main(java.lang.String[])>}]
[]:<Annotations: void main(java.lang.String[])>/temp$18 -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}, []:ConstantObj{java.lang.Class: StringAnno.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$19 -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$2 -> [[]:ConstantObj{java.lang.Class: A.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$20 -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$21 -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$22 -> [[]:AnnotationObj{alloc=@ClassAnno(Annotations.class),type=ClassAnno}]
[]:<Annotations: void main(java.lang.String[])>/temp$23 -> [[]:AnnotationObj{alloc=@ClassAnno(Annotations.class),type=ClassAnno}]
[]:<Annotations: void main(java.lang.String[])>/temp$24 -> [[]:ConstantObj{java.lang.Class: Annotations.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$3 -> [[]:NewObj{<Annotations: void main(java.lang.String[])>[11@L10] newarray java.lang.Class[%intconst1]}]
[]:<Annotations: void main(java.lang.String[])>/temp$4 -> [[]:ConstantObj{java.lang.Class: java.lang.String.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$5 -> [[]:ConstantObj{java.lang.Class: java.lang.String.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$6 -> [[]:ConstantObj{java.lang.Class: java.lang.String.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$7 -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$8 -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}]
[]:<Annotations: void main(java.lang.String[])>/temp$9 -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}]
[]:<Annotations: void main(java.lang.String[])>/value -> [[]:ConstantObj{java.lang.Class: Annotations.class}]

Points-to sets of all static fields
<Annotations: java.lang.Class class$A> -> [[]:ConstantObj{java.lang.Class: A.class}]
<Annotations: java.lang.Class class$ClassAnno> -> [[]:ConstantObj{java.lang.Class: ClassAnno.class}]
<Annotations: java.lang.Class class$java$lang$Object> -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}]
<Annotations: java.lang.Class class$java$lang$String> -> [[]:ConstantObj{java.lang.Class: java.lang.String.class}]
<java.lang.System: java.io.PrintStream out> -> []

Points-to sets of all instance fields

Points-to sets of all array indexes
[]:EntryPointObj{alloc=MethodParam{<Annotations: void main(java.lang.String[])>/0},type=java.lang.String[] in <Annotations: void main(java.lang.String[])>}[*] -> [[]:EntryPointObj{alloc=MethodParam{<Annotations: void main(java.lang.String[])>/0}[*],type=java.lang.String in <Annotations: void main(java.lang.String[])>}]
[]:NewObj{<Annotations: void main(java.lang.String[])>[11@L10] newarray java.lang.Class[%intconst1]}[*] -> [[]:ConstantObj{java.lang.Class: java.lang.Object.class}, []:ConstantObj{java.lang.Class: java.lang.String.class}]
[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[] in <Annotations: void main(java.lang.String[])>}[*] -> [[]:AnnotationObj{alloc=@ClassAnno(A.class),type=ClassAnno}, []:AnnotationObj{alloc=@ClassAnno(B.class),type=ClassAnno}, []:AnnotationObj{alloc=@StringAnno("xxx"),type=StringAnno}]
[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[][] in <Annotations: void main(java.lang.String[])>}[*] -> [[]:ParamAnnotations{alloc=<Annotations: void main(java.lang.String[])>[39@L11] temp$11 = invokevirtual foo.getParameterAnnotations(),type=java.lang.annotation.Annotation[] in <Annotations: void main(java.lang.String[])>}]

