> On Jun 14, 2019, at 1:16 PM, Brian Goetz <brian.go...@oracle.com> wrote: > >> There are a few "design discussion" blocks that identify areas that may >> evolve further (in LW3, say) or where the design choices we've settled on >> aren't necessarily essential. > > Here's a few more: > > - The ACC_INLINE bit may well go away if we settle on a RefObject / > ValObject hierarchy; then a class is an inline class iff it extends > ValObject. (In the current formulation, I think you want to add in INLINE -> > !INTERFACE too.)
I'm a little skeptical (compare usage of ACC_ENUM, even though Java enforces that the superclass is java.lang.Enum), but, yes, I can mention that the flag isn't the only possible way to encode the information. (Thanks for catching the ACC_INTERFACE interaction, which I'll fix.) > - NullFreeClassType may prefer to be called something else; this is the "new > contract" story John is working on. And some "new contract" types may be > nullable as well, if we go forward with the null-default story. Yes, that's a bigger, more open-ended discussion than I want to squeeze into a box, but I can add something to suggest the null-free/nullable barrier may evolve in the future.