--- a/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Tue Jun 16 10:46:37 2009 +0100
+++ b/langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Fri Jun 19 11:40:47 2009 -0700
@@ -573,6 +573,11 @@
return visitor.visitNameAndType(this, data);
}
+ @Override
+ public String toString() {
+ return "CONSTANT_NameAndType_info[name_index: " + name_index + ", type_index: " + type_index + "]";
+ }
+
public final int name_index;
public final int type_index;
}
@@ -600,6 +605,11 @@
return visitor.visitString(this, data);
}
+ @Override
+ public String toString() {
+ return "CONSTANT_String_info[class_index: " + string_index + "]";
+ }
+
public final int string_index;
}
@@ -618,7 +628,19 @@
@Override
public String toString() {
- return "CONSTANT_Utf8_info[value: " + value + "]";
+ if (value.length() < 32 && isPrintableAscii(value))
+ return "CONSTANT_Utf8_info[value: \"" + value + "\"]";
+ else
+ return "CONSTANT_Utf8_info[value: (" + value.length() + " chars)]";
+ }
+
+ static boolean isPrintableAscii(String s) {
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ if (c < 32 || c >= 127)
+ return false;
+ }
+ return true;
}
public <R, D> R accept(Visitor<R, D> visitor, D data) {