Files
openide/java/java-impl/resources/inspectionDescriptions/ReflectionForUnavailableAnnotation.html
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

20 lines
586 B
HTML

<html>
<body>
Reports attempts to reflectively check for the presence of a non-runtime annotation.
<p>Using <code>Class.isAnnotationPresent()</code> to test for an annotation
whose retention policy is set to <code>SOURCE</code> or <code>CLASS</code>
(the default) will always have a negative result. This mistake is easy to overlook.</p>
<p><b>Example:</b></p>
<pre><code>
{
getClass().isAnnotationPresent(SourceAnnotation.class); //always false
}
@Retention(RetentionPolicy.SOURCE)
@interface SourceAnnotation {}
</code></pre>
<!-- tooltip end -->
<p>
</body>
</html>