blob: 9939ed822119576d750737dae01a4f01b8851546 [file] [log] [blame]
package org.checkerframework.common.subtyping;
import java.lang.annotation.Annotation;
import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.common.subtyping.qual.Unqualified;
import org.checkerframework.framework.type.AnnotationClassLoader;
public class SubtypingAnnotationClassLoader extends AnnotationClassLoader {
public SubtypingAnnotationClassLoader(BaseTypeChecker checker) {
super(checker);
}
// Unqualified is a supported annotation for the Subtyping Checker, and is loaded only if listed
// in -Aquals. It intentionally has an empty @Target meta-annotation. All other annotations used
// with the subtyping checker must have a well-defined @Target meta-annotation.
@Override
protected boolean hasWellDefinedTargetMetaAnnotation(Class<? extends Annotation> annoClass) {
return super.hasWellDefinedTargetMetaAnnotation(annoClass) || annoClass == Unqualified.class;
}
}