equal
deleted
inserted
replaced
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()) { |