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
