32 * Indicates that the named compiler warnings should be suppressed in the
33 * annotated element (and in all program elements contained in the annotated
34 * element). Note that the set of warnings suppressed in a given element is
35 * a superset of the warnings suppressed in all containing elements. For
36 * example, if you annotate a class to suppress one warning and annotate a
37 * method to suppress another, both warnings will be suppressed in the method.
38 * However, note that if a warning is suppressed in a {@code
39 * module-info} file, the suppression applies to elements within the
40 * file and <em>not</em> to types contained within the module.
41 *
42 * <p>As a matter of style, programmers should always use this annotation
43 * on the most deeply nested element where it is effective. If you want to
44 * suppress a warning in a particular method, you should annotate that
45 * method rather than its class.
46 *
47 * @author Josh Bloch
48 * @since 1.5
49 * @jls 4.8 Raw Types
50 * @jls 4.12.2 Variables of Reference Type
51 * @jls 5.1.9 Unchecked Conversion
52 * @jls 5.5.2 Checked Casts and Unchecked Casts
53 * @jls 9.6.4.5 @SuppressWarnings
54 */
55 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
56 @Retention(RetentionPolicy.SOURCE)
57 public @interface SuppressWarnings {
58 /**
59 * The set of warnings that are to be suppressed by the compiler in the
60 * annotated element. Duplicate names are permitted. The second and
61 * successive occurrences of a name are ignored. The presence of
62 * unrecognized warning names is <i>not</i> an error: Compilers must
63 * ignore any warning names they do not recognize. They are, however,
64 * free to emit a warning if an annotation contains an unrecognized
65 * warning name.
66 *
67 * <p> The string {@code "unchecked"} is used to suppress
68 * unchecked warnings. Compiler vendors should document the
69 * additional warning names they support in conjunction with this
70 * annotation type. They are encouraged to cooperate to ensure
71 * that the same names work across multiple compilers.
72 * @return the set of warnings to be suppressed
|
32 * Indicates that the named compiler warnings should be suppressed in the
33 * annotated element (and in all program elements contained in the annotated
34 * element). Note that the set of warnings suppressed in a given element is
35 * a superset of the warnings suppressed in all containing elements. For
36 * example, if you annotate a class to suppress one warning and annotate a
37 * method to suppress another, both warnings will be suppressed in the method.
38 * However, note that if a warning is suppressed in a {@code
39 * module-info} file, the suppression applies to elements within the
40 * file and <em>not</em> to types contained within the module.
41 *
42 * <p>As a matter of style, programmers should always use this annotation
43 * on the most deeply nested element where it is effective. If you want to
44 * suppress a warning in a particular method, you should annotate that
45 * method rather than its class.
46 *
47 * @author Josh Bloch
48 * @since 1.5
49 * @jls 4.8 Raw Types
50 * @jls 4.12.2 Variables of Reference Type
51 * @jls 5.1.9 Unchecked Conversion
52 * @jls 5.5 Casting Contexts
53 * @jls 9.6.4.5 @SuppressWarnings
54 */
55 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
56 @Retention(RetentionPolicy.SOURCE)
57 public @interface SuppressWarnings {
58 /**
59 * The set of warnings that are to be suppressed by the compiler in the
60 * annotated element. Duplicate names are permitted. The second and
61 * successive occurrences of a name are ignored. The presence of
62 * unrecognized warning names is <i>not</i> an error: Compilers must
63 * ignore any warning names they do not recognize. They are, however,
64 * free to emit a warning if an annotation contains an unrecognized
65 * warning name.
66 *
67 * <p> The string {@code "unchecked"} is used to suppress
68 * unchecked warnings. Compiler vendors should document the
69 * additional warning names they support in conjunction with this
70 * annotation type. They are encouraged to cooperate to ensure
71 * that the same names work across multiple compilers.
72 * @return the set of warnings to be suppressed
|