1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
import org.checkerframework.common.value.qual.MinLen;
@SuppressWarnings("nullness") // Don't want to depend on @Nullable
class AssignmentContext {
void foo(String[] a) {}
void t1(boolean b) {
String[] s = b ? new String[] {""} : null;
}
void t2(boolean b) {
foo(b ? new String[] {""} : null);
}
String[] t3(boolean b) {
return b ? new String[] {""} : null;
}
void t4(boolean b) {
String[] s = null;
s = b ? new String[] {""} : null;
}
void assignToCast(String @MinLen(4) [] @MinLen(5) [] currentSample) {
// This statement used to cause a null pointer exception.
((String @MinLen(5) []) currentSample[3])[4] = currentSample[3][4];
}
}
|