On Tue, 22 Apr 2025 23:55:54 GMT, Chen Liang <li...@openjdk.org> wrote:
> In the future value objects JEP, class files must have one of ACC_IDENTITY > (now ACC_SUPER), ACC_ABSTRACT, and ACC_FINAL bits set, otherwise they are > rejected. The current default flag has none of these bits set, meaning that > it will not be suitable in the future. Currently, most class file generation > in the JDK explicitly set ACC_SUPER for compatibility; we should also set > this bit in the default flags, despite being no-op, in anticipation of future > compatibility. > > The API specifications of ClassBuilder and AccessFlags already state that an > unspecified default flag for class builders are chosen, so changing this flag > should be fine without extra specification changes. I don't think the potential bitmask match between proposed ACC_IDENTITY flag and currently obsolete ACC_SUPER flag is good reason to set it as default now. It may cause even more confusion and may be even conflicts. Are there any use cases where current mainline Class-File API should produce future class version with default flags? ------------- PR Comment: https://git.openjdk.org/jdk/pull/24808#issuecomment-2830661522