<!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>