On Fri, 29 Sep 2023 08:22:47 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> This patch adds a new lint warning category, namely `-Xlint:restricted` to 
>> enable warnings on restricted method calls.
>> 
>> The patch is relatively straightforward: javac marks methods that are marked 
>> with the `@Restricted` annotation with a corresponding internal flag. This 
>> is done both in `Annotate` when compiling JDK from source, and in 
>> `ClassReader` when JDK classfiles are read. When calls to methods marked 
>> with the special flag are found, a new warning is issued.
>> 
>> While there are some similarities between this new warning and the preview 
>> API warnings, the compiler does *not* emit a mandatory note when a 
>> compilation unit is found to have one or more restricted method calls. In 
>> other words, this is just a plain lint warning.
>> 
>> The output from javac looks as follows:
>> 
>> 
>> Foo.java:6: warning: [restricted] MemorySegment.reinterpret(long) is a 
>> restricted method.
>>       Arena.ofAuto().allocate(10).reinterpret(100);
>>                                  ^
>>   (Restricted methods are unsafe, and, if used incorrectly, they might crash 
>> the JVM or result in memory corruption)
>
> Maurizio Cimadamore has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Address review comments

src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
 line 1921:

> 1919: 
> 1920: # 0: symbol, 1: symbol
> 1921: compiler.warn.restricted.method=\

I've updated the name of this key (from `compiler.warn.restricted.method.call` 
to make it more general, and also applicable in the case of method reference. 
Note that the warning text itself has not changed, as that was already correct.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15964#discussion_r1341062635

Reply via email to