src/share/classes/java/io/ObjectStreamClass.java

Print this page

        

*** 1470,1512 **** name2 = name2.substring(name2.lastIndexOf('.') + 1); return name1.equals(name2); } /** * Returns JVM type signature for given class. */ ! private static String getClassSignature(Class<?> cl) { StringBuilder sbuf = new StringBuilder(); while (cl.isArray()) { sbuf.append('['); cl = cl.getComponentType(); } ! if (cl.isPrimitive()) { ! if (cl == Integer.TYPE) { ! sbuf.append('I'); ! } else if (cl == Byte.TYPE) { ! sbuf.append('B'); ! } else if (cl == Long.TYPE) { ! sbuf.append('J'); ! } else if (cl == Float.TYPE) { ! sbuf.append('F'); ! } else if (cl == Double.TYPE) { ! sbuf.append('D'); ! } else if (cl == Short.TYPE) { ! sbuf.append('S'); ! } else if (cl == Character.TYPE) { ! sbuf.append('C'); ! } else if (cl == Boolean.TYPE) { ! sbuf.append('Z'); ! } else if (cl == Void.TYPE) { ! sbuf.append('V'); ! } else { ! throw new InternalError(); ! } ! } else { ! sbuf.append('L' + cl.getName().replace('.', '/') + ';'); ! } return sbuf.toString(); } /** * Returns JVM type signature for given list of parameters and return type. --- 1470,1522 ---- name2 = name2.substring(name2.lastIndexOf('.') + 1); return name1.equals(name2); } /** + * Returns JVM type signature for given primitive. + */ + private static String getPrimitiveSignature(Class<?> cl) { + if (cl == Integer.TYPE) + return "I"; + else if (cl == Byte.TYPE) + return "B"; + else if (cl == Long.TYPE) + return "J"; + else if (cl == Float.TYPE) + return "F"; + else if (cl == Double.TYPE) + return "D"; + else if (cl == Short.TYPE) + return "S"; + else if (cl == Character.TYPE) + return "C"; + else if (cl == Boolean.TYPE) + return "Z"; + else if (cl == Void.TYPE) + return "V"; + else + throw new InternalError(); + } + + /** * Returns JVM type signature for given class. */ ! static String getClassSignature(Class<?> cl) { ! if (cl.isPrimitive()) ! return getPrimitiveSignature(cl); ! StringBuilder sbuf = new StringBuilder(); while (cl.isArray()) { sbuf.append('['); cl = cl.getComponentType(); } ! ! if (cl.isPrimitive()) ! sbuf.append(getPrimitiveSignature(cl)); ! else ! sbuf.append('L').append(cl.getName().replace('.', '/')).append(';'); ! return sbuf.toString(); } /** * Returns JVM type signature for given list of parameters and return type.