<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
That is because <font face="Consolas">StringTemplate</font> is in the <font face="Consolas">
java.lang</font> package which gets imported automatically: “<font face="Consolas">import java.lang.*</font>”.<br id="lineBreakAtBeginningOfMessage">
<div><br>
<blockquote type="cite">
<div>On Nov 14, 2023, at 1:24 PM, Anatoly Kupriyanov <kan.izh@gmail.com> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<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="">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;">
<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-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; 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-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; 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>
</div>
</blockquote>
</div>
<br>
</body>
</html>