On 4/2/20 10:19 AM, Brian Goetz wrote:
At the language level, we won’t let you define a class with an empty set of permitted types; you should define a final class instead. But, having the VM treat an empty PS attribute as if it were not there seems wrong; I would think an empty PS attribute would be a class file error.
I was chatting about this with Harold and we can tweak the VM implementation to generate an error in this case instead of ignoring an empty PS attribute. Same for final classes with a PS attribute, but these are still open questions in the VM spec that need clarification.
Thanks, Vicente
On Apr 2, 2020, at 7:58 AM, Remi Forax <[email protected]> wrote: Hi all, With my ASM hat, from the JVMS POV, javac can not generate an empty list of permitted subtypes and the implementation in Hotspot ignores the attribute PermittedSubtypes if there is no subtype listed. So currently, ASM doesn't allow you to create an attribute PermittedSubtypes with an empty number of subtypes. I believe this is the correct semantics, i just want to be sure that i've not overlook something. regards, Rémi
