| import java.util.Iterator; |
| import java.util.Set; |
| import org.checkerframework.common.value.qual.ArrayLen; |
| import org.checkerframework.common.value.qual.BottomVal; |
| import org.checkerframework.common.value.qual.IntVal; |
| |
| public class Loop { |
| void test1(final double @ArrayLen(20) [] f2) { |
| int x; |
| for (int g = 0; g < f2.length; g++) { |
| x = g; |
| } |
| // :: error: (assignment) |
| double @BottomVal [] test = f2; |
| // :: error: (assignment) |
| @BottomVal int q = f2.length; |
| } |
| |
| void test2(final @IntVal(20) int param) { |
| int x; |
| for (int g = 0; g < param; g++) { |
| x = g; |
| } |
| // :: error: (assignment) |
| @BottomVal int q = param; |
| } |
| |
| private void test3(Set<String> set) { |
| String[] array = new String[set.size()]; |
| int i = 0; |
| for (Iterator<String> iter = set.iterator(); iter.hasNext(); ) { |
| String key = iter.next(); |
| array[i++] = key; |
| } |
| } |
| } |