RFR: 8003380 - Compiler warnings in logging test code
Jim Gish
jim.gish at oracle.com
Wed Nov 28 18:27:36 UTC 2012
Here's the list of @suppresswarnings values that are recognized by
Eclipse Juno:
Excluding warnings using @SuppressWarnings
Since Java 5.0, you can disable compilation warnings relative to a
subset of a compilation unit using the|java.lang.SuppressWarning|annotation.
@SuppressWarning("unused") public void foo() {
String s;
}
Without the annotation, the compiler would complain that the local
variable|s|is never used. With the annotation, the compiler silently
ignores this warning locally to the|foo|method. This enables to keep the
warnings in other locations of the same compilation unit or the same
project.
The list of tokens that can be used inside a|SuppressWarnings|annotation is:
* allto suppress all warnings
* boxingto suppress warnings relative to boxing/unboxing operations
* castto suppress warnings relative to cast operations
* dep-annto suppress warnings relative to deprecated annotation
* deprecationto suppress warnings relative to deprecation
* fallthroughto suppress warnings relative to missing breaks in switch
statements
* finallyto suppress warnings relative to finally block that don't return
* hidingto suppress warnings relative to locals that hide variable
* incomplete-switchto suppress warnings relative to missing entries in
a switch statement (enum case)
* javadocto suppress warnings relative to javadoc warnings
* nlsto suppress warnings relative to non-nls string literals
* nullto suppress warnings relative to null analysis
* rawtypesto suppress warnings relative to usage of raw types
* resourceto suppress warnings relative to usage of resources of type
Closeable
* restrictionto suppress warnings relative to usage of discouraged or
forbidden references
* serialto suppress warnings relative to missing serialVersionUID
field for a serializable class
* static-accessto suppress warnings relative to incorrect static access
* static-methodto suppress warnings relative to methods that could be
declared as static
* superto suppress warnings relative to overriding a method without
super invocations
* synthetic-accessto suppress warnings relative to unoptimized access
from inner classes
* sync-overrideto suppress warnings because of missing synchronize
when overriding a synchronized method
* uncheckedto suppress warnings relative to unchecked operations
* unqualified-field-accessto suppress warnings relative to field
access unqualified
* unusedto suppress warnings relative to unused code and dead code
(From
http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt%255Fapi%255Fcompile.htm)
Jim
On 11/16/2012 10:02 PM, Stuart Marks wrote:
> On 11/16/12 6:39 PM, Stuart Marks wrote:
>> 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.
>>
>> [1]
>> http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.6.3.5
>
> Whoops, the JLS defines "deprecation" as well (as Alan pointed out in
> another thread the other day). But the rest of the point stands.
>
> s'marks
--
Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304
Oracle Java Platform Group | Core Libraries Team
35 Network Drive
Burlington, MA 01803
jim.gish at oracle.com
More information about the core-libs-dev
mailing list