src/hotspot/share/oops/klassVtable.cpp
changeset 54432 532e88de77eb
parent 53904 9c3fe09f69bc
child 55655 419420eb5230
child 58678 9cf78a70fa4f
equal deleted inserted replaced
54431:ad9fa99fa48e 54432:532e88de77eb
   498                                                         super_loader, true,
   498                                                         super_loader, true,
   499                                                         CHECK_(false));
   499                                                         CHECK_(false));
   500             if (failed_type_symbol != NULL) {
   500             if (failed_type_symbol != NULL) {
   501               stringStream ss;
   501               stringStream ss;
   502               ss.print("loader constraint violation for class %s: when selecting "
   502               ss.print("loader constraint violation for class %s: when selecting "
   503                        "overriding method %s the class loader %s of the "
   503                        "overriding method '", klass->external_name());
       
   504               target_method()->print_external_name(&ss),
       
   505               ss.print("' the class loader %s of the "
   504                        "selected method's type %s, and the class loader %s for its super "
   506                        "selected method's type %s, and the class loader %s for its super "
   505                        "type %s have different Class objects for the type %s used in the signature (%s; %s)",
   507                        "type %s have different Class objects for the type %s used in the signature (%s; %s)",
   506                        klass->external_name(),
       
   507                        target_method()->name_and_sig_as_C_string(),
       
   508                        target_klass->class_loader_data()->loader_name_and_id(),
   508                        target_klass->class_loader_data()->loader_name_and_id(),
   509                        target_klass->external_name(),
   509                        target_klass->external_name(),
   510                        super_klass->class_loader_data()->loader_name_and_id(),
   510                        super_klass->class_loader_data()->loader_name_and_id(),
   511                        super_klass->external_name(),
   511                        super_klass->external_name(),
   512                        failed_type_symbol->as_klass_external_name(),
   512                        failed_type_symbol->as_klass_external_name(),
  1225                                                       interface_loader,
  1225                                                       interface_loader,
  1226                                                       true, CHECK);
  1226                                                       true, CHECK);
  1227           if (failed_type_symbol != NULL) {
  1227           if (failed_type_symbol != NULL) {
  1228             stringStream ss;
  1228             stringStream ss;
  1229             ss.print("loader constraint violation in interface itable"
  1229             ss.print("loader constraint violation in interface itable"
  1230                      " initialization for class %s: when selecting method %s the"
  1230                      " initialization for class %s: when selecting method '",
  1231                      " class loader %s for super interface %s, and the class"
  1231                      _klass->external_name());
  1232                      " loader %s of the selected method's type, %s have"
  1232             m->print_external_name(&ss),
       
  1233             ss.print("' the class loader %s for super interface %s, and the class"
       
  1234                      " loader %s of the selected method's %s, %s have"
  1233                      " different Class objects for the type %s used in the signature (%s; %s)",
  1235                      " different Class objects for the type %s used in the signature (%s; %s)",
  1234                      _klass->external_name(),
       
  1235                      m->name_and_sig_as_C_string(),
       
  1236                      interf->class_loader_data()->loader_name_and_id(),
  1236                      interf->class_loader_data()->loader_name_and_id(),
  1237                      interf->external_name(),
  1237                      interf->external_name(),
  1238                      target()->method_holder()->class_loader_data()->loader_name_and_id(),
  1238                      target()->method_holder()->class_loader_data()->loader_name_and_id(),
       
  1239                      target()->method_holder()->external_kind(),
  1239                      target()->method_holder()->external_name(),
  1240                      target()->method_holder()->external_name(),
  1240                      failed_type_symbol->as_klass_external_name(),
  1241                      failed_type_symbol->as_klass_external_name(),
  1241                      interf->class_in_module_of_loader(false, true),
  1242                      interf->class_in_module_of_loader(false, true),
  1242                      target()->method_holder()->class_in_module_of_loader(false, true));
  1243                      target()->method_holder()->class_in_module_of_loader(false, true));
  1243             THROW_MSG(vmSymbols::java_lang_LinkageError(), ss.as_string());
  1244             THROW_MSG(vmSymbols::java_lang_LinkageError(), ss.as_string());