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. -phil.