In the Java Platform, most bootstrap method declarations are declared in Java source code. Each of these bootstrap method need to refer to the bootstrap method mechanism, which makes documentation repetitive, and not straightforward when seen from source code. This demand came out of recent PR reviews like #30067.
We can introduce documented annotations so the bootstrap method role becomes straightforward. The Java compilers can also emit warnings for these annotations to make sure the annotated declarations are not definitely illegal. In this RFE, javac will provide basic warnings under the new "bsm" lint category to validate these annotations for source levels 27 and above. The lint category will be on by default, and won't affect `-Xlint:all` usages for source levels 26 and below. ------------- Commit messages: - Merge branch 'master' of https://github.com/openjdk/jdk into feature/javac-bsm-validate - Years - Updates - Copyright - Merge branch 'master' of https://github.com/openjdk/jdk into feature/javac-bsm-validate - More fixes - Fixed error hiding - Wip suggestions - Validate bsm in javac Changes: https://git.openjdk.org/jdk/pull/30125/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30125&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8379446 Stats: 539 lines in 20 files changed: 518 ins; 12 del; 9 mod Patch: https://git.openjdk.org/jdk/pull/30125.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30125/head:pull/30125 PR: https://git.openjdk.org/jdk/pull/30125
