blob: d0b549dc7172d7779e6f5f712eaccc028da90144 [file] [log] [blame]
// This is a test for the old @ReturnsReceiver annotation, which is inherited.
// No one should ever write that annotation, but Lombok generates it as of version 1.18.10.
import org.checkerframework.checker.builder.qual.ReturnsReceiver;
import org.checkerframework.checker.calledmethods.qual.*;
public class OldInherited {
@ReturnsReceiver
OldInherited getThis() {
return this;
}
static class OldInheritedChild extends OldInherited {
@java.lang.Override
OldInherited getThis() {
return this;
}
}
void requiresGetThis(@CalledMethods("getThis") OldInherited this) {}
public static void testGoodParent() {
OldInherited o = new OldInherited();
o.getThis();
o.requiresGetThis();
}
public static void testGoodChild() {
OldInheritedChild o = new OldInheritedChild();
o.getThis();
o.requiresGetThis();
}
public static void testBadParent() {
OldInherited o = new OldInherited();
// :: error: finalizer.invocation
o.requiresGetThis();
}
public static void testBadChild() {
OldInheritedChild o = new OldInheritedChild();
// :: error: finalizer.invocation
o.requiresGetThis();
}
}