hotspot/src/share/vm/classfile/defaultMethods.cpp
changeset 24424 2658d7834c6e
parent 23999 22eb7be3d99d
child 27677 b1997f2f1b56
equal deleted inserted replaced
24358:8528b67f6562 24424:2658d7834c6e
   434     } else if (num_defaults > 1) {
   434     } else if (num_defaults > 1) {
   435       _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
   435       _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
   436       _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
   436       _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
   437       if (TraceDefaultMethods) {
   437       if (TraceDefaultMethods) {
   438         _exception_message->print_value_on(tty);
   438         _exception_message->print_value_on(tty);
   439         tty->print_cr("");
   439         tty->cr();
   440       }
   440       }
   441     }
   441     }
   442   }
   442   }
   443 
   443 
   444   bool contains_signature(Symbol* query) {
   444   bool contains_signature(Symbol* query) {
   461       str->indent();
   461       str->indent();
   462       print_method(str, _members.at(i).first);
   462       print_method(str, _members.at(i).first);
   463       if (_members.at(i).second == DISQUALIFIED) {
   463       if (_members.at(i).second == DISQUALIFIED) {
   464         str->print(" (disqualified)");
   464         str->print(" (disqualified)");
   465       }
   465       }
   466       str->print_cr("");
   466       str->cr();
   467     }
   467     }
   468 
   468 
   469     if (_selected_target != NULL) {
   469     if (_selected_target != NULL) {
   470       print_selected(str, 1);
   470       print_selected(str, 1);
   471     }
   471     }
   478     print_method(str, _selected_target);
   478     print_method(str, _selected_target);
   479     Klass* method_holder = _selected_target->method_holder();
   479     Klass* method_holder = _selected_target->method_holder();
   480     if (!method_holder->is_interface()) {
   480     if (!method_holder->is_interface()) {
   481       tty->print(" : in superclass");
   481       tty->print(" : in superclass");
   482     }
   482     }
   483     str->print_cr("");
   483     str->cr();
   484   }
   484   }
   485 
   485 
   486   void print_exception(outputStream* str, int indent) {
   486   void print_exception(outputStream* str, int indent) {
   487     assert(throws_exception(), "Should be called otherwise");
   487     assert(throws_exception(), "Should be called otherwise");
   488     assert(_exception_name != NULL, "exception_name should be set");
   488     assert(_exception_name != NULL, "exception_name should be set");
   686     tty->print_cr("Slots that need filling:");
   686     tty->print_cr("Slots that need filling:");
   687     streamIndentor si(tty);
   687     streamIndentor si(tty);
   688     for (int i = 0; i < slots->length(); ++i) {
   688     for (int i = 0; i < slots->length(); ++i) {
   689       tty->indent();
   689       tty->indent();
   690       slots->at(i)->print_on(tty);
   690       slots->at(i)->print_on(tty);
   691       tty->print_cr("");
   691       tty->cr();
   692     }
   692     }
   693   }
   693   }
   694 #endif // ndef PRODUCT
   694 #endif // ndef PRODUCT
   695   return slots;
   695   return slots;
   696 }
   696 }
   826 #ifndef PRODUCT
   826 #ifndef PRODUCT
   827     if (TraceDefaultMethods) {
   827     if (TraceDefaultMethods) {
   828       streamIndentor si(tty, 2);
   828       streamIndentor si(tty, 2);
   829       tty->indent().print("Looking for default methods for slot ");
   829       tty->indent().print("Looking for default methods for slot ");
   830       slot->print_on(tty);
   830       slot->print_on(tty);
   831       tty->print_cr("");
   831       tty->cr();
   832     }
   832     }
   833 #endif // ndef PRODUCT
   833 #endif // ndef PRODUCT
   834 
   834 
   835     generate_erased_defaults(klass, empty_slots, slot, CHECK);
   835     generate_erased_defaults(klass, empty_slots, slot, CHECK);
   836  }
   836  }
   944 
   944 
   945 #ifndef PRODUCT
   945 #ifndef PRODUCT
   946       if (TraceDefaultMethods) {
   946       if (TraceDefaultMethods) {
   947         tty->print("for slot: ");
   947         tty->print("for slot: ");
   948         slot->print_on(tty);
   948         slot->print_on(tty);
   949         tty->print_cr("");
   949         tty->cr();
   950         if (method->has_target()) {
   950         if (method->has_target()) {
   951           method->print_selected(tty, 1);
   951           method->print_selected(tty, 1);
   952         } else if (method->throws_exception()) {
   952         } else if (method->throws_exception()) {
   953           method->print_exception(tty, 1);
   953           method->print_exception(tty, 1);
   954         }
   954         }