| import java.util.Arrays; |
| import java.util.List; |
| import org.checkerframework.checker.nullness.qual.*; |
| |
| public class ArrayRefs { |
| |
| public void test() { |
| |
| String[] s = null; |
| |
| // :: error: (dereference.of.nullable) |
| if (s.length > 0) { |
| System.out.println("s.length > 0"); |
| } |
| } |
| |
| public static void test2() { |
| Object a = new Object(); |
| takeNNList(Arrays.<Object>asList(new Object[] {a})); |
| takeNNList(Arrays.asList(new Object[] {a})); |
| takeNNList(Arrays.asList(a, a, a)); |
| // :: error: (argument) |
| takeNNList(Arrays.asList(a, a, null)); |
| } |
| |
| static void takeNNList(List<Object> p) {} |
| |
| <T> void test(T[] a) { |
| test(a); |
| } |
| |
| List<Object> @Nullable [] antecedents_for_suppressors() { |
| return null; |
| } |
| |
| public void find_suppressed_invs() { |
| List<Object>[] antecedents = antecedents_for_suppressors(); |
| } |
| } |