RFR: 8350212: Track source end positions of declarations that support @SuppressWarnings
Archie Cobbs
acobbs at openjdk.org
Tue Feb 18 02:44:39 UTC 2025
This PR is a sub-task split off from [JDK-8224228](https://bugs.openjdk.org/browse/JDK-8224228), which seeks to add `@SuppressWarnings` support for lexical features.
Lexical features don't know about classes, members or symbols, so their source file positions must be matched to the source file character offset range of the innermost containing `JCModuleDecl`, `JCPackageDecl`, `JCClassDecl`, `JCMethodDecl`, or `JCVariableDecl`. That means we need the end positions of all such declarations to be available.
The parser doesn't normally store lexical end positions unless explicitly requested, and we don't want to mandate it for performance reasons.
Instead, we can just add an `int endPos` field to these five AST nodes. This field can be populated as part of the normal parsing of these node types, which already supports the (optional) tracking of end positions.
-------------
Commit messages:
- Track source end positions of declarations that support @SuppressWarnings.
Changes: https://git.openjdk.org/jdk/pull/23669/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23669&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8350212
Stats: 212 lines in 5 files changed: 189 ins; 2 del; 21 mod
Patch: https://git.openjdk.org/jdk/pull/23669.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23669/head:pull/23669
PR: https://git.openjdk.org/jdk/pull/23669
More information about the compiler-dev
mailing list