| // Test case for Issue #801 |
| // https://github.com/typetools/checker-framework/issues/801 |
| // @skip-test |
| // TODO: Enable postcondition override checks for method references |
| |
| import org.checkerframework.checker.nullness.qual.*; |
| |
| interface AssertFunc { |
| @EnsuresNonNullIf(result = true, expression = "#1") |
| boolean testParam(final @Nullable Object param); |
| } |
| |
| interface AssertFunc2 { |
| @EnsuresNonNullIf(result = true, expression = "#1") |
| boolean testParam(final @Nullable Object param); |
| } |
| |
| public class AssertionTest { |
| @EnsuresNonNullIf(result = true, expression = "#1") |
| static boolean override(final @Nullable Object param) { |
| return param != null; |
| } |
| |
| static boolean overrideAssertFunc2(final @Nullable Object param) { |
| return param != null; |
| } |
| |
| void context() { |
| AssertFunc f = AssertionTest::override; |
| // :: error: (methodref.receiver.postcondition) |
| AssertFunc2 f2 = AssertionTest::overrideAssertFunc2; |
| } |
| } |