-
Bug
-
Resolution: Fixed
-
P5
-
8
JVMS rarely talks about inheritance, which is a Java language concept. In a search of the document, all usages appear to be non-normative, with the exception of 5.4.2:
"If C implements a method m declared in a superinterface <I, L3> of C, but C does not itself declare the method m, then let <D, L2> be the superclass of C that declares the implementation of method m inherited by C."
This should be phrased by referencing invokeinterface method selection, or defined directly in terms of names, signatures, and superclasses, rather than talking about inheritance. (For example, can the "inherited" method be private? JLS says no, but selection would allow it.)
"If C implements a method m declared in a superinterface <I, L3> of C, but C does not itself declare the method m, then let <D, L2> be the superclass of C that declares the implementation of method m inherited by C."
This should be phrased by referencing invokeinterface method selection, or defined directly in terms of names, signatures, and superclasses, rather than talking about inheritance. (For example, can the "inherited" method be private? JLS says no, but selection would allow it.)
- relates to
-
JDK-8177020 JVMS changes for Nestmates
-
- Resolved
-
-
JDK-8186092 Unnecessary loader constraints produced when there are multiple defaults
-
- Resolved
-