src/hotspot/share/classfile/classListParser.cpp
changeset 52631 3009ca99de32
parent 52514 f4e3900c8d08
child 53261 b7dca420fa0c
equal deleted inserted replaced
52630:68d450652337 52631:3009ca99de32
   387 
   387 
   388   if (klass != NULL && klass->is_instance_klass() && is_id_specified()) {
   388   if (klass != NULL && klass->is_instance_klass() && is_id_specified()) {
   389     InstanceKlass* ik = InstanceKlass::cast(klass);
   389     InstanceKlass* ik = InstanceKlass::cast(klass);
   390     int id = this->id();
   390     int id = this->id();
   391     SystemDictionaryShared::update_shared_entry(ik, id);
   391     SystemDictionaryShared::update_shared_entry(ik, id);
   392     InstanceKlass* old = table()->lookup(id);
   392     InstanceKlass** old_ptr = table()->lookup(id);
   393     if (old != NULL && old != ik) {
   393     if (old_ptr != NULL) {
   394       error("Duplicated ID %d for class %s", id, _class_name);
   394       error("Duplicated ID %d for class %s", id, _class_name);
   395     }
   395     }
   396     table()->add(id, ik);
   396     table()->add(id, ik);
   397   }
   397   }
   398 
   398 
   402 bool ClassListParser::is_loading_from_source() {
   402 bool ClassListParser::is_loading_from_source() {
   403   return (_source != NULL);
   403   return (_source != NULL);
   404 }
   404 }
   405 
   405 
   406 InstanceKlass* ClassListParser::lookup_class_by_id(int id) {
   406 InstanceKlass* ClassListParser::lookup_class_by_id(int id) {
   407   InstanceKlass* klass = table()->lookup(id);
   407   InstanceKlass** klass_ptr = table()->lookup(id);
   408   if (klass == NULL) {
   408   if (klass_ptr == NULL) {
   409     error("Class ID %d has not been defined", id);
   409     error("Class ID %d has not been defined", id);
   410   }
   410   }
   411   return klass;
   411   assert(*klass_ptr != NULL, "must be");
       
   412   return *klass_ptr;
   412 }
   413 }
   413 
   414 
   414 
   415 
   415 InstanceKlass* ClassListParser::lookup_super_for_current_class(Symbol* super_name) {
   416 InstanceKlass* ClassListParser::lookup_super_for_current_class(Symbol* super_name) {
   416   if (!is_loading_from_source()) {
   417   if (!is_loading_from_source()) {