Points-to sets of all variables
[]:<Args$A: void <init>()>/%this -> [[]:NewObj{<Args: void actualNoRecv()>[1@L52] new Args$A}, []:NewObj{<Args: void actualRecv()>[1@L47] new Args$A}, []:NewObj{<Args: void captureNoRecv()>[4@L40] new Args$A}, []:NewObj{<Args: void captureRecv()>[0@L21] new Args$A}, []:NewObj{<Args: void captureWithActualNoRecv()>[2@L70] new Args$A}]
[]:<Args$A: void noArg()>/%this -> [[]:NewObj{<Args: void captureRecv()>[0@L21] new Args$A}]
[]:<Args$A: void oneArg(B)>/%this -> [[]:NewObj{<Args: void actualRecv()>[1@L47] new Args$A}]
[]:<Args$A: void oneArg(B)>/r1 -> [[]:NewObj{<Args: void actualRecv()>[3@L47] new B}]
[]:<Args$A: void threeArgs(B,java.lang.Object,Args$A)>/%this -> [[]:NewObj{<Args: void captureNoRecv()>[4@L40] new Args$A}]
[]:<Args$A: void threeArgs(B,java.lang.Object,Args$A)>/r1 -> [[]:NewObj{<Args: void captureNoRecv()>[0@L38] new B}]
[]:<Args$A: void threeArgs(B,java.lang.Object,Args$A)>/r2 -> [[]:NewObj{<Args: void captureNoRecv()>[2@L39] new java.lang.Object}]
[]:<Args$A: void threeArgs(B,java.lang.Object,Args$A)>/r3 -> [[]:NewObj{<Args: void captureNoRecv()>[4@L40] new Args$A}]
[]:<Args$A: void twoArgs(B,java.lang.Object)>/%this -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[2@L70] new Args$A}]
[]:<Args$A: void twoArgs(B,java.lang.Object)>/r1 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[0@L69] new B}]
[]:<Args$A: void twoArgs(B,java.lang.Object)>/r2 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[5@L72] new java.lang.Object}]
[]:<Args: void <init>()>/%this -> [[]:NewObj{<Args: void captureRecv()>[5@L26] new Args}, []:NewObj{<Args: void captureWithActualRecv()>[0@L56] new Args}]
[]:<Args: void actualNoRecv()>/$r0 -> [[]:LambdaObj{alloc=<Args: void actualNoRecv()>[0@L51] $r0 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "accept" <MethodType: java.util.function.BiConsumer ()>[MethodType: void (java.lang.Object,java.lang.Object),MethodHandle[REF_invokeStatic]: <Args: void lambda$actualNoRecv$2(Args$A,java.lang.Object)>,MethodType: void (Args$A,java.lang.Object)](),type=java.util.function.BiConsumer in <Args: void actualNoRecv()>}]
[]:<Args: void actualNoRecv()>/$r1 -> [[]:NewObj{<Args: void actualNoRecv()>[1@L52] new Args$A}]
[]:<Args: void actualNoRecv()>/$r2 -> [[]:NewObj{<Args: void actualNoRecv()>[3@L52] new java.lang.Object}]
[]:<Args: void actualRecv()>/$r0 -> [[]:LambdaObj{alloc=<Args: void actualRecv()>[0@L46] $r0 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "accept" <MethodType: java.util.function.BiConsumer ()>[MethodType: void (java.lang.Object,java.lang.Object),MethodHandle[REF_invokeVirtual]: <Args$A: void oneArg(B)>,MethodType: void (Args$A,B)](),type=java.util.function.BiConsumer in <Args: void actualRecv()>}]
[]:<Args: void actualRecv()>/$r1 -> [[]:NewObj{<Args: void actualRecv()>[1@L47] new Args$A}]
[]:<Args: void actualRecv()>/$r2 -> [[]:NewObj{<Args: void actualRecv()>[3@L47] new B}]
[]:<Args: void callOnThis(B)>/$r2 -> [[]:LambdaObj{alloc=<Args: void callOnThis(B)>[0@L31] $r2 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "run" <MethodType: java.lang.Runnable (Args,B)>[MethodType: void (),MethodHandle[REF_invokeSpecial]: <Args: void lambda$callOnThis$0(B)>,MethodType: void ()](%this, r1),type=java.lang.Runnable in <Args: void callOnThis(B)>}]
[]:<Args: void callOnThis(B)>/%this -> [[]:NewObj{<Args: void captureRecv()>[5@L26] new Args}]
[]:<Args: void callOnThis(B)>/r1 -> [[]:NewObj{<Args: void captureRecv()>[7@L27] new B}]
[]:<Args: void callOnThis2(B)>/$r2 -> [[]:LambdaObj{alloc=<Args: void callOnThis2(B)>[0@L62] $r2 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "accept" <MethodType: java.util.function.Consumer (Args,B)>[MethodType: void (java.lang.Object),MethodHandle[REF_invokeSpecial]: <Args: void lambda$callOnThis2$3(B,B)>,MethodType: void (B)](%this, r1),type=java.util.function.Consumer in <Args: void callOnThis2(B)>}]
[]:<Args: void callOnThis2(B)>/$r3 -> [[]:NewObj{<Args: void callOnThis2(B)>[1@L63] new B}]
[]:<Args: void callOnThis2(B)>/%this -> [[]:NewObj{<Args: void captureWithActualRecv()>[0@L56] new Args}]
[]:<Args: void callOnThis2(B)>/r1 -> [[]:NewObj{<Args: void captureWithActualRecv()>[2@L57] new B}]
[]:<Args: void captureNoRecv()>/$r0 -> [[]:NewObj{<Args: void captureNoRecv()>[0@L38] new B}]
[]:<Args: void captureNoRecv()>/$r1 -> [[]:NewObj{<Args: void captureNoRecv()>[2@L39] new java.lang.Object}]
[]:<Args: void captureNoRecv()>/$r2 -> [[]:NewObj{<Args: void captureNoRecv()>[4@L40] new Args$A}]
[]:<Args: void captureNoRecv()>/$r3 -> [[]:LambdaObj{alloc=<Args: void captureNoRecv()>[6@L41] $r3 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "run" <MethodType: java.lang.Runnable (Args$A,B,java.lang.Object)>[MethodType: void (),MethodHandle[REF_invokeStatic]: <Args: void lambda$captureNoRecv$1(Args$A,B,java.lang.Object)>,MethodType: void ()]($r2, $r0, $r1),type=java.lang.Runnable in <Args: void captureNoRecv()>}]
[]:<Args: void captureRecv()>/$r0 -> [[]:NewObj{<Args: void captureRecv()>[0@L21] new Args$A}]
[]:<Args: void captureRecv()>/$r1 -> [[]:LambdaObj{alloc=<Args: void captureRecv()>[3@L22] $r1 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "run" <MethodType: java.lang.Runnable (Args$A)>[MethodType: void (),MethodHandle[REF_invokeVirtual]: <Args$A: void noArg()>,MethodType: void ()]($r0),type=java.lang.Runnable in <Args: void captureRecv()>}]
[]:<Args: void captureRecv()>/$r2 -> [[]:NewObj{<Args: void captureRecv()>[5@L26] new Args}]
[]:<Args: void captureRecv()>/$r3 -> [[]:NewObj{<Args: void captureRecv()>[7@L27] new B}]
[]:<Args: void captureWithActualNoRecv()>/$r0 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[0@L69] new B}]
[]:<Args: void captureWithActualNoRecv()>/$r1 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[2@L70] new Args$A}]
[]:<Args: void captureWithActualNoRecv()>/$r2 -> [[]:LambdaObj{alloc=<Args: void captureWithActualNoRecv()>[4@L71] $r2 = invokedynamic <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)> "accept" <MethodType: java.util.function.Consumer (Args$A,B)>[MethodType: void (java.lang.Object),MethodHandle[REF_invokeStatic]: <Args: void lambda$captureWithActualNoRecv$4(Args$A,B,java.lang.Object)>,MethodType: void (java.lang.Object)]($r1, $r0),type=java.util.function.Consumer in <Args: void captureWithActualNoRecv()>}]
[]:<Args: void captureWithActualNoRecv()>/$r3 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[5@L72] new java.lang.Object}]
[]:<Args: void captureWithActualRecv()>/$r0 -> [[]:NewObj{<Args: void captureWithActualRecv()>[0@L56] new Args}]
[]:<Args: void captureWithActualRecv()>/$r1 -> [[]:NewObj{<Args: void captureWithActualRecv()>[2@L57] new B}]
[]:<Args: void consume(B)>/%this -> [[]:NewObj{<Args: void captureRecv()>[5@L26] new Args}]
[]:<Args: void consume(B)>/r1 -> [[]:NewObj{<Args: void captureRecv()>[7@L27] new B}]
[]:<Args: void consume2(B,B)>/%this -> [[]:NewObj{<Args: void captureWithActualRecv()>[0@L56] new Args}]
[]:<Args: void consume2(B,B)>/r1 -> [[]:NewObj{<Args: void captureWithActualRecv()>[2@L57] new B}]
[]:<Args: void consume2(B,B)>/r2 -> [[]:NewObj{<Args: void callOnThis2(B)>[1@L63] new B}]
[]:<Args: void lambda$actualNoRecv$2(Args$A,java.lang.Object)>/r0 -> [[]:NewObj{<Args: void actualNoRecv()>[1@L52] new Args$A}]
[]:<Args: void lambda$actualNoRecv$2(Args$A,java.lang.Object)>/r1 -> [[]:NewObj{<Args: void actualNoRecv()>[3@L52] new java.lang.Object}]
[]:<Args: void lambda$callOnThis$0(B)>/%this -> [[]:NewObj{<Args: void captureRecv()>[5@L26] new Args}]
[]:<Args: void lambda$callOnThis$0(B)>/r1 -> [[]:NewObj{<Args: void captureRecv()>[7@L27] new B}]
[]:<Args: void lambda$callOnThis2$3(B,B)>/%this -> [[]:NewObj{<Args: void captureWithActualRecv()>[0@L56] new Args}]
[]:<Args: void lambda$callOnThis2$3(B,B)>/r1 -> [[]:NewObj{<Args: void captureWithActualRecv()>[2@L57] new B}]
[]:<Args: void lambda$callOnThis2$3(B,B)>/r2 -> [[]:NewObj{<Args: void callOnThis2(B)>[1@L63] new B}]
[]:<Args: void lambda$captureNoRecv$1(Args$A,B,java.lang.Object)>/r0 -> [[]:NewObj{<Args: void captureNoRecv()>[4@L40] new Args$A}]
[]:<Args: void lambda$captureNoRecv$1(Args$A,B,java.lang.Object)>/r1 -> [[]:NewObj{<Args: void captureNoRecv()>[0@L38] new B}]
[]:<Args: void lambda$captureNoRecv$1(Args$A,B,java.lang.Object)>/r2 -> [[]:NewObj{<Args: void captureNoRecv()>[2@L39] new java.lang.Object}]
[]:<Args: void lambda$captureWithActualNoRecv$4(Args$A,B,java.lang.Object)>/r0 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[2@L70] new Args$A}]
[]:<Args: void lambda$captureWithActualNoRecv$4(Args$A,B,java.lang.Object)>/r1 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[0@L69] new B}]
[]:<Args: void lambda$captureWithActualNoRecv$4(Args$A,B,java.lang.Object)>/r2 -> [[]:NewObj{<Args: void captureWithActualNoRecv()>[5@L72] new java.lang.Object}]
[]:<Args: void main(java.lang.String[])>/r0 -> [[]:EntryPointObj{alloc=MethodParam{<Args: void main(java.lang.String[])>/0},type=java.lang.String[] in <Args: void main(java.lang.String[])>}]
[]:<B: void <init>()>/%this -> [[]:NewObj{<Args: void actualRecv()>[3@L47] new B}, []:NewObj{<Args: void callOnThis2(B)>[1@L63] new B}, []:NewObj{<Args: void captureNoRecv()>[0@L38] new B}, []:NewObj{<Args: void captureRecv()>[7@L27] new B}, []:NewObj{<Args: void captureWithActualNoRecv()>[0@L69] new B}, []:NewObj{<Args: void captureWithActualRecv()>[2@L57] new B}]

Points-to sets of all static fields

Points-to sets of all instance fields

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

