[lworld] RFR: 8245584: [lworld] LW3 core reflection update
Mandy Chung
mchung at openjdk.java.net
Thu May 21 22:15:59 UTC 2020
This patch updates the core reflection for the new language model for inline classes.
- `Class::isInlineClass` returns true for inline classes
- `Class::valueType` returns the value projection of an inline class
- `Class::referenceType` returns the reference projection if it's an inline class,
or this class if it's not an inline class
If this class has no val type or ref type, `Class::valueType` and `Class::referenceType`
return an empty `Optional`. We can re-examine if we should modernize Class API shape
where we can rather than holding to the tradition.
I updated TestIntrinsics.java to use the new APIs for now to keep it compiled.
This test will be updated when the intrinsification of the old API `Class::asPrimaryType`
and `Class:asIndirectType` is removed.
-------------
Commit messages:
- Class::valueType and Class::referenceType return Optional
- 8245584: [lworld] LW3 core reflection update
Changes: https://git.openjdk.java.net/valhalla/pull/53/files
Webrev: https://webrevs.openjdk.java.net/valhalla/53/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8245584
Stats: 545 lines in 40 files changed: 44 ins; 238 del; 263 mod
Patch: https://git.openjdk.java.net/valhalla/pull/53.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/53/head:pull/53
PR: https://git.openjdk.java.net/valhalla/pull/53
More information about the valhalla-dev
mailing list