This patch adds new tests of fields layouts and the substitutability method 
using randomly generated methods.
In its current form, the value class generator is limited to the JEP 401 model, 
meaning it doesn't support null-restricted fields nor non-atomic values.

The value class generator (ValueClassGenerator.java) is used by 
ValueRandomLayoutTest.java which runs the FieldLayoutAnalyzer on all generated 
classes to verify invariants of layouts.
The value class generator is also used by ValueComparisonTest.java which tests 
the substitutability method. The generated value classes have a set of 
pre-computed values than can be used for instance initializations and value 
comparisons.

Testing in progress tier1-4

Fred

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

Commit messages:
 - Fix end of file return and remove dead code
 - Test tuning
 - Fix layout output
 - Add abstract value classes and inheritance to generated classes
 - Add an identity class to possible field types
 - Remove old developement print statements
 - Add tests using randomly generated values

Changes: https://git.openjdk.org/valhalla/pull/2202/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2202&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8379355
  Stats: 1154 lines in 13 files changed: 1123 ins; 16 del; 15 mod
  Patch: https://git.openjdk.org/valhalla/pull/2202.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2202/head:pull/2202

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

Reply via email to