JDK 8 RFR: more core libs raw warnings cleanup
Remi Forax
forax at univ-mlv.fr
Tue Nov 12 09:48:17 UTC 2013
On 11/12/2013 10:51 AM, Chris Hegarty wrote:
> Looks ok to me Joe.
>
> -Chris.
A small issue,
refs = (WeakReference<Class<?>>[])new WeakReference[interfaces.length];
should be
refs = (WeakReference<Class<?>>[])new
WeakReference<?>[interfaces.length];
otherwise, looks good.
Rémi
>
> On 12/11/13 09:28, 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);
>>
More information about the core-libs-dev
mailing list