package org.checkerframework.framework.qual; import java.lang.annotation.Target; /** * A special annotation intended solely for representing an unqualified type in the qualifier * hierarchy, as an argument to {@link SubtypeOf#value()}, in the type qualifiers declarations. * * <p>This annotation may not be written in source code; it is an implementation detail of the * checker. * * <p>Note that because of the missing RetentionPolicy, the qualifier will not be stored in * bytecode. * * <p>Only use this qualifier for very simple type systems. For realistic systems, introduce a top * and bottom qualifier that gets stored in bytecode. */ @InvisibleQualifier @SubtypeOf({}) @Target({}) // empty target prevents programmers from writing this in a program public @interface Unqualified {}