On Thu, 28 Sep 2023 15:36:30 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: > > Update warning message question shouldn't the new Restricted annotation be annotated with the @PreviewFeature annotation? it depends on a preview feature src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java line 393: > 391: > 392: /** > 393: * Flag to indicate sealed class/interface declaration. this javadoc needs to be adjusted to restricted methods ------------- PR Comment: https://git.openjdk.org/jdk/pull/15964#issuecomment-1739605513 PR Review Comment: https://git.openjdk.org/jdk/pull/15964#discussion_r1340351919