| /* |
| * @test |
| * @summary Test -AwarnUnneededSuppressions |
| * |
| * @compile/ref=UnneededSuppressionsTest.out -XDrawDiagnostics -processor org.checkerframework.checker.index.IndexChecker -AwarnUnneededSuppressions UnneededSuppressionsTest.java |
| */ |
| |
| import org.checkerframework.checker.index.qual.NonNegative; |
| |
| @SuppressWarnings("index") |
| public class UnneededSuppressionsTest { |
| |
| void method(@NonNegative int i) { |
| @SuppressWarnings("index") |
| @NonNegative int x = i - 1; |
| } |
| |
| void method2() { |
| @SuppressWarnings("fallthrough") |
| int x = 0; |
| } |
| |
| @SuppressWarnings({"tainting", "lowerbound"}) |
| void method3() { |
| @SuppressWarnings("upperbound:assignment") |
| int z = 0; |
| } |
| |
| void method4() { |
| @SuppressWarnings("lowerbound:assignment") |
| @NonNegative int x = -1; |
| } |
| |
| @SuppressWarnings("purity.not.deterministic.call") |
| void method5() {} |
| |
| @SuppressWarnings("purity") |
| void method6() {} |
| |
| @SuppressWarnings("index:foo.bar.baz") |
| void method7() {} |
| |
| @SuppressWarnings("allcheckers:purity.not.deterministic.call") |
| void method8() {} |
| } |