<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
On 12/06/2024 15:23, David Lloyd wrote:<br>
<blockquote type="cite" cite="mid:CANghgrR4jkvzsisfnKH9DvuyB9RtUe4KgXx5KeMtpCLXvLkE8w@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
</div>
:<br>
<div dir="ltr">
<div class="gmail_quote">
<div style="font-family:arial,helvetica,sans-serif">.</div>
</div>
</div>
<div class="gmail_quote">
<div><br>
</div>
<div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I have a
*very* rough prototype up [1]. It adds two new accessor
methods to `ReflectionFactory`:
`defaultReadObjectForSerialization` and
`defaultWriteObjectForSerialization`. It was easier than
expected, due largely to the classfile API, which is
really nice.</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">These
methods create an artificial `readObject`/`writeObject`
method in a hidden+nestmate class connected to the
original class, which uses the stream's
`GetField`/`PutField` to access the stream data and normal
field operations to access the class fields. For usage,
these methods can be used when
`read|writeObjectForSerialization` return `null`, *or*
when `defaultRead|WriteObject` is used.</div>
<br>
</div>
</div>
</div>
</blockquote>
Good to hear you've got a prototype to discuss. I don't think I can
look at what you have in your own repo but I do have a question. Do
the defaultXXX methods return a method handle or do they fail/null
when there are read/writeObject methods? Asking if they will bypass
these methods.<br>
<br>
-Alan<br>
</body>
</html>