OpenJDK / jigsaw / jake / jdk
changeset 4849:f8897baf40ea
7117612: Miscellaneous warnings in java.lang
Reviewed-by: smarks, dholmes, alanb, darcy
line wrap: on
line diff
--- a/src/share/classes/java/lang/Boolean.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Boolean.java Thu Dec 08 13:48:54 2011 -0500 @@ -60,7 +60,8 @@ * * @since JDK1.1 */ - public static final Class<Boolean> TYPE = Class.getPrimitiveClass("boolean"); + @SuppressWarnings("unchecked") + public static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("boolean"); /** * The value of the Boolean.
--- a/src/share/classes/java/lang/Byte.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Byte.java Thu Dec 08 13:48:54 2011 -0500 @@ -59,6 +59,7 @@ * The {@code Class} instance representing the primitive type * {@code byte}. */ + @SuppressWarnings("unchecked") public static final Class<Byte> TYPE = (Class<Byte>) Class.getPrimitiveClass("byte"); /**
--- a/src/share/classes/java/lang/Character.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Character.java Thu Dec 08 13:48:54 2011 -0500 @@ -172,7 +172,7 @@ * @since 1.1 */ @SuppressWarnings("unchecked") - public static final Class<Character> TYPE = Class.getPrimitiveClass("char"); + public static final Class<Character> TYPE = (Class<Character>) Class.getPrimitiveClass("char"); /* * Normative general types
--- a/src/share/classes/java/lang/CharacterName.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/CharacterName.java Thu Dec 08 13:48:54 2011 -0500 @@ -101,6 +101,8 @@ if (lookup[cp>>8] == null || (off = lookup[cp>>8][cp&0xff]) == 0) return null; - return new String(strPool, 0, off >>> 8, off & 0xff); // ASCII + @SuppressWarnings("deprecation") + String result = new String(strPool, 0, off >>> 8, off & 0xff); // ASCII + return result; } }
--- a/src/share/classes/java/lang/Class.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Class.java Thu Dec 08 13:48:54 2011 -0500 @@ -631,6 +631,7 @@ * <cite>The Java™ Virtual Machine Specification</cite> * @since 1.5 */ + @SuppressWarnings("unchecked") public TypeVariable<Class<T>>[] getTypeParameters() { if (getGenericSignature() != null) return (TypeVariable<Class<T>>[])getGenericInfo().getTypeParameters(); @@ -1303,7 +1304,7 @@ return java.security.AccessController.doPrivileged( new java.security.PrivilegedAction<Class<?>[]>() { - public Class[] run() { + public Class<?>[] run() { List<Class<?>> list = new ArrayList<>(); Class<?> currentClass = Class.this; while (currentClass != null) { @@ -1315,7 +1316,7 @@ } currentClass = currentClass.getSuperclass(); } - return list.toArray(new Class[0]); + return list.toArray(new Class<?>[0]); } }); } @@ -2150,7 +2151,7 @@ * Return the Virtual Machine's Class object for the named * primitive type. */ - static native Class getPrimitiveClass(String name); + static native Class<?> getPrimitiveClass(String name); /* @@ -2395,7 +2396,9 @@ } // No cached value available; request value from VM if (isInterface()) { - res = new Constructor[0]; + @SuppressWarnings("unchecked") + Constructor<T>[] temporaryRes = (Constructor<T>[]) new Constructor<?>[0]; + res = temporaryRes; } else { res = getDeclaredConstructors0(publicOnly); } @@ -2951,7 +2954,9 @@ return null; } }); - enumConstants = (T[])values.invoke(null); + @SuppressWarnings("unchecked") + T[] temporaryConstants = (T[])values.invoke(null); + enumConstants = temporaryConstants; } // These can happen when users concoct enum-like classes // that don't comply with the enum spec. @@ -2996,6 +3001,7 @@ * * @since 1.5 */ + @SuppressWarnings("unchecked") public T cast(Object obj) { if (obj != null && !isInstance(obj)) throw new ClassCastException(cannotCastMsg(obj)); @@ -3026,6 +3032,7 @@ * the class itself). * @since 1.5 */ + @SuppressWarnings("unchecked") public <U> Class<? extends U> asSubclass(Class<U> clazz) { if (clazz.isAssignableFrom(this)) return (Class<? extends U>) this; @@ -3037,6 +3044,7 @@ * @throws NullPointerException {@inheritDoc} * @since 1.5 */ + @SuppressWarnings("unchecked") public <A extends Annotation> A getAnnotation(Class<A> annotationClass) { if (annotationClass == null) throw new NullPointerException();
--- a/src/share/classes/java/lang/ClassLoader.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/ClassLoader.java Thu Dec 08 13:48:54 2011 -0500 @@ -1167,7 +1167,8 @@ * @since 1.2 */ public Enumeration<URL> getResources(String name) throws IOException { - Enumeration[] tmp = new Enumeration[2]; + @SuppressWarnings("unchecked") + Enumeration<URL>[] tmp = (Enumeration<URL>[]) new Enumeration<?>[2]; if (parent != null) { tmp[0] = parent.getResources(name); } else {
--- a/src/share/classes/java/lang/ConditionalSpecialCasing.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/ConditionalSpecialCasing.java Thu Dec 08 13:48:54 2011 -0500 @@ -92,15 +92,15 @@ }; // A hash table that contains the above entries - static Hashtable entryTable = new Hashtable(); + static Hashtable<Integer, HashSet<Entry>> entryTable = new Hashtable<>(); static { // create hashtable from the entry for (int i = 0; i < entry.length; i ++) { Entry cur = entry[i]; Integer cp = new Integer(cur.getCodePoint()); - HashSet set = (HashSet)entryTable.get(cp); + HashSet<Entry> set = entryTable.get(cp); if (set == null) { - set = new HashSet(); + set = new HashSet<Entry>(); } set.add(cur); entryTable.put(cp, set); @@ -151,13 +151,13 @@ } private static char[] lookUpTable(String src, int index, Locale locale, boolean bLowerCasing) { - HashSet set = (HashSet)entryTable.get(new Integer(src.codePointAt(index))); + HashSet<Entry> set = entryTable.get(new Integer(src.codePointAt(index))); if (set != null) { - Iterator iter = set.iterator(); + Iterator<Entry> iter = set.iterator(); String currentLang = locale.getLanguage(); while (iter.hasNext()) { - Entry entry = (Entry)iter.next(); + Entry entry = iter.next(); String conditionLang= entry.getLanguage(); if (((conditionLang == null) || (conditionLang.equals(currentLang))) && isConditionMet(src, index, locale, entry.getCondition())) {
--- a/src/share/classes/java/lang/Double.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Double.java Thu Dec 08 13:48:54 2011 -0500 @@ -128,6 +128,7 @@ * * @since JDK1.1 */ + @SuppressWarnings("unchecked") public static final Class<Double> TYPE = (Class<Double>) Class.getPrimitiveClass("double"); /** @@ -715,7 +716,7 @@ * @return the {@code double} value represented by this object */ public double doubleValue() { - return (double)value; + return value; } /**
--- a/src/share/classes/java/lang/EnumConstantNotPresentException.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/EnumConstantNotPresentException.java Thu Dec 08 13:48:54 2011 -0500 @@ -36,6 +36,7 @@ * @see java.lang.reflect.AnnotatedElement * @since 1.5 */ +@SuppressWarnings("rawtypes") /* rawtypes are part of the public api */ public class EnumConstantNotPresentException extends RuntimeException { private static final long serialVersionUID = -6046998521960521108L;
--- a/src/share/classes/java/lang/Float.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Float.java Thu Dec 08 13:48:54 2011 -0500 @@ -126,7 +126,8 @@ * * @since JDK1.1 */ - public static final Class<Float> TYPE = Class.getPrimitiveClass("float"); + @SuppressWarnings("unchecked") + public static final Class<Float> TYPE = (Class<Float>) Class.getPrimitiveClass("float"); /** * Returns a string representation of the {@code float}
--- a/src/share/classes/java/lang/Integer.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Integer.java Thu Dec 08 13:48:54 2011 -0500 @@ -68,6 +68,7 @@ * * @since JDK1.1 */ + @SuppressWarnings("unchecked") public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int"); /**
--- a/src/share/classes/java/lang/Long.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Long.java Thu Dec 08 13:48:54 2011 -0500 @@ -66,6 +66,7 @@ * * @since JDK1.1 */ + @SuppressWarnings("unchecked") public static final Class<Long> TYPE = (Class<Long>) Class.getPrimitiveClass("long"); /** @@ -734,7 +735,7 @@ * {@code long} value. */ public long longValue() { - return (long)value; + return value; } /**
--- a/src/share/classes/java/lang/Short.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Short.java Thu Dec 08 13:48:54 2011 -0500 @@ -58,6 +58,7 @@ * The {@code Class} instance representing the primitive type * {@code short}. */ + @SuppressWarnings("unchecked") public static final Class<Short> TYPE = (Class<Short>) Class.getPrimitiveClass("short"); /**
--- a/src/share/classes/java/lang/System.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/System.java Thu Dec 08 13:48:54 2011 -0500 @@ -1032,7 +1032,7 @@ */ @Deprecated public static void runFinalizersOnExit(boolean value) { - Runtime.getRuntime().runFinalizersOnExit(value); + Runtime.runFinalizersOnExit(value); } /**
--- a/src/share/classes/java/lang/ThreadLocal.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/ThreadLocal.java Thu Dec 08 13:48:54 2011 -0500 @@ -144,8 +144,11 @@ ThreadLocalMap map = getMap(t); if (map != null) { ThreadLocalMap.Entry e = map.getEntry(this); - if (e != null) - return (T)e.value; + if (e != null) { + @SuppressWarnings("unchecked") + T result = (T)e.value; + return result; + } } return setInitialValue(); } @@ -268,11 +271,11 @@ * entry can be expunged from table. Such entries are referred to * as "stale entries" in the code that follows. */ - static class Entry extends WeakReference<ThreadLocal> { + static class Entry extends WeakReference<ThreadLocal<?>> { /** The value associated with this ThreadLocal. */ Object value; - Entry(ThreadLocal k, Object v) { + Entry(ThreadLocal<?> k, Object v) { super(k); value = v; } @@ -325,7 +328,7 @@ * ThreadLocalMaps are constructed lazily, so we only create * one when we have at least one entry to put in it. */ - ThreadLocalMap(ThreadLocal firstKey, Object firstValue) { + ThreadLocalMap(ThreadLocal<?> firstKey, Object firstValue) { table = new Entry[INITIAL_CAPACITY]; int i = firstKey.threadLocalHashCode & (INITIAL_CAPACITY - 1); table[i] = new Entry(firstKey, firstValue); @@ -348,7 +351,8 @@ for (int j = 0; j < len; j++) { Entry e = parentTable[j]; if (e != null) { - ThreadLocal key = e.get(); + @SuppressWarnings("unchecked") + ThreadLocal<Object> key = (ThreadLocal<Object>) e.get(); if (key != null) { Object value = key.childValue(e.value); Entry c = new Entry(key, value); @@ -372,7 +376,7 @@ * @param key the thread local object * @return the entry associated with key, or null if no such */ - private Entry getEntry(ThreadLocal key) { + private Entry getEntry(ThreadLocal<?> key) { int i = key.threadLocalHashCode & (table.length - 1); Entry e = table[i]; if (e != null && e.get() == key) @@ -390,12 +394,12 @@ * @param e the entry at table[i] * @return the entry associated with key, or null if no such */ - private Entry getEntryAfterMiss(ThreadLocal key, int i, Entry e) { + private Entry getEntryAfterMiss(ThreadLocal<?> key, int i, Entry e) { Entry[] tab = table; int len = tab.length; while (e != null) { - ThreadLocal k = e.get(); + ThreadLocal<?> k = e.get(); if (k == key) return e; if (k == null) @@ -413,7 +417,7 @@ * @param key the thread local object * @param value the value to be set */ - private void set(ThreadLocal key, Object value) { + private void set(ThreadLocal<?> key, Object value) { // We don't use a fast path as with get() because it is at // least as common to use set() to create new entries as @@ -427,7 +431,7 @@ for (Entry e = tab[i]; e != null; e = tab[i = nextIndex(i, len)]) { - ThreadLocal k = e.get(); + ThreadLocal<?> k = e.get(); if (k == key) { e.value = value; @@ -449,7 +453,7 @@ /** * Remove the entry for key. */ - private void remove(ThreadLocal key) { + private void remove(ThreadLocal<?> key) { Entry[] tab = table; int len = tab.length; int i = key.threadLocalHashCode & (len-1); @@ -479,7 +483,7 @@ * @param staleSlot index of the first stale entry encountered while * searching for key. */ - private void replaceStaleEntry(ThreadLocal key, Object value, + private void replaceStaleEntry(ThreadLocal<?> key, Object value, int staleSlot) { Entry[] tab = table; int len = tab.length; @@ -501,7 +505,7 @@ for (int i = nextIndex(staleSlot, len); (e = tab[i]) != null; i = nextIndex(i, len)) { - ThreadLocal k = e.get(); + ThreadLocal<?> k = e.get(); // If we find key, then we need to swap it // with the stale entry to maintain hash table order. @@ -563,7 +567,7 @@ for (i = nextIndex(staleSlot, len); (e = tab[i]) != null; i = nextIndex(i, len)) { - ThreadLocal k = e.get(); + ThreadLocal<?> k = e.get(); if (k == null) { e.value = null; tab[i] = null; @@ -650,7 +654,7 @@ for (int j = 0; j < oldLen; ++j) { Entry e = oldTab[j]; if (e != null) { - ThreadLocal k = e.get(); + ThreadLocal<?> k = e.get(); if (k == null) { e.value = null; // Help the GC } else {
--- a/src/share/classes/java/lang/Void.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/share/classes/java/lang/Void.java Thu Dec 08 13:48:54 2011 -0500 @@ -40,7 +40,8 @@ * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ - public static final Class<Void> TYPE = Class.getPrimitiveClass("void"); + @SuppressWarnings("unchecked") + public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void"); /* * The Void class cannot be instantiated.
--- a/src/solaris/classes/java/lang/ProcessEnvironment.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/solaris/classes/java/lang/ProcessEnvironment.java Thu Dec 08 13:48:54 2011 -0500 @@ -91,6 +91,7 @@ } /* Only for use by ProcessBuilder.environment() */ + @SuppressWarnings("unchecked") static Map<String,String> environment() { return new StringEnvironment ((Map<Variable,Value>)(theEnvironment.clone()));
--- a/src/windows/classes/java/lang/ProcessEnvironment.java Wed Dec 07 12:12:50 2011 -0800 +++ b/src/windows/classes/java/lang/ProcessEnvironment.java Thu Dec 08 13:48:54 2011 -0500 @@ -68,6 +68,9 @@ final class ProcessEnvironment extends HashMap<String,String> { + + private static final long serialVersionUID = -8017839552603542824L; + private static String validateName(String name) { // An initial `=' indicates a magic Windows variable name -- OK if (name.indexOf('=', 1) != -1 || @@ -144,6 +147,7 @@ }; } private static Map.Entry<String,String> checkedEntry(Object o) { + @SuppressWarnings("unchecked") Map.Entry<String,String> e = (Map.Entry<String,String>) o; nonNullString(e.getKey()); nonNullString(e.getValue()); @@ -281,6 +285,7 @@ } // Only for use by ProcessBuilder.environment() + @SuppressWarnings("unchecked") static Map<String,String> environment() { return (Map<String,String>) theEnvironment.clone(); }