| import org.checkerframework.checker.nullness.qual.*; |
| import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; |
| |
| public class Conditions { |
| |
| @Nullable Object f; |
| |
| void test1(Conditions c) { |
| if (!(c.f != null)) { |
| return; |
| } |
| c.f.hashCode(); |
| } |
| |
| void test2(Conditions c) { |
| if (!(c.f != null) || 5 > 9) { |
| return; |
| } |
| c.f.hashCode(); |
| } |
| |
| @EnsuresNonNullIf(expression = "f", result = true) |
| public boolean isNN() { |
| return (f != null); |
| } |
| |
| void test1m(Conditions c) { |
| if (!(c.isNN())) { |
| return; |
| } |
| c.f.hashCode(); |
| } |
| |
| void test2m(Conditions c) { |
| if (!(c.isNN()) || 5 > 9) { |
| return; |
| } |
| c.f.hashCode(); |
| } |
| } |