java.lang.Record vs InlineObject/IdentityObject
Brian Goetz
brian.goetz at oracle.com
Wed Mar 25 19:16:24 UTC 2020
> currently a record can only be an IdentityObject but at some point, we want to introduce an inline record ?
Indeed so.
> Now the question: What the subtyping relation between java.lang.Record and InlineObject/IdentityObject ?
>
> An identity record (resp. an inline record) should be a subtype of both java.lang.Record and IdentityObject (resp InlineObject).
> Given that java.lang.Record has to be an abstract class because you can not re-abstract an interface method.
> So both IdentityObject and InlineObject are interface and java.lang.Record inherits from Object.
>
> Am i right ?
> Or do we really care about re-abstracting the methods of j.l.Record ?
>
This is right. j.l.Record will be one of those "inline-friendly
abstract classes", which can be a superclass for either identity or
inline records. (Enum will not be, as it has fields.)
More information about the valhalla-spec-observers
mailing list