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. ------------- Commit messages: - [lworld] Auto-detect ValueClassPlugin JAR presence instead of requiring explicit VALUE_CLASS_PLUGIN flag - Remove trailing whitespaces - JDK-8380084 [lworld] Implement value classes in test code using annotation Changes: https://git.openjdk.org/valhalla/pull/2253/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2253&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8380084 Stats: 337 lines in 7 files changed: 335 ins; 0 del; 2 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
