package index; import org.checkerframework.checker.index.qual.GTENegativeOne; import org.checkerframework.checker.index.qual.IndexFor; import org.checkerframework.checker.index.qual.SameLenBottom; import org.checkerframework.checker.index.qual.UpperBoundBottom; import org.checkerframework.common.value.qual.BottomVal; /** This class tests that errors are issued in order of postion. */ public class ErrorOrders { void test2(int i, int[] a) { a[i] = 2; } int test4( @GTENegativeOne @UpperBoundBottom int p1, @UpperBoundBottom @GTENegativeOne int p2, int @BottomVal [] p3, int @SameLenBottom [] p4, @BottomVal int p5) { @IndexFor("p2") int z = 0; @IndexFor("This isn't an expression") int x = z; return x; } void useTest4(int p1, int p2, int[] p3, int[] p4, int p5) { test4(p1, test4(p1, p2, p3, p4, p5), p3, p4, p5); } class InnerClass { @IndexFor("This isn't an expression") int x = 0; void test2(int i, int[] a) { a[i] = 2; } } } class InSameCompilationUnit { @IndexFor("This isn't an expression") int x = 0; void test2(int i, int[] a) { a[i] = 2; } int test4( @GTENegativeOne @UpperBoundBottom int p1, @UpperBoundBottom @GTENegativeOne int p2, int @BottomVal [] p3, int @SameLenBottom [] p4, @BottomVal int p5) { @IndexFor("p2") int z = 0; @IndexFor("This isn't an expression") int x = z; return x; } void useTest4(int p1, int p2, int[] p3, int[] p4, int p5) { test4(p1, test4(p1, p2, p3, p4, p5), p3, p4, p5); } }