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

Reply via email to