<div dir="ltr"><div>Hm. Weird, it seems the class itself is imported by default. This code compiles just fine even without any import statements at all. It does not look right to me. But maybe I'm not using the latest version?<br></div><div></div><div><div style="background-color:rgb(255,255,255);color:rgb(8,8,8)"><pre style="font-family:"JetBrains Mono",monospace;font-size:9.8pt"><span style="color:rgb(0,0,0)">StringTemplate st </span>= <span style="color:rgb(0,51,179)">null</span>;</pre></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 14 Nov 2023 at 14:32, Remi Forax <<a href="mailto:forax@univ-mlv.fr">forax@univ-mlv.fr</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><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><div>For me,<br></div><div>RAW does not need to be imported by default, it's uses is not that frequent, it's more like FMT than STR.<br></div><div><br></div><div>regards,<br></div><div>Rémi<br></div><div><br></div><hr id="m_-2331753459354777156zwchr"><div><blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><b>From: </b>"Jim Laskey" <<a href="mailto:james.laskey@oracle.com" target="_blank">james.laskey@oracle.com</a>><br><b>To: </b>"Ella Ananeva" <<a href="mailto:ella.ananeva@oracle.com" target="_blank">ella.ananeva@oracle.com</a>><br><b>Cc: </b>"amber-dev" <<a href="mailto:amber-dev@openjdk.org" target="_blank">amber-dev@openjdk.org</a>><br><b>Sent: </b>Tuesday, November 14, 2023 2:38:59 PM<br><b>Subject: </b>Re: java.lang.StringTemplate.RAW is not implicitly imported?<br></blockquote></div><div><blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;padding-left:5px;color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt">
Thank you for pointing that out. We will revise.<br id="m_-2331753459354777156lineBreakAtBeginningOfMessage">
<div><br>
<blockquote>
<div>On Nov 13, 2023, at 5:03 PM, Ella Ananeva <<a href="mailto:ella.ananeva@oracle.com" target="_blank">ella.ananeva@oracle.com</a>> wrote:</div>
<br>
<div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">Hi team,</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">Reading the JEP 459 spec, I see this:</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">The static members<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">STR</span></code><span> </span>and<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">RAW</span></code><span> </span>declared
in the predefined interface<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">StringTemplate</span></code>, as if the declarations<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">import
static java.lang.StringTemplate.STR;</span></code><span> </span>and<code style="font-family:"Courier New""><span style="font-size:10pt">import static java.lang.StringTemplate.RAW;</span></code><span> </span>appeared
at the beginning of each compilation unit immediately after any<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">package</span></code><span> </span>declaration.</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">As a result, the names of all <strong><span style="font-family:Calibri,sans-serif">implicitly imported</span></strong><span> </span> <strong><span style="font-family:Calibri,sans-serif">classes,
interfaces and static fields</span></strong><span> </span>are available as simple names in every compilation unit.</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">So, I assume this should work:</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif;background:white">
<span style="font-size:10pt;font-family:"Courier New";color:rgb(0,51,179)">package<span> </span></span><span style="font-size:10pt;font-family:"Courier New"">test</span><span style="font-size:10pt;font-family:"Courier New";color:rgb(8,8,8)">;<br>
<br>
</span><span style="font-size:10pt;font-family:"Courier New";color:rgb(0,51,179)">public class<span> </span></span><span style="font-size:10pt;font-family:"Courier New"">Example<span> </span></span><span style="font-size:10pt;font-family:"Courier New";color:rgb(8,8,8)">{<br>
<br>
<span> </span></span><span style="font-size:10pt;font-family:"Courier New";color:rgb(0,51,179)">public static void<span> </span></span><span style="font-size:10pt;font-family:"Courier New";color:rgb(0,98,122)">main</span><span style="font-size:10pt;font-family:"Courier New";color:rgb(8,8,8)">(</span><span style="font-size:10pt;font-family:"Courier New"">String<span> </span></span><span style="font-size:10pt;font-family:"Courier New";color:rgb(8,8,8)">argv[])
{</span></div>
<pre style="margin:0in 0in 0.0001pt;font-size:10pt;font-family:"Courier New";background:white"><span style="color:rgb(0,51,179)"> int </span><span>a </span><span style="color:rgb(8,8,8)">= </span><span style="color:rgb(23,80,235)">1</span><span style="color:rgb(8,8,8)">;<br> </span><span>StringTemplate raw </span><span style="color:rgb(8,8,8)">= RAW.</span><span style="color:rgb(6,125,23)">"<span style="background:rgb(255,204,204)">\{</span>a}"</span><span style="color:rgb(8,8,8)">;<br> }<br>}</span></pre>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-family:"Courier New""> </span></div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">But I get<span> </span></div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span>java:7: error: cannot find symbol</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span> <span> </span></span><span>StringTemplate raw = RAW."\{a + b}";</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span> <span> </span></span><span>^</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span> <span> </span></span><span>symbol:<span> </span></span><span> <span> </span></span><span>variable
RAW</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span> <span> </span></span><span>location: class Example</span></div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span>java --version</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span>java 22-internal 2024-03-19</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span>Java(TM) SE Runtime Environment (build 22-internal-2023-11-03-1839366.james.laskey.open)</span></div>
<div style="margin:0in;font-size:8.5pt;font-family:Menlo"><span>Java HotSpot(TM) 64-Bit Server VM (build 22-internal-2023-11-03-1839366.james.laskey.open, mixed mode, sharing)</span></div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">This code compiles if I add a static import<span> </span><code style="font-family:"Courier New""><span style="font-size:10pt">import static java.lang.StringTemplate.RAW;</span></code></div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">STR is available through static import, so it’s only RAW that causes issues.</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">Could it be a bug in JDK?</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif"> </div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">Thank you,</div>
<div style="margin:0in;font-size:11pt;font-family:Calibri,sans-serif">Ella Ananeva</div>
</div>
</div>
</blockquote>
</div>
<br><br></blockquote></div></div></div></blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">WBR, Anatoly.</div>