jdk/src/java.base/share/classes/java/lang/SuppressWarnings.java
changeset 42338 a60f280f803c
parent 29232 1e69d3a5a305
equal deleted inserted replaced
42148:7a4a59859ac0 42338:a60f280f803c
    33  * annotated element (and in all program elements contained in the annotated
    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
    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
    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
    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.
    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.
    38  *
    41  *
    39  * <p>As a matter of style, programmers should always use this annotation
    42  * <p>As a matter of style, programmers should always use this annotation
    40  * on the most deeply nested element where it is effective.  If you want to
    43  * on the most deeply nested element where it is effective.  If you want to
    41  * suppress a warning in a particular method, you should annotate that
    44  * suppress a warning in a particular method, you should annotate that
    42  * method rather than its class.
    45  * method rather than its class.
    47  * @jls 4.12.2 Variables of Reference Type
    50  * @jls 4.12.2 Variables of Reference Type
    48  * @jls 5.1.9 Unchecked Conversion
    51  * @jls 5.1.9 Unchecked Conversion
    49  * @jls 5.5.2 Checked Casts and Unchecked Casts
    52  * @jls 5.5.2 Checked Casts and Unchecked Casts
    50  * @jls 9.6.4.5 @SuppressWarnings
    53  * @jls 9.6.4.5 @SuppressWarnings
    51  */
    54  */
    52 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
    55 @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
    53 @Retention(RetentionPolicy.SOURCE)
    56 @Retention(RetentionPolicy.SOURCE)
    54 public @interface SuppressWarnings {
    57 public @interface SuppressWarnings {
    55     /**
    58     /**
    56      * The set of warnings that are to be suppressed by the compiler in the
    59      * The set of warnings that are to be suppressed by the compiler in the
    57      * annotated element.  Duplicate names are permitted.  The second and
    60      * annotated element.  Duplicate names are permitted.  The second and