1Initial: class art.Test1981$Transform[FOO: value of <FOO FIELD>, BAR: value of <BAR FIELD>]
2Reading field FOO using (ID: 0) MethodHandle()Object = (ID: 1) value of <FOO FIELD>
3Reading field FOO using (ID: 2) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 1) value of <FOO FIELD>
4Reading field BAR using (ID: 3) MethodHandle()Object = (ID: 4) value of <BAR FIELD>
5Reading field BAR using (ID: 5) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 4) value of <BAR FIELD>
6Redefining Transform class
7Post redefinition : class art.Test1981$Transform[FOO: value of <FOO FIELD>, BAR: value of <BAR FIELD>, BAZ: null]
8Reading field FOO using (ID: 0) MethodHandle()Object = (ID: 1) value of <FOO FIELD>
9Reading field FOO using (ID: 2) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 1) value of <FOO FIELD>
10Reading field BAR using (ID: 3) MethodHandle()Object = (ID: 4) value of <BAR FIELD>
11Reading field BAR using (ID: 5) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 4) value of <BAR FIELD>
12Reading new field BAZ using (ID: 6) MethodHandle()Object = (ID: 7) <NULL>
13Reading new field BAZ using (ID: 8) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 7) <NULL>
14Reading new field FOO using (ID: 9) MethodHandle()Object = (ID: 1) value of <FOO FIELD>
15Reading new field FOO using (ID: 10) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 1) value of <FOO FIELD>
16Reading new field BAR using (ID: 11) MethodHandle()Object = (ID: 4) value of <BAR FIELD>
17Reading new field BAR using (ID: 12) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 4) value of <BAR FIELD>
18Setting BAZ to (ID: 13) foo with new mh.
19Post set with new mh: class art.Test1981$Transform[FOO: value of <FOO FIELD>, BAR: value of <BAR FIELD>, BAZ: foo]
20Setting FOO to (ID: 14) class art.Test1981$Transform with old mh.
21Post set with old mh: class art.Test1981$Transform[FOO: class art.Test1981$Transform, BAR: value of <BAR FIELD>, BAZ: foo]
22Setting FOO to '(ID: 15) new_value object' with old varhandle.
23Post set with new varhandle: class art.Test1981$Transform[FOO: new_value object, BAR: value of <BAR FIELD>, BAZ: foo]
24Setting BAZ to 'bar' with new varhandle.
25Post set with old varhandle: class art.Test1981$Transform[FOO: new_value object, BAR: value of <BAR FIELD>, BAZ: bar]
26Using mh to call new private method.
27Post reinit with mh: class art.Test1981$Transform[FOO: new_value object, BAR: value of <BAR FIELD>, BAZ: 42]
28Reading field FOO using (ID: 0) MethodHandle()Object = (ID: 15) new_value object
29Reading field FOO using (ID: 2) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 15) new_value object
30Reading field BAR using (ID: 3) MethodHandle()Object = (ID: 4) value of <BAR FIELD>
31Reading field BAR using (ID: 5) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 4) value of <BAR FIELD>
32Reading new field BAZ using (ID: 6) MethodHandle()Object = (ID: 16) 42
33Reading new field BAZ using (ID: 8) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 16) 42
34Reading new field FOO using (ID: 9) MethodHandle()Object = (ID: 15) new_value object
35Reading new field FOO using (ID: 10) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 15) new_value object
36Reading new field BAR using (ID: 11) MethodHandle()Object = (ID: 4) value of <BAR FIELD>
37Reading new field BAR using (ID: 12) java.lang.invoke.FieldVarHandle()->java.lang.Object = (ID: 4) value of <BAR FIELD>
38