import org.checkerframework.checker.nullness.qual.*;
import org.checkerframework.checker.nullness.qual.RequiresNonNull;
public class SkipUses2 {
static class SkipMe {
static @Nullable Object f;
@RequiresNonNull("f")
static void foo() {}
}
static class DontSkip {
static @Nullable Object f;
@RequiresNonNull("f")
static @Nullable Object foo() {
return null;
}
}
static class Main {
void bar(boolean b) {
SkipMe.f = null;
SkipMe.foo();
DontSkip.f = null;
//:: error: (contracts.precondition.not.satisfied)
DontSkip.foo();
}
}
}