blob: 501bfe4662540369a389eb2d97d1c93bd256f1b3 [file] [log] [blame]
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.checker.tainting.qual.Tainted;
import org.checkerframework.checker.tainting.qual.Untainted;
import org.checkerframework.framework.qual.HasQualifierParameter;
public class ExtendHasQual {
static class Super {
@SuppressWarnings("super.invocation")
@Untainted Super() {}
}
@HasQualifierParameter(Tainted.class)
static class Buffer extends Super {}
static class MyBuffer1 extends Buffer {}
@HasQualifierParameter(Tainted.class)
static class MyBuffer2 extends Buffer {}
@HasQualifierParameter(Nullable.class)
// :: error: (missing.has.qual.param)
static class MyBuffer3 extends Buffer {}
@HasQualifierParameter({Tainted.class, Nullable.class})
static class MyBuffer4 extends Buffer {}
@HasQualifierParameter(Tainted.class)
interface BufferInterface {}
static class ImplementsBufferInterface1 implements BufferInterface {}
@HasQualifierParameter(Tainted.class)
static class ImplementsBufferInterface2 implements BufferInterface {}
static class Both1 extends Buffer implements BufferInterface {}
@HasQualifierParameter(Tainted.class)
static class Both2 extends Buffer implements BufferInterface {}
static class Both3 extends Super implements BufferInterface {}
}