]> source.dussan.org Git - sonarqube.git/blob
43dd5c46acda46834b7a2aaac6e161dcb3b8b1fa
[sonarqube.git] /
1 <p>
2 A value specified as carrying a type qualifier annotation is
3 compared with a value that doesn't ever carry that qualifier.
4 </p>
5
6 <p>
7 More precisely, a value annotated with a type qualifier specifying when=ALWAYS
8 is compared with a value that where the same type qualifier specifies when=NEVER.
9 </p>
10
11 <p>
12 For example, say that @NonNegative is a nickname for
13 the type qualifier annotation @Negative(when=When.NEVER).
14 The following code will generate this warning because
15 the return statement requires a @NonNegative value,
16 but receives one that is marked as @Negative.
17 </p>
18 <pre>
19 public boolean example(@Negative Integer value1, @NonNegative Integer value2) {
20   return value1.equals(value2);
21 }
22 </pre>