> 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: Add comment in jdk.compiler's module-info ------------- Changes: - all: https://git.openjdk.org/jdk/pull/15964/files - new: https://git.openjdk.org/jdk/pull/15964/files/1951b742..1751bef3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=15964&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15964&range=02-03 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/15964.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15964/head:pull/15964 PR: https://git.openjdk.org/jdk/pull/15964