blob: a402769b04c4b78300ada45c8cd33cf76b476ce3 [file] [log] [blame]
// This is a test case for issue 2247:
// https://github.com/typetools/checker-framework/issues/2247
import java.util.List;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
public class Issue2247 {
static @NonNull class DeclaredClass {}
class ValidUseType {
// :: error: (annotations.on.use)
void test1(@Nullable DeclaredClass object) {}
// :: error: (annotations.on.use)
@Nullable DeclaredClass test2() {
return null;
}
// :: error: (annotations.on.use)
void test3(List<@Nullable DeclaredClass> param) {
@Nullable DeclaredClass object = null;
// :: error: (annotations.on.use)
@Nullable DeclaredClass[] array = null;
}
// :: error: (annotations.on.use)
<T extends @Nullable DeclaredClass> void test4(@NonNull T t) {}
void test5(Map<String, DeclaredClass> map) {
@Nullable DeclaredClass value = map.get("somekey");
System.out.println(value);
if (value != null) {
@NonNull DeclaredClass nonnull = value;
}
}
}
}