src/share/classes/java/io/ObjectStreamField.java
Print this page
*** 89,99 ****
throw new NullPointerException();
}
this.name = name;
this.type = type;
this.unshared = unshared;
! signature = getClassSignature(type).intern();
field = null;
}
/**
* Creates an ObjectStreamField representing a field with the given name,
--- 89,99 ----
throw new NullPointerException();
}
this.name = name;
this.type = type;
this.unshared = unshared;
! signature = ObjectStreamClass.getClassSignature(type).intern();
field = null;
}
/**
* Creates an ObjectStreamField representing a field with the given name,
*** 135,145 ****
this.field = field;
this.unshared = unshared;
name = field.getName();
Class<?> ftype = field.getType();
type = (showType || ftype.isPrimitive()) ? ftype : Object.class;
! signature = getClassSignature(ftype).intern();
}
/**
* Get the name of this field.
*
--- 135,145 ----
this.field = field;
this.unshared = unshared;
name = field.getName();
Class<?> ftype = field.getType();
type = (showType || ftype.isPrimitive()) ? ftype : Object.class;
! signature = ObjectStreamClass.getClassSignature(ftype).intern();
}
/**
* Get the name of this field.
*
*** 284,326 ****
* that signature strings are returned for primitive fields as well).
*/
String getSignature() {
return signature;
}
-
- /**
- * 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();
- }
}
--- 284,289 ----