All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.checkerframework.framework.qual.DefaultQualifiers Maven / Gradle / Ivy

There is a newer version: 4.1.4
Show newest version
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;

/**
 * Specifies the annotations to be included in a type without having to provide them explicitly.
 *
 * 

This annotation permits specifying multiple default qualifiers for more than one type system. * It is generally not used by programmers, because Java permits writing multiple annotations of the * same name at a single location and internally creates this wrapper annotation. * *

Example: The following two code snippets have identical effect. * * *

 *   @DefaultQualifier(NonNull.class)
 *   @DefaultQualifier(value = Interned.class, locations = ALL_EXCEPT_LOCALS)
 *   @DefaultQualifier(Tainted.class)
 *   class MyClass { ... }
 * 
* *
 *   @DefaultQualifiers({
 *       @DefaultQualifier(NonNull.class),
 *       @DefaultQualifier(value = Interned.class, locations = ALL_EXCEPT_LOCALS),
 *       @DefaultQualifier(Tainted.class)
 *   })
 *   class MyClass { ... }
 * 
* * This annotation currently has no effect in stub files. * * @see DefaultQualifier * @checker_framework.manual #defaults Default qualifier for unannotated types */ // TODO: use repeating annotations (will make source depend on Java 8). @Documented @Retention(RetentionPolicy.SOURCE) @Target({ ElementType.PACKAGE, ElementType.TYPE, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.FIELD, ElementType.LOCAL_VARIABLE, ElementType.PARAMETER }) public @interface DefaultQualifiers { /** The default qualifier settings. */ DefaultQualifier[] value() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy