RFR: JDK-8241310 Fix warnings in jdk buildtools

Erik Joelsson erik.joelsson at oracle.com
Fri Mar 20 13:11:34 UTC 2020

Looks even better.


On 2020-03-20 04:42, Magnus Ihse Bursie wrote:
> On 2020-03-19 19:12, Remi Forax wrote:
>> Hi Magnus,
>> please try not to use @SuppressWarnings("unchecked") on methods, but 
>> on local variable instead to reduce the scope,
>> you can introduce a local variable for that.
> Aha, I did not know that possibility existed! (My Java skills is 
> becoming somewhat rusty after spending too much time in the build 
> system.) That's much better, I fully agree.
>> In Bundle, your patch declare @SuppressWarnings("unchecked") on the 
>> method while you already have a local variable with a 
>> @SuppressWarnings("unchecked").
>> Also, usually you don't need @SuppressWarnings("rawtype") apart when 
>> you use Object.getClass, otherwise using a wilcard solve the issue.
>> By example in PluralsParseHandle,
>>    instead of
>>      Entry entry = (Entry)currentContainer;
>>    the code should be
>>      Entry<?,?> entry = (Entry<?,?>)currentContainer;
> Thank you. I'm still struggling with the <?> capturing mechanics.
>> BTW, in this method, you have an Arrays.stream(array).forEach() which 
>> is an antipattern, a simple loop should be used instead.
> I'm sure the code is full of ugliness; however it is not "my" code -- 
> I'm merely trying to fix the compiler warnings, and I will not do any 
> further cleanups. If I started to walk on that path, there will be no 
> end.
> Here is an updated webrev. Now I'm down to just four SuppressWarnings, 
> all of them localized, and three of them (in Bundle.java) are modeled 
> after similar patterns in the same function.
> http://cr.openjdk.java.net/~ihse/JDK-8241310-fix-warnings-in-buildtools/webrev.02 
> /Magnus
>> regards,
>> Rémi
>> ----- Mail original -----
>>> De: "Magnus Ihse Bursie" <magnus.ihse.bursie at oracle.com>
>>> À: "build-dev" <build-dev at openjdk.java.net>, "core-libs-dev" 
>>> <core-libs-dev at openjdk.java.net>
>>> Envoyé: Jeudi 19 Mars 2020 17:53:09
>>> Objet: RFR: JDK-8241310 Fix warnings in jdk buildtools
>>> The buildtools (java tools needed to be run during the build) have long
>>> been plagued by warnings, includuing deprecations and unchecked
>>> warnings, which cannot be silenced during the build.
>>> This patch fixes all buildtool warnings. Most of the warnings are fixed
>>> properly, but a few have had their warnings suppressed locally.
>>> For two tools, cldrconverter and tzdb, I gave up to get them fully
>>> fixed, and instead suppressed warnings in some places. Common for both
>>> these tools were that they used collections of some kind, with a mixed
>>> bag of data types (e.g. a Map from String to either String, HashMap,
>>> ArrayList and String[]). I'm frankly not sure how this could ever have
>>> worked :-) but I assume that the data files being parsed has a 
>>> structure
>>> that "guarantees" that this works.
>>> Two files in generatecharacter were missing a proper copyright 
>>> header. I
>>> noticed this when I were about to update the copyright year, and when I
>>> checked the other files I noted another one without header. While I did
>>> not need to change this file, I thought it was suitable to fix the
>>> missing header for both files.
>>> I have verified that the code generated by the build is identical with
>>> and without this patch.
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8241310
>>> WebRev:
>>> http://cr.openjdk.java.net/~ihse/JDK-8241310-fix-warnings-in-buildtools/webrev.01 
>>> /Magnus

More information about the core-libs-dev mailing list