8028229: Fix more raw types lint warning in core libraries
Reviewed-by: chegar, forax, lancea, alanb, jfranck
diff --git a/src/share/classes/java/io/ObjectOutputStream.java b/src/share/classes/java/io/ObjectOutputStream.java
index c851b3a..612bb4e 100644
--- a/src/share/classes/java/io/ObjectOutputStream.java
+++ b/src/share/classes/java/io/ObjectOutputStream.java
@@ -1248,7 +1248,7 @@
         handles.assign(unshared ? null : desc);
 
         Class<?> cl = desc.forClass();
-        Class[] ifaces = cl.getInterfaces();
+        Class<?>[] ifaces = cl.getInterfaces();
         bout.writeInt(ifaces.length);
         for (int i = 0; i < ifaces.length; i++) {
             bout.writeUTF(ifaces[i].getName());
diff --git a/src/share/classes/java/io/ObjectStreamClass.java b/src/share/classes/java/io/ObjectStreamClass.java
index 04873c8..5667690 100644
--- a/src/share/classes/java/io/ObjectStreamClass.java
+++ b/src/share/classes/java/io/ObjectStreamClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1746,7 +1746,7 @@
                 dout.writeUTF("()V");
             }
 
-            Constructor[] cons = cl.getDeclaredConstructors();
+            Constructor<?>[] cons = cl.getDeclaredConstructors();
             MemberSignature[] consSigs = new MemberSignature[cons.length];
             for (int i = 0; i < cons.length; i++) {
                 consSigs[i] = new MemberSignature(cons[i]);
diff --git a/src/share/classes/java/lang/reflect/Proxy.java b/src/share/classes/java/lang/reflect/Proxy.java
index f2e4eda..20e62b6 100644
--- a/src/share/classes/java/lang/reflect/Proxy.java
+++ b/src/share/classes/java/lang/reflect/Proxy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -494,9 +494,10 @@
         private final int hash;
         private final WeakReference<Class<?>>[] refs;
 
+        @SuppressWarnings("unchecked")
         KeyX(Class<?>[] interfaces) {
             hash = Arrays.hashCode(interfaces);
-            refs = new WeakReference[interfaces.length];
+            refs = (WeakReference<Class<?>>[])new WeakReference<?>[interfaces.length];
             for (int i = 0; i < interfaces.length; i++) {
                 refs[i] = new WeakReference<>(interfaces[i]);
             }
diff --git a/src/share/classes/java/nio/file/TempFileHelper.java b/src/share/classes/java/nio/file/TempFileHelper.java
index 7c348d5..8d171de 100644
--- a/src/share/classes/java/nio/file/TempFileHelper.java
+++ b/src/share/classes/java/nio/file/TempFileHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -81,7 +81,7 @@
                                String prefix,
                                String suffix,
                                boolean createDirectory,
-                               FileAttribute[] attrs)
+                               FileAttribute<?>[] attrs)
         throws IOException
     {
         if (prefix == null)
@@ -155,7 +155,7 @@
     static Path createTempFile(Path dir,
                                String prefix,
                                String suffix,
-                               FileAttribute[] attrs)
+                               FileAttribute<?>[] attrs)
         throws IOException
     {
         return create(dir, prefix, suffix, false, attrs);
@@ -167,7 +167,7 @@
      */
     static Path createTempDirectory(Path dir,
                                     String prefix,
-                                    FileAttribute[] attrs)
+                                    FileAttribute<?>[] attrs)
         throws IOException
     {
         return create(dir, prefix, null, true, attrs);
diff --git a/src/share/classes/java/util/IdentityHashMap.java b/src/share/classes/java/util/IdentityHashMap.java
index 4080821..3db4058 100644
--- a/src/share/classes/java/util/IdentityHashMap.java
+++ b/src/share/classes/java/util/IdentityHashMap.java
@@ -1243,7 +1243,7 @@
                     if (ti >= size) {
                         throw new ConcurrentModificationException();
                     }
-                    a[ti++] = (T) new AbstractMap.SimpleEntry(unmaskNull(key), tab[si + 1]);
+                    a[ti++] = (T) new AbstractMap.SimpleEntry<>(unmaskNull(key), tab[si + 1]);
                 }
             }
             // fewer elements than expected or concurrent modification from other thread detected
diff --git a/src/share/classes/java/util/logging/Logger.java b/src/share/classes/java/util/logging/Logger.java
index efc18c5..1976512 100644
--- a/src/share/classes/java/util/logging/Logger.java
+++ b/src/share/classes/java/util/logging/Logger.java
@@ -351,7 +351,7 @@
                                          ? caller.getClassLoader()
                                          : null);
         if (callersClassLoader != null) {
-            this.callersClassLoaderRef = new WeakReference(callersClassLoader);
+            this.callersClassLoaderRef = new WeakReference<>(callersClassLoader);
         }
     }
 
diff --git a/src/share/classes/java/util/logging/Logging.java b/src/share/classes/java/util/logging/Logging.java
index e22a82e..740a533 100644
--- a/src/share/classes/java/util/logging/Logging.java
+++ b/src/share/classes/java/util/logging/Logging.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,11 +55,11 @@
     }
 
     public List<String> getLoggerNames() {
-        Enumeration loggers = logManager.getLoggerNames();
+        Enumeration<String> loggers = logManager.getLoggerNames();
         ArrayList<String> array = new ArrayList<>();
 
         for (; loggers.hasMoreElements();) {
-            array.add((String) loggers.nextElement());
+            array.add(loggers.nextElement());
         }
         return array;
     }
diff --git a/src/share/classes/sun/misc/Cleaner.java b/src/share/classes/sun/misc/Cleaner.java
index f23764e..5e92f35 100644
--- a/src/share/classes/sun/misc/Cleaner.java
+++ b/src/share/classes/sun/misc/Cleaner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,14 +57,14 @@
  */
 
 public class Cleaner
-    extends PhantomReference
+    extends PhantomReference<Object>
 {
 
     // Dummy reference queue, needed because the PhantomReference constructor
     // insists that we pass a queue.  Nothing will ever be placed on this queue
     // since the reference handler invokes cleaners explicitly.
     //
-    private static final ReferenceQueue dummyQueue = new ReferenceQueue();
+    private static final ReferenceQueue<Object> dummyQueue = new ReferenceQueue<>();
 
     // Doubly-linked list of live cleaners, which prevents the cleaners
     // themselves from being GC'd before their referents
@@ -119,6 +119,7 @@
     /**
      * Creates a new cleaner.
      *
+     * @param  ob the referent object to be cleaned
      * @param  thunk
      *         The cleanup code to be run when the cleaner is invoked.  The
      *         cleanup code is run directly from the reference-handler thread,
diff --git a/src/share/classes/sun/misc/ProxyGenerator.java b/src/share/classes/sun/misc/ProxyGenerator.java
index dd93aa0..d561df6 100644
--- a/src/share/classes/sun/misc/ProxyGenerator.java
+++ b/src/share/classes/sun/misc/ProxyGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -384,7 +384,7 @@
     private String className;
 
     /** proxy interfaces */
-    private Class[] interfaces;
+    private Class<?>[] interfaces;
 
     /** proxy class access flags */
     private int accessFlags;
diff --git a/src/share/classes/sun/rmi/rmic/Main.java b/src/share/classes/sun/rmi/rmic/Main.java
index 8e0eb3a..f321a6e 100644
--- a/src/share/classes/sun/rmi/rmic/Main.java
+++ b/src/share/classes/sun/rmi/rmic/Main.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -494,7 +494,7 @@
                                              extDirsArg);
         BatchEnvironment result = null;
         try {
-            Class[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
+            Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
             Object[] ctorArgs = {out,classPath,this};
             Constructor<? extends BatchEnvironment> constructor =
                 environmentClass.getConstructor(ctorArgTypes);
diff --git a/src/share/classes/sun/rmi/server/LoaderHandler.java b/src/share/classes/sun/rmi/server/LoaderHandler.java
index c35da19..96c692b 100644
--- a/src/share/classes/sun/rmi/server/LoaderHandler.java
+++ b/src/share/classes/sun/rmi/server/LoaderHandler.java
@@ -692,7 +692,7 @@
      * Define a proxy class in the given class loader.  The proxy
      * class will implement the given interfaces Classes.
      */
-    private static Class<?> loadProxyClass(ClassLoader loader, Class[] interfaces)
+    private static Class<?> loadProxyClass(ClassLoader loader, Class<?>[] interfaces)
         throws ClassNotFoundException
     {
         try {
@@ -719,7 +719,7 @@
      */
     private static ClassLoader loadProxyInterfaces(String[] interfaces,
                                                    ClassLoader loader,
-                                                   Class[] classObjs,
+                                                   Class<?>[] classObjs,
                                                    boolean[] nonpublic)
         throws ClassNotFoundException
     {
diff --git a/src/share/classes/sun/rmi/server/UnicastServerRef.java b/src/share/classes/sun/rmi/server/UnicastServerRef.java
index 180a625..8342c08 100644
--- a/src/share/classes/sun/rmi/server/UnicastServerRef.java
+++ b/src/share/classes/sun/rmi/server/UnicastServerRef.java
@@ -299,7 +299,7 @@
             logCall(obj, method);
 
             // unmarshal parameters
-            Class[] types = method.getParameterTypes();
+            Class<?>[] types = method.getParameterTypes();
             Object[] params = new Object[types.length];
 
             try {
diff --git a/src/share/classes/sun/rmi/server/Util.java b/src/share/classes/sun/rmi/server/Util.java
index 0f82a84..e37bcb9 100644
--- a/src/share/classes/sun/rmi/server/Util.java
+++ b/src/share/classes/sun/rmi/server/Util.java
@@ -87,7 +87,7 @@
         Collections.synchronizedMap(new WeakHashMap<Class<?>, Void>(11));
 
     /** parameter types for stub constructor */
-    private static final Class[] stubConsParamTypes = { RemoteRef.class };
+    private static final Class<?>[] stubConsParamTypes = { RemoteRef.class };
 
     private Util() {
     }
@@ -143,7 +143,7 @@
         }
 
         final ClassLoader loader = implClass.getClassLoader();
-        final Class[] interfaces = getRemoteInterfaces(implClass);
+        final Class<?>[] interfaces = getRemoteInterfaces(implClass);
         final InvocationHandler handler =
             new RemoteObjectInvocationHandler(clientRef);