-
Sub-task
-
Resolution: Delivered
-
P2
-
15
-
None
The current implementation of LambdaMetaFactory creates VM-anonymous class which does not conform to the standard access control rules.
This issue tracks the conversion of LambdaMetaFactory from using VM-anonymous class to hidden class.
A hidden class is subject to standard access control rules.
One non-standard access that VM-anonymous class has is that
a VM-anonymous class can always access protected members of a superclass in a different package, which is not allowed by the rules of JVMS 5.4.4.
This issue tracks the conversion of LambdaMetaFactory from using VM-anonymous class to hidden class.
A hidden class is subject to standard access control rules.
One non-standard access that VM-anonymous class has is that
a VM-anonymous class can always access protected members of a superclass in a different package, which is not allowed by the rules of JVMS 5.4.4.
- relates to
-
JDK-8234729 Javac should eagerly change code generation for method references to avert IllegalAccessError in future.
- Resolved
-
JDK-8302154 Hidden classes created by LambdaMetaFactory can't be unloaded
- Closed
-
JDK-8222411 JCK lang/LMBD tests fail in Valhalla nestmates repo
- Resolved