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


Reply via email to