JDK 9 RFR of JDK-8049820: Fix raw and unchecked lint warnings in sun.management

Mandy Chung mandy.chung at oracle.com
Thu Jul 10 05:00:17 UTC 2014


Thumbs up.
Mandy

On 7/9/2014 9:25 PM, Joe Darcy wrote:
> PS Upon double-checking, I neglected to include the changes to one 
> other file in my earlier review request:
>
> --- a/src/share/classes/sun/management/GcInfoBuilder.java    Thu Jul 
> 10 03:07:48 2014 +0000
> +++ b/src/share/classes/sun/management/GcInfoBuilder.java    Wed Jul 
> 09 21:24:03 2014 -0700
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 2003, 2014, 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
> @@ -98,7 +98,7 @@
>
>          // First, fill with the attributes in the GcInfo
>          String[] gcInfoItemNames = 
> GcInfoCompositeData.getBaseGcInfoItemNames();
> -        OpenType[] gcInfoItemTypes = 
> GcInfoCompositeData.getBaseGcInfoItemTypes();
> +        OpenType<?>[] gcInfoItemTypes = 
> GcInfoCompositeData.getBaseGcInfoItemTypes();
>          int numGcInfoItems = gcInfoItemNames.length;
>
>          int itemCount = numGcInfoItems + gcExtItemCount;
>
>
> I'll include this straightforward change in the push.
>
> Thanks,
>
> -Joe
>
> On 07/09/2014 07:40 PM, Mandy Chung wrote:
>>
>> On 7/9/2014 6:35 PM, Joe Darcy wrote:
>>> Hi Mandy,
>>>
>>> On 07/09/2014 06:26 PM, Mandy Chung wrote:
>>>>
>>>> On 7/9/2014 6:10 PM, Joe Darcy wrote:
>>>>> Hello,
>>>>>
>>>>> Another batch of lint warnings removal; this time for
>>>>>
>>>>>     8049820: Fix raw and unchecked lint warnings in sun.management
>>>>>     http://cr.openjdk.java.net/~darcy/8049820.0/
>>>>
>>>>  230         @SuppressWarnings("rawtypes")
>>>>  231         final Class enumClass;
>>>>
>>>> Why can't the enumClass field be declared of Class<?> type?
>>>>
>>>> Other than that, looks fine.
>>>> Mandy
>>>>
>>>
>>> My first attempt at generifying this class used Class<?> as you 
>>> suggest. The problem occurs in the call to the static method 
>>> Enum.valueOf which has a declaration of
>>>
>>>     public static <T extends Enum<T>> T valueOf(Class<T> enumType,
>>>                                                 String name)
>>>
>>> The problem here is the recursive "T extends Enum<T>", following the 
>>> recursive F-bound of the java.lang.Enum type itself. Using a 
>>> wildcard for Class<?> doesn't work with this method signature; 
>>> something like Class<? extends Enum> doesn't work either because the 
>>> more specific recursive binding is not captured, so I reluctantly 
>>> fell back to using a raw type.
>>
>> I see, thanks.  The patch is good to go.
>> Mandy
>>
>



More information about the serviceability-dev mailing list