| // Test case for https://github.com/kelloggm/checker-framework/issues/156 |
| |
| // @skip-test until the issue is fixed |
| |
| import org.checkerframework.common.value.qual.MinLen; |
| import org.checkerframework.common.value.qual.MinLenFieldInvariant; |
| |
| public class MinLenFieldInvar2 { |
| class Super { |
| public final int @MinLen(2) [] minlen2; |
| |
| public Super(int @MinLen(2) [] minlen2) { |
| this.minlen2 = minlen2; |
| } |
| } |
| |
| @MinLenFieldInvariant(field = "minlen2", minLen = 4) |
| class ValidSub extends Super { |
| public ValidSub(int[] validSubField) { |
| super(new int[] {1, 2, 3, 4}); |
| } |
| } |
| |
| void useAtValidSub(Super s) { |
| if (s instanceof ValidSub) { |
| System.out.println(s.minlen2[3]); |
| ValidSub vs = (ValidSub) s; |
| System.out.println(vs.minlen2[3]); |
| } |
| } |
| } |