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

changeset 300
ed989c347b3c
parent 282
fc634a593812
child 345
23505e6ea22d
     1.1 --- a/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Tue Jun 16 10:46:37 2009 +0100
     1.2 +++ b/src/share/classes/com/sun/tools/classfile/ConstantPool.java	Fri Jun 19 11:40:47 2009 -0700
     1.3 @@ -573,6 +573,11 @@
     1.4              return visitor.visitNameAndType(this, data);
     1.5          }
     1.6  
     1.7 +        @Override
     1.8 +        public String toString() {
     1.9 +            return "CONSTANT_NameAndType_info[name_index: " + name_index + ", type_index: " + type_index + "]";
    1.10 +        }
    1.11 +
    1.12          public final int name_index;
    1.13          public final int type_index;
    1.14      }
    1.15 @@ -600,6 +605,11 @@
    1.16              return visitor.visitString(this, data);
    1.17          }
    1.18  
    1.19 +        @Override
    1.20 +        public String toString() {
    1.21 +            return "CONSTANT_String_info[class_index: " + string_index + "]";
    1.22 +        }
    1.23 +
    1.24          public final int string_index;
    1.25      }
    1.26  
    1.27 @@ -618,7 +628,19 @@
    1.28  
    1.29          @Override
    1.30          public String toString() {
    1.31 -            return "CONSTANT_Utf8_info[value: " + value + "]";
    1.32 +            if (value.length() < 32 && isPrintableAscii(value))
    1.33 +                return "CONSTANT_Utf8_info[value: \"" + value + "\"]";
    1.34 +            else
    1.35 +                return "CONSTANT_Utf8_info[value: (" + value.length() + " chars)]";
    1.36 +        }
    1.37 +
    1.38 +        static boolean isPrintableAscii(String s) {
    1.39 +            for (int i = 0; i < s.length(); i++) {
    1.40 +                char c = s.charAt(i);
    1.41 +                if (c < 32 || c >= 127)
    1.42 +                    return false;
    1.43 +            }
    1.44 +            return true;
    1.45          }
    1.46  
    1.47          public <R, D> R accept(Visitor<R, D> visitor, D data) {

mercurial