equal
deleted
inserted
replaced
2639 |
2639 |
2640 for (int cnt = 0 ; ; cnt ++, ioe ++) { |
2640 for (int cnt = 0 ; ; cnt ++, ioe ++) { |
2641 // If the interface isn't implemented by the receiver class, |
2641 // If the interface isn't implemented by the receiver class, |
2642 // the VM should throw IncompatibleClassChangeError. |
2642 // the VM should throw IncompatibleClassChangeError. |
2643 if (cnt >= nof_interfaces) { |
2643 if (cnt >= nof_interfaces) { |
2644 THROW_NULL(vmSymbols::java_lang_IncompatibleClassChangeError()); |
2644 ResourceMark rm(THREAD); |
|
2645 stringStream ss; |
|
2646 ss.print("Receiver class %s does not implement " |
|
2647 "the interface %s defining the method to be called", |
|
2648 class_loader_and_module_name(), holder->class_loader_and_module_name()); |
|
2649 THROW_MSG_NULL(vmSymbols::java_lang_IncompatibleClassChangeError(), ss.as_string()); |
2645 } |
2650 } |
2646 |
2651 |
2647 Klass* ik = ioe->interface_klass(); |
2652 Klass* ik = ioe->interface_klass(); |
2648 if (ik == holder) break; |
2653 if (ik == holder) break; |
2649 } |
2654 } |