RFR (S): 8230854: Cleanup SuppressWarnings in test lib and remove noisy traces in StreamPumper
Langer, Christoph
christoph.langer at sap.com
Fri Sep 13 08:04:39 UTC 2019
Hi David,
> >> test/lib/jdk/test/lib/process/ProcessTools.java
> >>
> >> - @SuppressWarnings("overloads")
> >> public static Process startProcess(String name,
> >> ProcessBuilder processBuilder,
> >> final Predicate<String>
> >> linePredicate)
> >>
> >> Unnecessary? I can't find what this warning is supposed to mean. Is it used by some IDE's?
> > I didn't find any reference either and the IDE says that this is an unknown
> annotation. So unless somebody steps up and tells us what it's good for, I guess it can be removed.
>
> Not it is a valid warning. Try compiling with -Xlint:all without the
> warning suppressed:
>
> ----------System.err:(19/1295)----------
> /scratch/users/daholme/jdk-
> dev2/open/test/lib/jdk/test/lib/process/ProcessTools.java:91:
> warning: [overloads]
> startProcess(String,ProcessBuilder,Consumer<String>) in ProcessTools is
> potentially ambiguous with
> startProcess(String,ProcessBuilder,Predicate<String>) in ProcessTools
> public static Process startProcess(String name,
> ^
Thanks for taking a closer look here and enlightening me.
@SuppressWarnings("overloads") is supported by javac but not by my Eclipse IDE. One can list supported @SuppressWarnings types with javac -X. You'll get:
overloads Warn about issues regarding method overloads.
So I now understand what the warning means and why @SuppressWarnings("overloads") is required here. I've also configured my Eclipse to ignore this unknown annotation.
New webrev, keeping @SuppressWarnings("overloads"): http://cr.openjdk.java.net/~clanger/webrevs/8230854.1/
Best regards
Christoph
More information about the hotspot-dev
mailing list