<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        text-align:right;
        direction:rtl;
        unicode-bidi:embed;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:.5in;
        margin-bottom:0in;
        margin-left:0in;
        text-align:right;
        direction:rtl;
        unicode-bidi:embed;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Arial",sans-serif;
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:148177082;
        mso-list-template-ids:8432478;}
@list l0:level1
        {mso-level-start-at:2;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:929197909;
        mso-list-template-ids:-955320842;}
@list l1:level1
        {mso-level-start-at:3;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l2
        {mso-list-id:1271206249;
        mso-list-template-ids:1571313382;}
@list l3
        {mso-list-id:1421298208;
        mso-list-template-ids:68077486;}
@list l3:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">Dear Maurizio,<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">I guessed so.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">I have no experience with open source and PR, but would not object to learn. Never too late. Point me to
 some spec.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none">Jonathan Rosenne</span><span style="font-size:14.0pt;color:#1F497D;mso-ligatures:none"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><b><span style="mso-ligatures:none">From:</span></b><span style="mso-ligatures:none"> Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
<br>
<b>Sent:</b> Wednesday, May 15, 2024 4:18 PM<br>
<b>To:</b> Jonathan Rosenne <jr@qsm.co.il>; jextract-dev@openjdk.org<br>
<b>Subject:</b> Re: jextract warnings<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><o:p> </o:p></p>
<p style="text-align:left;direction:ltr;unicode-bidi:embed">Hi Jonathan,<br>
it would be relatively easy to fix the first two. Harder to fix the latter, given jextract uses a canned set of imports for all files it generates.<span style="mso-ligatures:none"><o:p></o:p></span></p>
<p style="text-align:left;direction:ltr;unicode-bidi:embed">I'm happy to help if you want to contribute a PR. The classes generating the output are called XYZBuilder. E.g. structs are generated by StructBuilder class, so it should be easy to find what you are
 looking for.<o:p></o:p></p>
<p style="text-align:left;direction:ltr;unicode-bidi:embed">Cheers<br>
Maurizio<o:p></o:p></p>
<div>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed">On 15/05/2024 14:13, Jonathan Rosenne wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">Intellij IDEA reports several warnings with the code generated by jextract. How difficult would it be to
 improve it? Of course I could let IDEA fix these warnings but I am not sure this is a good idea.</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">The most common ones in my case are:</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="color:#1F497D;margin-right:0in;text-align:left;mso-list:l3 level1 lfo3;direction:ltr;unicode-bidi:embed">
<span style="font-size:14.0pt;font-family:"Arial",sans-serif">The final is superfluous:</span><o:p></o:p></li></ol>
<p class="MsoNormal" style="margin-left:.25in;text-align:left;direction:ltr;unicode-bidi:embed">
<span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">   /**</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">     * The layout of this struct</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">     */</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">    public static final GroupLayout layout() {</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">        return $LAYOUT;</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">    }</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<ol style="margin-top:0in" start="2" type="1">
<li class="MsoListParagraph" style="color:#1F497D;margin-right:0in;text-align:left;mso-list:l3 level1 lfo3;direction:ltr;unicode-bidi:embed">
<span style="font-size:14.0pt;font-family:"Arial",sans-serif">Field may be final</span><o:p></o:p></li></ol>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D">     private static long[] iv$DIMS = { 8 };
</span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<ol style="margin-top:0in" start="3" type="1">
<li class="MsoListParagraph" style="color:#1F497D;margin-right:0in;text-align:left;mso-list:l3 level1 lfo3;direction:ltr;unicode-bidi:embed">
<span style="font-size:14.0pt;font-family:"Arial",sans-serif">Many classes have unused imports</span><o:p></o:p></li></ol>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" dir="RTL"><span dir="LTR" style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D"> </span><span dir="LTR"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none">Best Regards,</span><span lang="HE" dir="RTL"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span dir="LTR"></span><span dir="LTR"></span><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none"><span dir="LTR"></span><span dir="LTR"></span> </span><o:p></o:p></p>
<p class="MsoNormal" style="text-align:left;direction:ltr;unicode-bidi:embed"><span style="font-size:14.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-ligatures:none">Jonathan Rosenne</span><o:p></o:p></p>
<p class="MsoNormal" dir="RTL"><span dir="LTR"> <o:p></o:p></span></p>
</blockquote>
</div>
</body>
</html>