[External] : Re: java.lang.StringTemplate.RAW is not implicitly imported?
forax at univ-mlv.fr
forax at univ-mlv.fr
Tue Nov 14 14:37:06 UTC 2023
> From: "Jim Laskey" <james.laskey at oracle.com>
> To: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "Ella Ananeva" <ella.ananeva at oracle.com>, "amber-dev"
> <amber-dev at openjdk.org>
> Sent: Tuesday, November 14, 2023 3:33:32 PM
> Subject: Re: [External] : Re: java.lang.StringTemplate.RAW is not implicitly
> imported?
> To clarify, the spec is being revised to drop " import static
> java.lang.StringTemplate.RAW;”.
+1.
Thanks,
Rémi
>> On Nov 14, 2023, at 10:31 AM, Remi Forax <forax at univ-mlv.fr> wrote:
>> For me,
>> RAW does not need to be imported by default, it's uses is not that frequent,
>> it's more like FMT than STR.
>> regards,
>> Rémi
>>> From: "Jim Laskey" <james.laskey at oracle.com>
>>> To: "Ella Ananeva" <ella.ananeva at oracle.com>
>>> Cc: "amber-dev" <amber-dev at openjdk.org>
>>> Sent: Tuesday, November 14, 2023 2:38:59 PM
>>> Subject: Re: java.lang.StringTemplate.RAW is not implicitly imported?
>>> Thank you for pointing that out. We will revise.
>>>> On Nov 13, 2023, at 5:03 PM, Ella Ananeva <ella.ananeva at oracle.com> wrote:
>>>> Hi team,
>>>> Reading the JEP 459 spec, I see this:
>>>> The static members STR and RAW declared in the predefined interface
>>>> StringTemplate , as if the declarations import static
>>>> java.lang.StringTemplate.STR; and import static java.lang.StringTemplate.RAW;
>>>> appeared at the beginning of each compilation unit immediately after any
>>>> package declaration.
>>>> As a result, the names of all implicitly imported classes, interfaces and static
>>>> fields are available as simple names in every compilation unit.
>>>> So, I assume this should work:
>>>> package test ;
>>>> public class Example {
>>>> public static void main ( String argv[]) {
>>>> int a = 1 ;
>>>> StringTemplate raw = RAW. " \{ a}" ;
>>>> }
>>>> }
>>>> But I get
>>>> java:7: error: cannot find symbol
>>>> StringTemplate raw = RAW."\{a + b}";
>>>> ^
>>>> symbol: variable RAW
>>>> location: class Example
>>>> java --version
>>>> java 22-internal 2024-03-19
>>>> Java(TM) SE Runtime Environment (build
>>>> 22-internal-2023-11-03-1839366.james.laskey.open)
>>>> Java HotSpot(TM) 64-Bit Server VM (build
>>>> 22-internal-2023-11-03-1839366.james.laskey.open, mixed mode, sharing)
>>>> This code compiles if I add a static import import static
>>>> java.lang.StringTemplate.RAW;
>>>> STR is available through static import, so it’s only RAW that causes issues.
>>>> Could it be a bug in JDK?
>>>> Thank you,
>>>> Ella Ananeva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-dev/attachments/20231114/9de973ea/attachment-0001.htm>
More information about the amber-dev
mailing list