> The idea is to implement the **ValueClass** annotation that can be used in > test code to allow to run the same tests with and without --enable-preview. > > This annotation should be used to mark value classes. > > The new jtreg test compilation and execution mode that uses javac plugin to > process classes during compilation. This plugin change classes with > **ValueClass** annotation to value classes. > By default, the annotation doesn't have any impact on the tests. > > Here are the work items: > > 1. Create ValueClass annotation. > 2. Create a javac plugin, ValueClassPlugin, that implements a TaskListener to > mark a class as a value class during the PARSE phase. > 3. Build the ValueClass plugin. > 4. Pass a new plugin option, -Xplugin:ValueClassPlugin, to enable the plugin > and enable preview.
Bill Huang has updated the pull request incrementally with one additional commit since the last revision: Remove the separate valueClassAnnotation.jar build step since ValueClassPlugin matches @AsValueClass by name and jtreg recompiles library sources per-test, making the pre-built annotation JAR unnecessary. ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2253/files - new: https://git.openjdk.org/valhalla/pull/2253/files/540e50fd..35b5071e Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2253&range=07 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2253&range=06-07 Stats: 49 lines in 2 files changed: 0 ins; 44 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/2253.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2253/head:pull/2253 PR: https://git.openjdk.org/valhalla/pull/2253
