Here are spec change documents for two new JVM instance creation features that have been proposed to support inline classes.
They're both fairly small, but involve a handful of different design choices. We can further discuss those design choices in this thread. 1) Abstract instance initialization methods http://cr.openjdk.java.net/~dlsmith/special-methods/special-methods-20200210/specs/abstract-init-jvms.html Classes with abstract <init> methods require no code execution to initialize instances, and so are candidates to be superclasses of inline classes. 2) Unnamed factory methods http://cr.openjdk.java.net/~dlsmith/special-methods/special-methods-20200210/specs/factory-methods-jvms.html The special name '<new>' can be used to declare static factory methods, including in an inline class. (In the previous iteration, we used '<init>' with a non-'void' return. We since discussed avoiding this overloading and associated complexity by choosing a different name.)
