--- a/jdk/src/share/classes/java/io/ObjectInputStream.java Wed Nov 30 10:57:51 2011 +0000
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java Wed Nov 30 12:42:26 2011 +0000
@@ -689,9 +689,9 @@
boolean hasNonPublicInterface = false;
// define proxy in class loader of non-public interface(s), if any
- Class[] classObjs = new Class[interfaces.length];
+ Class<?>[] classObjs = new Class<?>[interfaces.length];
for (int i = 0; i < interfaces.length; i++) {
- Class cl = Class.forName(interfaces[i], false, latestLoader);
+ Class<?> cl = Class.forName(interfaces[i], false, latestLoader);
if ((cl.getModifiers() & Modifier.PUBLIC) == 0) {
if (hasNonPublicInterface) {
if (nonPublicLoader != cl.getClassLoader()) {
@@ -1229,7 +1229,7 @@
* "enableSubclassImplementation" SerializablePermission is checked.
*/
private void verifySubclass() {
- Class cl = getClass();
+ Class<?> cl = getClass();
if (cl == ObjectInputStream.class) {
return;
}
@@ -1473,12 +1473,12 @@
* ClassNotFoundException will be associated with the class' handle in the
* handle table).
*/
- private Class readClass(boolean unshared) throws IOException {
+ private Class<?> readClass(boolean unshared) throws IOException {
if (bin.readByte() != TC_CLASS) {
throw new InternalError();
}
ObjectStreamClass desc = readClassDesc(false);
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
passHandle = handles.assign(unshared ? unsharedMarker : cl);
ClassNotFoundException resolveEx = desc.getResolveException();
@@ -1542,7 +1542,7 @@
ifaces[i] = bin.readUTF();
}
- Class cl = null;
+ Class<?> cl = null;
ClassNotFoundException resolveEx = null;
bin.setBlockDataMode(true);
try {
@@ -1586,7 +1586,7 @@
"failed to read class descriptor").initCause(ex);
}
- Class cl = null;
+ Class<?> cl = null;
ClassNotFoundException resolveEx = null;
bin.setBlockDataMode(true);
try {
@@ -1643,7 +1643,7 @@
int len = bin.readInt();
Object array = null;
- Class cl, ccl = null;
+ Class<?> cl, ccl = null;
if ((cl = desc.forClass()) != null) {
ccl = cl.getComponentType();
array = Array.newInstance(ccl, len);
@@ -1696,7 +1696,7 @@
* Reads in and returns enum constant, or null if enum type is
* unresolvable. Sets passHandle to enum constant's assigned handle.
*/
- private Enum readEnum(boolean unshared) throws IOException {
+ private Enum<?> readEnum(boolean unshared) throws IOException {
if (bin.readByte() != TC_ENUM) {
throw new InternalError();
}
@@ -1713,24 +1713,26 @@
}
String name = readString(false);
- Enum en = null;
- Class cl = desc.forClass();
+ Enum<?> result = null;
+ Class<?> cl = desc.forClass();
if (cl != null) {
try {
- en = Enum.valueOf(cl, name);
+ @SuppressWarnings("unchecked")
+ Enum<?> en = Enum.valueOf((Class)cl, name);
+ result = en;
} catch (IllegalArgumentException ex) {
throw (IOException) new InvalidObjectException(
"enum constant " + name + " does not exist in " +
cl).initCause(ex);
}
if (!unshared) {
- handles.setObject(enumHandle, en);
+ handles.setObject(enumHandle, result);
}
}
handles.finish(enumHandle);
passHandle = enumHandle;
- return en;
+ return result;
}
/**
@@ -1941,7 +1943,7 @@
throws IOException
{
// REMIND: is isInstance check necessary?
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
if (cl != null && obj != null && !cl.isInstance(obj)) {
throw new ClassCastException();
}
@@ -2140,7 +2142,7 @@
* class descriptor, returns -1. Throws IllegalArgumentException if
* neither incoming nor local class descriptor contains a match.
*/
- private int getFieldOffset(String name, Class type) {
+ private int getFieldOffset(String name, Class<?> type) {
ObjectStreamField field = desc.getField(name, type);
if (field != null) {
return field.getOffset();
@@ -2838,6 +2840,7 @@
return readUTFBody(readUnsignedShort());
}
+ @SuppressWarnings("deprecation")
public String readLine() throws IOException {
return din.readLine(); // deprecated, not worth optimizing
}