JDK 8 RFR: more core libs raw warnings cleanup

Lance Andersen - Oracle Lance.Andersen at oracle.com
Tue Nov 12 12:07:17 UTC 2013


Looks Ok Joe
On Nov 12, 2013, at 4:28 AM, Joe Darcy wrote:

> Hello,
> 
> Please review the patch below which would remove another batch of raw type javac lint warnings from the core libraries.
> 
> No signatures of public or protected methods in the Java SE specification have been modified. Regression tests in affected areas pass.
> 
> Thanks,
> 
> -Joe
> 
> diff -r 9fcb07df1c92 src/share/classes/java/io/ObjectOutputStream.java
> --- a/src/share/classes/java/io/ObjectOutputStream.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/io/ObjectOutputStream.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/java/io/ObjectStreamClass.java
> --- a/src/share/classes/java/io/ObjectStreamClass.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/io/ObjectStreamClass.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/java/lang/reflect/Proxy.java
> --- a/src/share/classes/java/lang/reflect/Proxy.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/lang/reflect/Proxy.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -494,9 +494,10 @@
>         private final int hash;
>         private final WeakReference<Class<?>>[] refs;
> 
> +        @SuppressWarnings({"rawtypes", "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 -r 9fcb07df1c92 src/share/classes/java/nio/file/TempFileHelper.java
> --- a/src/share/classes/java/nio/file/TempFileHelper.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/nio/file/TempFileHelper.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/java/util/IdentityHashMap.java
> --- a/src/share/classes/java/util/IdentityHashMap.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/util/IdentityHashMap.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/java/util/logging/Logger.java
> --- a/src/share/classes/java/util/logging/Logger.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/util/logging/Logger.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -351,7 +351,7 @@
>                                          ? caller.getClassLoader()
>                                          : null);
>         if (callersClassLoader != null) {
> -            this.callersClassLoaderRef = new WeakReference(callersClassLoader);
> +            this.callersClassLoaderRef = new WeakReference<>(callersClassLoader);
>         }
>     }
> 
> diff -r 9fcb07df1c92 src/share/classes/java/util/logging/Logging.java
> --- a/src/share/classes/java/util/logging/Logging.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/java/util/logging/Logging.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/sun/misc/Cleaner.java
> --- a/src/share/classes/sun/misc/Cleaner.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/misc/Cleaner.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/sun/misc/ProxyGenerator.java
> --- a/src/share/classes/sun/misc/ProxyGenerator.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/misc/ProxyGenerator.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -384,7 +384,7 @@
>     private String className;
> 
>     /** proxy interfaces */
> -    private Class[] interfaces;
> +    private Class<?>[] interfaces;
> 
>     /** proxy class access flags */
>     private int accessFlags;
> diff -r 9fcb07df1c92 src/share/classes/sun/rmi/rmic/Main.java
> --- a/src/share/classes/sun/rmi/rmic/Main.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/rmi/rmic/Main.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/sun/rmi/server/LoaderHandler.java
> --- a/src/share/classes/sun/rmi/server/LoaderHandler.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/rmi/server/LoaderHandler.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/sun/rmi/server/UnicastServerRef.java
> --- a/src/share/classes/sun/rmi/server/UnicastServerRef.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/rmi/server/UnicastServerRef.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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 -r 9fcb07df1c92 src/share/classes/sun/rmi/server/Util.java
> --- a/src/share/classes/sun/rmi/server/Util.java    Sat Nov 09 04:21:28 2013 +0400
> +++ b/src/share/classes/sun/rmi/server/Util.java    Tue Nov 12 00:51:15 2013 -0800
> @@ -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);
> 

-------------- next part --------------

Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com



More information about the core-libs-dev mailing list