On Thu, 4 Jun 2026 07:29:21 GMT, Axel Boldt-Christmas <[email protected]> 
wrote:

>> There are few places which uses the fully qualified name for the 
>> `AsValueClass` annotation. As a result the plugging does not modify these 
>> classes when compiling, so they are still identity classes.
>> 
>> I propose improving the robustness of this plugin. We need to do this during 
>> parsing so we cannot actually check 100% that it will resolve to the correct 
>> annotation. However we can do a best effort, which handles same package, 
>> fully qualified, imported and rejects other annotations with the same class 
>> name.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Axel Boldt-Christmas has updated the pull request with a new target base due 
> to a merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Merge remote-tracking branch 'upstream_valhalla/lworld' into 
> lworld-improve-ValueClassPlugin
>  - Merge remote-tracking branch 'upstream_valhalla/lworld' into 
> lworld-improve-ValueClassPlugin
>  - Make ValueClassPlugin more robust

I think this is going in the right direction. One question:

What if we have a case like below, that will match as true when it shouldn't. 
But I guess that's rare/bad code.

package jdk.test.lib.valueclass;

import other.AsValueClass;

@AsValueClass
public final class ShadowInSamePackage {}

-------------

PR Review: 
https://git.openjdk.org/valhalla/pull/2405#pullrequestreview-4459708187

Reply via email to