import org.checkerframework.framework.testchecker.util.*; | |
public class DeepOverrideInterface { | |
public static interface I { | |
@Odd String interfaceMethod(); | |
} | |
public abstract static class A { | |
public abstract @Odd String abstractMethod(); | |
} | |
public abstract static class B extends A implements I {} | |
public static class C extends B { | |
// :: error: (override.return) | |
public String interfaceMethod() { | |
return ""; | |
} | |
public @Odd String abstractMethod() { | |
return null; | |
} | |
} | |
} |