src/share/classes/com/sun/tools/classfile/ConstantPool.java

changeset 300
ed989c347b3c
parent 282
fc634a593812
child 345
23505e6ea22d
equal deleted inserted replaced
299:22872b24d38c 300:ed989c347b3c
571 571
572 public <R, D> R accept(Visitor<R, D> visitor, D data) { 572 public <R, D> R accept(Visitor<R, D> visitor, D data) {
573 return visitor.visitNameAndType(this, data); 573 return visitor.visitNameAndType(this, data);
574 } 574 }
575 575
576 @Override
577 public String toString() {
578 return "CONSTANT_NameAndType_info[name_index: " + name_index + ", type_index: " + type_index + "]";
579 }
580
576 public final int name_index; 581 public final int name_index;
577 public final int type_index; 582 public final int type_index;
578 } 583 }
579 584
580 public static class CONSTANT_String_info extends CPInfo { 585 public static class CONSTANT_String_info extends CPInfo {
596 return cp.getUTF8Value(string_index); 601 return cp.getUTF8Value(string_index);
597 } 602 }
598 603
599 public <R, D> R accept(Visitor<R, D> visitor, D data) { 604 public <R, D> R accept(Visitor<R, D> visitor, D data) {
600 return visitor.visitString(this, data); 605 return visitor.visitString(this, data);
606 }
607
608 @Override
609 public String toString() {
610 return "CONSTANT_String_info[class_index: " + string_index + "]";
601 } 611 }
602 612
603 public final int string_index; 613 public final int string_index;
604 } 614 }
605 615
616 return CONSTANT_Utf8; 626 return CONSTANT_Utf8;
617 } 627 }
618 628
619 @Override 629 @Override
620 public String toString() { 630 public String toString() {
621 return "CONSTANT_Utf8_info[value: " + value + "]"; 631 if (value.length() < 32 && isPrintableAscii(value))
632 return "CONSTANT_Utf8_info[value: \"" + value + "\"]";
633 else
634 return "CONSTANT_Utf8_info[value: (" + value.length() + " chars)]";
635 }
636
637 static boolean isPrintableAscii(String s) {
638 for (int i = 0; i < s.length(); i++) {
639 char c = s.charAt(i);
640 if (c < 32 || c >= 127)
641 return false;
642 }
643 return true;
622 } 644 }
623 645
624 public <R, D> R accept(Visitor<R, D> visitor, D data) { 646 public <R, D> R accept(Visitor<R, D> visitor, D data) {
625 return visitor.visitUtf8(this, data); 647 return visitor.visitUtf8(this, data);
626 } 648 }

mercurial