<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4" face="monospace">This is a property of the
      implementation, but not something that the spec guarantees,
      though.  Also, in the middle of a transformation pipeline, there
      is no longer a "classfile order" to fall back on.  So it is best
      to not assume anything about ordering, unless the ordering is part
      of the semantics (like the bytecodes in a method body.)<br>
      <br>
      <br>
    </font><br>
    <br>
    <div class="moz-cite-prefix">On 11/22/2024 5:42 AM, Adam Sotona
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:DS0PR10MB68471EF233309951F25E6B6C8C232@DS0PR10MB6847.namprd10.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif">Hi
            Mark,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif">Fields
            and methods are included in the ClassElement stream or
            iterator in the same order, and this order corresponds to
            their order in the class file.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif">This
            principle is common for the whole API, except for some
            PseudoInstructions identifying their start and stop
            positions  in the stream by Labels. These PseudoInstructions
            are always streamed before respective LabelTargets.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif">Adam<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Aptos",sans-serif"><o:p> </o:p></span></p>
        <div id="mail-editor-reference-message-container">
          <div>
            <div>
              <div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">From:
                    </span></b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">classfile-api-dev
                    <a class="moz-txt-link-rfc2396E" href="mailto:classfile-api-dev-retn@openjdk.org"><classfile-api-dev-retn@openjdk.org></a> on behalf
                    of Mark Roberts <a class="moz-txt-link-rfc2396E" href="mailto:markro@cs.washington.edu"><markro@cs.washington.edu></a><br>
                    <b>Date: </b>Friday, 22 November 2024 at 1:12<br>
                    <b>To: </b>Chen Liang
                    <a class="moz-txt-link-rfc2396E" href="mailto:chen.l.liang@oracle.com"><chen.l.liang@oracle.com></a>,
                    <a class="moz-txt-link-abbreviated" href="mailto:classfile-api-dev@openjdk.org">classfile-api-dev@openjdk.org</a>
                    <a class="moz-txt-link-rfc2396E" href="mailto:classfile-api-dev@openjdk.org"><classfile-api-dev@openjdk.org></a><br>
                    <b>Subject: </b>java.lang.classfile model
                    enumeration order<o:p></o:p></span></p>
              </div>
              <div>
                <p class="MsoNormal"><span style="font-size:11.0pt">Are
                    there any rules/guarantees that the order of items
                    in ClassModel::methods() will match the order in
                    ‘for (ClassElement ce : cm)’  for the ce elements
                    that are MethodModel?  And also for similar items
                    down the class hierarchy?<o:p></o:p></span></p>
                <p class="MsoNormal"><span style="font-size:11.0pt"> <o:p></o:p></span></p>
                <p class="MsoNormal"><span style="font-size:11.0pt">Thank
                    you, Mark<o:p></o:p></span></p>
                <p class="MsoNormal"><span style="font-size:11.0pt"> <o:p></o:p></span></p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>