| package org.checkerframework.framework.qual; |
| |
| import java.lang.annotation.Documented; |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * An annotation on a SourceChecker subclass to provide additional stub files that should be used in |
| * addition to {@code jdk.astub}. This allows larger compound checkers to separate the annotations |
| * into multiple files, or to provide annotations for non-JDK classes. |
| * |
| * <p>This annotation is not inherited. That means that if a checker with this annotation is |
| * subclassed, then this annotation must be copied to the subclass and the stub file must also be |
| * copied to the directory that contains the subclass. |
| * |
| * @checker_framework.manual #creating-a-checker-annotated-jdk Annotated JDK |
| */ |
| @Documented |
| @Retention(RetentionPolicy.RUNTIME) |
| @Target(ElementType.TYPE) |
| public @interface StubFiles { |
| /** |
| * Stub file names. These are basenames: they include the extension (usually ".astub"), but no |
| * directory component. |
| */ |
| String[] value(); |
| } |