| // Test case for issue 146: https://github.com/kelloggm/checker-framework/issues/146 |
| |
| import java.util.Arrays; |
| import org.checkerframework.checker.index.qual.*; |
| |
| public class ObjectClone { |
| |
| void test(int[] a, int @SameLen("#1") [] b) { |
| int @SameLen("a") [] c = b.clone(); |
| int @SameLen({"a", "d"}) [] d = b.clone(); |
| int @SameLen({"a", "e"}) [] e = b; |
| int @SameLen("f") [] f = b; |
| } |
| |
| public static void main(String[] args) { |
| String @SameLen("args") [] args2 = args; |
| String @SameLen({"args", "args_sorted"}) [] args_sorted = args.clone(); |
| Arrays.sort(args_sorted); |
| String @SameLen({"args", "args_sorted"}) [] args_sorted2 = args_sorted.clone(); |
| if (args_sorted.length == 1) { |
| @IndexFor("args_sorted") int i = 0; |
| @IndexFor("args") int j = 0; |
| String @SameLen({"args", "args_sorted"}) [] k = args; |
| System.out.println(args[0]); |
| } |
| } |
| } |