RFR: 8354556: Expand value-based class warnings to java.lang.ref API [v7]
Chen Liang
liach at openjdk.org
Fri May 9 14:42:52 UTC 2025
On Fri, 9 May 2025 14:35:38 GMT, Vicente Romero <vromero at openjdk.org> wrote:
>> This PR is defining a new internal annotation, `@jdk.internal.RequiresIdentity`, with target types PARAMETER and TYPE_PARAMETER. The @RequiresIdentity annotation expresses the expectation that an argument to a given method or constructor parameter will be an object with a unique identity, not an instance of a value-based class; or that the type argument to a given type parameter will not be a value-based class type.
>>
>> For more details please refer to the complete description in the corresponding JIRA entry [1]
>>
>> TIA
>>
>> [1] https://bugs.openjdk.org/browse/JDK-8354556
>
> Vicente Romero has updated the pull request incrementally with one additional commit since the last revision:
>
> documentation and adding alias to lint categories
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java line 434:
> 432: // we need to do this as forward references are not allowed
> 433: if (alias != null) {
> 434: alias.alias = this;
I think we wish to make this a union-find-like structure (if you are familiar with leetcode problems) - we need to have some category as roots that point to themselves. Other category like synchronization can point to identity. When we use a `LintCategory` we do a "find root" to find the actual category to use.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24746#discussion_r2081830955
More information about the compiler-dev
mailing list