On Wed, 5 Aug 2026 13:07:41 GMT, Axel Boldt-Christmas <[email protected]> wrote:
> Reopened Valhalla PR which did not go in before the code freeze > (openjdk/valhalla#2405). > > The original PR was review by @jsikstro and @johan-sjolen. >> 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. > > This only adapts the current ValueClassPlugin to be more robust, there might > be room for improving how we do this Value class transformation in some other > way. > > * Testing > * Verified that enable preview testing classes are transformed, including > `gc/stress/gcbasher` which was missed before this change. > * Testing tests with annotation with and without enable preview > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). test/jtreg_value_class_plugin/plugin/jdk/test/valueclass/ValueClassPlugin.java line 81: > 79: public void visitClassDef(JCClassDecl tree) { > 80: boolean hasAnnotation = > tree.mods.annotations.stream() > 81: .anyMatch(a -> a.annotationType.toString() I think maybe you can check `a.annotationType.type.toString()`? That should be the fully-qualified class name of `AsValueClass` and you should be able to drop the complex checks with imports and everything. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32214#discussion_r3721483233
