RFR: 8177751: Update FX implementation to prepare renaming of Module and Layer classes

Philip Race philip.race at oracle.com
Tue Mar 28 23:05:15 UTC 2017

David, Vadim, Jonathan, Guru - please review.

Bug: https://bugs.openjdk.java.net/browse/JDK-8177751
webrev: http://cr.openjdk.java.net/~prr/8177751/

In tidying up the module system API towards the end of the release,
the jigsaw team have determined that Module and Layer classes are
core concepts like Class and need to be moved into java.lang out of
java.lang.reflect. See links in the bug for more details.

There are references to these classes in javafx. Notably in the launcher.
If the jigsaw change is pushed without FX being updated first all FX
apps will simply cease to work - there is an exception on start up.

The change here is to use reflection to find the actual class at runtime.
This therefore works both before + after the proposed change.

The exact "wording" of the changes, eg notably things like the javadoc
changes are not important as we'll revert these back later once the
jigsaw changes are in promoted builds and so forth.

The ModuleAccess class will likely disappear again too.

So the important issue here is whether it works.

I've built + tested against jdk9 (without the package change) and
the jake forest (with the package change) and all tests I've run
(gradle test, controls tests, Ensemble) seem to work fine.

We've looked hard for any other places that may be affected and think
what is in this webrev is all. Still it would be helpful if folks familiar
with particular areas could check for any problems they may know about.


More information about the openjfx-dev mailing list