RFR: 8003380 - Compiler warnings in logging test code
Stuart Marks
stuart.marks at oracle.com
Sat Nov 17 02:39:40 UTC 2012
On 11/15/12 3:06 AM, Alan Bateman wrote:
> On 14/11/2012 22:44, Chris Hegarty wrote:
>> - @SuppressWarnings("unused") Eclipse???
>> Do we have precedent for adding these suppressions??
>>
> I don't see it in the -Xlint options that javac supports so it might be
> specific to ECJ. I recall this topic came up during one of the warnings
> clean-up days, Stuart might remember the outcome.
Yes, I gave an (Oracle internal) tech talk on warnings cleanup some time back
where I mentioned this issue. I'll repeat the results here for everybody's benefit.
The background is that the words that can be supplied to @SuppressWarnings
reside in an uncontrolled namespace. The JLS [1] defines only "unchecked" and
any others are compiler-specific. The set of words accepted here by javac is
the same as the words defined for -Xlint.
I did a survey of the sources in the jdk repo and found that the javac-defined
warnings suppression tags were:
deprecation fallthrough rawtypes serial try unchecked
In addition, I found the following non-javac tags used:
all
empty-statement
unused
LeakingThisInConstructor
OverridableMethodCallInConstructor
ResultOfObjectAllocationIgnored
SleepWhileHoldingLock
UnnecessaryLocalVariable
I actually have no idea which tool processes these. The names are suggestive
though. I don't think we ever determined any policy about which names ought to
be used in the OpenJDK code base. At the very least I think any of the javac
-Xlint words is acceptable. I could be convinced that allowing others is a good
idea (such as the Eclipse ones) if they're useful and a definition is available
somewhere.
s'marks
[1] http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.6.3.5
More information about the core-libs-dev
mailing list