-
Bug
-
Resolution: Fixed
-
P4
-
repo-valhalla
-
generic
-
generic
As of JDK-8237069, abstract classes implement the new top interface IdentityObject.
This is problematic as of the latest specification given in
http://cr.openjdk.java.net/~briangoetz/valhalla/sov/02-object-model.html
which allows abstract classes that meet certain restrictions to be super types of value/inline classes.
Javac should not inject the super interface IdentityObject for abstract classes because, then that would result in the inline class implementing both InlineObject and IdentityObject which are mutually exclusive.
(Note that express injection and persistence of the new top interfaces in class files itself needs to be done away with - this is a noisier change to be co-ordinated across components and will be taken up later - seeJDK-8242612)
The present ticket is to enableJDK-8242900 as otherwise JDK-8242900 is DOA.
This is problematic as of the latest specification given in
http://cr.openjdk.java.net/~briangoetz/valhalla/sov/02-object-model.html
which allows abstract classes that meet certain restrictions to be super types of value/inline classes.
Javac should not inject the super interface IdentityObject for abstract classes because, then that would result in the inline class implementing both InlineObject and IdentityObject which are mutually exclusive.
(Note that express injection and persistence of the new top interfaces in class files itself needs to be done away with - this is a noisier change to be co-ordinated across components and will be taken up later - see
The present ticket is to enable
- blocks
-
JDK-8242900 [lworld] Allow an inline type to declare a superclass that meets specified restrictions
-
- Resolved
-