]> source.dussan.org Git - sonarqube.git/blob
2e3dbbeaed398c2d24690cfca844d519c5081df9
[sonarqube.git] /
1 <p>
2         A value specified as carrying a type qualifier annotation is
3         consumed in a location or locations requiring that the value not
4         carry that annotation.
5         </p>
6         
7         <p>
8         More precisely, a value annotated with a type qualifier specifying when=ALWAYS
9         is guaranteed to reach a use or uses where the same type qualifier specifies when=NEVER.
10         </p>
11         
12         <p>
13         For example, say that @NonNegative is a nickname for
14         the type qualifier annotation @Negative(when=When.NEVER).
15         The following code will generate this warning because
16         the return statement requires a @NonNegative value,
17         but receives one that is marked as @Negative.   
18         </p>
19         <blockquote>
20 <pre>
21 public @NonNegative Integer example(@Negative Integer value) {
22     return value;
23 }
24 </pre>
25         </blockquote>