<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <br>
    <br>
    <div class="moz-cite-prefix">On 6/1/2023 2:32 PM, Dan Heidinga
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAJq4Gi5FCxxnuSAEbdLC2n3zETL3ozXwCwu+omMGZ4UxA=YrVQ@mail.gmail.com">
      
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Thu, Jun 1, 2023 at
            1:59 PM Brian Goetz <<a href="mailto:brian.goetz@oracle.com" moz-do-not-send="true" class="moz-txt-link-freetext">brian.goetz@oracle.com</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div> <font size="4"><font face="monospace">I think that
                  there should be an explicit (and not synthetic)
                  method_info for the implicit constructor, with the
                  obvious Code attribute (`defaultvalue` / `areturn`.) </font></font></div>
          </blockquote>
          <div><br>
          </div>
          <div>I'm slightly concerned about having a Code attribute for
            the implicit constructor as it allows agents (ClassFile load
            hook & redefinition) to modify the bytecodes to be
            inconsistent with the VM's behaviour given the VM won't
            actually call the implicit constructor.</div>
          <div><br>
          </div>
          <div>Telling users it's "as if" the VM called the implicit
            ctor and then having the reflective behaviour be different
            after retransformation is slightly uncomfortable.</div>
        </div>
      </div>
    </blockquote>
    <br>
    I'm fine if the expansion of the constructor body happens at runtime
    rather than compile time; my suggestion was mostly "this is
    super-easy in the static compiler, why make more work for the JVM." 
    But, if you're signing up for that work, I won't stop you....<br>
    <br>
    <br>
  </body>
</html>