blob: f8df59e59a31eabb5c2bf31734ac9411afee258d [file] [log] [blame]
import org.checkerframework.checker.nullness.qual.*;
import org.checkerframework.framework.qual.AnnotatedFor;
// Tests that lack of @AnnotatedFor suppresses warnings, when
// -AuseConservativeDefaultsForUncheckedCode=source is supplied.
@AnnotatedFor("nullness")
public class BasicSafeDefaultsTest {
void m1() {
@NonNull Object x1 = SdfuscLib.unannotated();
// :: error: (assignment)
@NonNull Object x2 = SdfuscLib.returnsNullable();
@NonNull Object x3 = SdfuscLib.returnsNonNull();
// :: error: (assignment)
@NonNull Object x4 = SdfuscLibNotAnnotatedFor.unannotated();
// :: error: (assignment)
@NonNull Object x5 = SdfuscLibNotAnnotatedFor.returnsNullable();
@NonNull Object x6 = SdfuscLibNotAnnotatedFor.returnsNonNull();
}
void m2() {
@Nullable Object x1 = SdfuscLib.unannotated();
@Nullable Object x2 = SdfuscLib.returnsNullable();
@Nullable Object x3 = SdfuscLib.returnsNonNull();
@Nullable Object x4 = SdfuscLibNotAnnotatedFor.unannotated();
@Nullable Object x5 = SdfuscLibNotAnnotatedFor.returnsNullable();
@Nullable Object x6 = SdfuscLibNotAnnotatedFor.returnsNonNull();
}
}
class BasicTestNotAnnotatedFor {
void m1() {
@NonNull Object x1 = SdfuscLib.unannotated();
@NonNull Object x2 = SdfuscLib.returnsNullable();
@NonNull Object x3 = SdfuscLib.returnsNonNull();
@NonNull Object x4 = SdfuscLibNotAnnotatedFor.unannotated();
@NonNull Object x5 = SdfuscLibNotAnnotatedFor.returnsNullable();
@NonNull Object x6 = SdfuscLibNotAnnotatedFor.returnsNonNull();
}
void m2() {
@Nullable Object x1 = SdfuscLib.unannotated();
@Nullable Object x2 = SdfuscLib.returnsNullable();
@Nullable Object x3 = SdfuscLib.returnsNonNull();
@Nullable Object x4 = SdfuscLibNotAnnotatedFor.unannotated();
@Nullable Object x5 = SdfuscLibNotAnnotatedFor.returnsNullable();
@Nullable Object x6 = SdfuscLibNotAnnotatedFor.returnsNonNull();
}
}