Error in JLS for module-info.class

Luke Hutchison luke.hutch at
Fri Oct 19 23:09:13 UTC 2018

In JLS section 4.1 ("The ClassFile structure") for SE 11, it states:


For a class, the value of the super_class item either must be zero or must
be a valid index into the constant_pool table. If the value of the
super_class item is nonzero, the constant_pool entry at that index must be
a CONSTANT_Class_info structure representing the direct superclass of the
class defined by this class file. Neither the direct superclass nor any of
its superclasses may have the ACC_FINAL flag set in the access_flags item
of its ClassFile structure.

If the value of the super_class item is zero, then this class file must
represent the class Object, the only class or interface without a direct
This is incorrect -- the value of super_class is also zero for
module-info.class files.

More information about the jigsaw-dev mailing list