[lworld] RFR: 8377101: [lworld] Automatically generate value class sources based on source annotations [v4]

David Beaumont duke at openjdk.org
Fri Feb 27 18:45:27 UTC 2026


> Adds a new AnnotationProcessor to read the @MigratedValueClass on prospective value classes and generate the equivalent source file with the 'value' keyword at each annotated class declaration.
> 
> This adds new PROCESSOR_PATH variable to the compilation macro and use it for annotation processing.
> This also requires moving the plugin discovery path to the new variable (was in classpath before) because the addition of a '--processor-path' flag disables using the classpath for plugin discovery.
> 
> For now this is all limited to `java.base` but that's expandable later easily. There was an issue just enabling it for all modules however (esp. `jdk.incubator` which might be special).
> 
> While there is currently no specific unit test for this code, if it were to fail to generate the correct value classes, a lot of other downstream tests would fail.

David Beaumont has updated the pull request incrementally with one additional commit since the last revision:

  More tests and tidying

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2180/files
  - new: https://git.openjdk.org/valhalla/pull/2180/files/6176d2b6..1816326b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2180&range=03
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2180&range=02-03

  Stats: 43 lines in 2 files changed: 27 ins; 2 del; 14 mod
  Patch: https://git.openjdk.org/valhalla/pull/2180.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2180/head:pull/2180

PR: https://git.openjdk.org/valhalla/pull/2180


More information about the valhalla-dev mailing list