<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font size="4"><font face="monospace">This is a good improvement.  I
        have a few additional suggestions and questions:<br>
        <br>
         - The ClassRemapper spec talks about what it _doesn't_ map,
        rather than what it does.  We should characterize what it does
        do (e.g., for every ClassEntry referenced by an instruction,
        attribute, or metadata, map it to a new ClassEntry as per the
        contents of the map...)  It should also give a plain explanation
        of when you would use it (e.g., package renaming.)  <br>
         - You might want to give some example code for how to remap
        _all_ classes in package com.foo to com.bar -- this involves
        writing a Function that looks at prefixes.  <br>
         - Does CodeLocalsShifter::addLocal work in concert with the
        local-allocation feature of BlockBuilder?  <br>
         - Should explain why fork() exists<br>
        <br>
        There is some question about what package these should go in.  I
        think the current package "transforms" is probably not optimal. 
        <br>
        <br>
         - We could put these in the jdk.classfile package.  There's
        only a handful of them, I think this would be OK.<br>
         - We could put these in some package that suggests these are
        reusable components that are not part of the classfile API.  But
        if so, "transform" is probably a little too specific, since one
        can imagine reusable components for other things (e.g., a
        pedantic verifying builder wrapper, an AttributeBuilder for
        foreign but common attributes, if such a thing existed, etc.) 
        "Util" is a little general (plus it has the feeling of a
        "dumping ground") but might be OK.  ASM also has "commons",
        which has the suggestion of "stuff contributed from the
        community", but that's also not a great name.  <br>
        <br>
        The ASM "util" package contains: Trace/CheckClassAdapter and
        friends, ClassPrinter, etc.  This feels in roughly the same
        category -- stuff you may want to use, but which are
        "components" rather than framework.<br>
        <br>
      </font></font><br>
    <div class="moz-cite-prefix">On 9/12/2022 1:06 PM, Adam Sotona
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CY4PR1001MB21509FD9746E32E5754A814A8C449@CY4PR1001MB2150.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;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I’ve performed some
            cleanup, renaming and API unification in
            jdk.classfile.transforms package.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Plus added Javadoc with
            code snippets.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Please let me know your
            comments:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><a href="https://github.com/openjdk/jdk-sandbox/pull/36" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jdk-sandbox/pull/36</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Adam<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>