463 } else { |
463 } else { |
464 st->print(INTPTR_FORMAT, p2i(klass->class_loader_data())); |
464 st->print(INTPTR_FORMAT, p2i(klass->class_loader_data())); |
465 } |
465 } |
466 } |
466 } |
467 |
467 |
468 static void print_interface(outputStream* st, Klass* intf_klass, const char* intf_type, int indent) { |
468 static void print_interface(outputStream* st, InstanceKlass* intf_klass, const char* intf_type, int indent) { |
469 print_indent(st, indent); |
469 print_indent(st, indent); |
470 st->print(" implements "); |
470 st->print(" implements "); |
471 print_classname(st, intf_klass); |
471 print_classname(st, intf_klass); |
472 st->print(" (%s intf)\n", intf_type); |
472 st->print(" (%s intf)\n", intf_type); |
473 } |
473 } |
499 } |
499 } |
500 st->print("\n"); |
500 st->print("\n"); |
501 |
501 |
502 // Print any interfaces the class has. |
502 // Print any interfaces the class has. |
503 if (print_interfaces) { |
503 if (print_interfaces) { |
504 Array<Klass*>* local_intfs = klass->local_interfaces(); |
504 Array<InstanceKlass*>* local_intfs = klass->local_interfaces(); |
505 Array<Klass*>* trans_intfs = klass->transitive_interfaces(); |
505 Array<InstanceKlass*>* trans_intfs = klass->transitive_interfaces(); |
506 for (int i = 0; i < local_intfs->length(); i++) { |
506 for (int i = 0; i < local_intfs->length(); i++) { |
507 print_interface(st, local_intfs->at(i), "declared", indent); |
507 print_interface(st, local_intfs->at(i), "declared", indent); |
508 } |
508 } |
509 for (int i = 0; i < trans_intfs->length(); i++) { |
509 for (int i = 0; i < trans_intfs->length(); i++) { |
510 Klass* trans_interface = trans_intfs->at(i); |
510 InstanceKlass* trans_interface = trans_intfs->at(i); |
511 // Only print transitive interfaces if they are not also declared. |
511 // Only print transitive interfaces if they are not also declared. |
512 if (!local_intfs->contains(trans_interface)) { |
512 if (!local_intfs->contains(trans_interface)) { |
513 print_interface(st, trans_interface, "inherited", indent); |
513 print_interface(st, trans_interface, "inherited", indent); |
514 } |
514 } |
515 } |
515 } |