RFR: 8350212: Track source end positions of declarations that support @SuppressWarnings [v8]
Maurizio Cimadamore
mcimadamore at openjdk.org
Fri May 30 21:55:02 UTC 2025
On Fri, 30 May 2025 20:14:30 GMT, Archie Cobbs <acobbs at openjdk.org> wrote:
>> 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.
>
> Archie Cobbs has updated the pull request incrementally with one additional commit since the last revision:
>
> Update EndPosTable.replaceTree() to handle a new node equal to null.
Looks good. But please wait a week or so before integrating (e.g. the JDK 26 fork) -- I think better not to rush this at this stage of the release cycle Thanks!
-------------
Marked as reviewed by mcimadamore (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/23669#pullrequestreview-2882628417
More information about the compiler-dev
mailing list