import org.checkerframework.checker.initialization.qual.*; | |
import org.checkerframework.checker.nullness.qual.*; | |
public class OverrideANNA { | |
static class Super { | |
Object f; | |
@EnsuresNonNull("f") | |
void setf(@UnknownInitialization Super this) { | |
f = new Object(); | |
} | |
Super() { | |
setf(); | |
} | |
} | |
static class Sub extends Super { | |
@Override | |
// :: error: (contracts.postcondition) | |
void setf(@UnknownInitialization Sub this) {} | |
} | |
public static void main(String[] args) { | |
Super s = new Sub(); | |
s.f.hashCode(); | |
} | |
} |