RFR: JDK-8241310 Fix warnings in jdk buildtools
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
>> 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
> 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.
>> ----- 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
>>> 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
More information about the core-libs-dev