Details
-
Bug
-
Resolution: Fixed
-
P4
-
8
Description
Step 7 of the initialization process in 5.5 states (emphasis mine):
"Next, if C is a class rather than an interface, *and its superclass has not yet been initialized*, then let SC be its superclass and let SI1, ..., SIn be all superinterfaces of C (whether direct or indirect) that declare at least one non-abstract, non-static method."
In the case in which the superclass has been initialized but a superinterface has not, this is incorrect. The superinterface should be initialized anyway.
"Next, if C is a class rather than an interface, *and its superclass has not yet been initialized*, then let SC be its superclass and let SI1, ..., SIn be all superinterfaces of C (whether direct or indirect) that declare at least one non-abstract, non-static method."
In the case in which the superclass has been initialized but a superinterface has not, this is incorrect. The superinterface should be initialized anyway.
Attachments
Issue Links
- relates to
-
JDK-8043188 12.4.1: Trigger interface initialization on default/static method invocation
-
- Closed
-
-
JDK-8043190 5.5: Trigger interface initialization on default method invocation
-
- Closed
-