Paul,
Just to make sure we are in sync for now:
I think we are all in agreement that current Enums can not migrate to be
value types:
1. enums have identity
2. enums have java.lang.Enum abstract class as super-class, not java.lang.Object
3. there is no clear default value
4. enums have mutable
Frederic,
Detailed review of the updated JVMS draft - many are just minor typos/edits. A
couple
are bigger. Many thanks for the latest changes.
thanks,
Karen
1. 2.4 Reference Types and Values
" whose all instances are identity-less and immutable"
"whose" -> "for which"
2. 2.11.5 Instance
Here’s an update of the JVMS draft:
http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-4.pdf
with the following changes:
* Renamed ACC_NON_NULLABLE with ACC_FLATTENABLE
* Removed restriction that ACC_FLATTENABLE cannot be used on static fields
* Added rules about circularity
Hi Paul,
> On Jan 31, 2018, at 15:50, Paul Sandoz wrote:
>
> Hi Fred,
>
> Some basic questions, which might be because the specification is
> transitioning from value-based to value classes.
>
>
>> The ACC_ENUM flag indicates that this class or its superclass is
Here’s a draft of the JVMS proposing a way to implement the L-world value types,
with support for value-based classes migration to value classes (essentially,
support
for nullability):
http://cr.openjdk.java.net/~fparain/L-world/L-World-JVMS-3.pdf
The assumptions and key properties are listed