3967 create_combined_annotations(CHECK_(nullHandle)); |
3967 create_combined_annotations(CHECK_(nullHandle)); |
3968 |
3968 |
3969 // Make sure this is the end of class file stream |
3969 // Make sure this is the end of class file stream |
3970 guarantee_property(cfs->at_eos(), "Extra bytes at the end of class file %s", CHECK_(nullHandle)); |
3970 guarantee_property(cfs->at_eos(), "Extra bytes at the end of class file %s", CHECK_(nullHandle)); |
3971 |
3971 |
|
3972 if (_class_name == vmSymbols::java_lang_Object()) { |
|
3973 check_property(_local_interfaces == Universe::the_empty_klass_array(), |
|
3974 "java.lang.Object cannot implement an interface in class file %s", |
|
3975 CHECK_(nullHandle)); |
|
3976 } |
3972 // We check super class after class file is parsed and format is checked |
3977 // We check super class after class file is parsed and format is checked |
3973 if (super_class_index > 0 && super_klass.is_null()) { |
3978 if (super_class_index > 0 && super_klass.is_null()) { |
3974 Symbol* sk = cp->klass_name_at(super_class_index); |
3979 Symbol* sk = cp->klass_name_at(super_class_index); |
3975 if (access_flags.is_interface()) { |
3980 if (access_flags.is_interface()) { |
3976 // Before attempting to resolve the superclass, check for class format |
3981 // Before attempting to resolve the superclass, check for class format |