org.checkerframework.checker.signature.qual.FullyQualifiedName Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of checker Show documentation
Show all versions of checker Show documentation
The Checker Framework enhances Java's type system to
make it more powerful and useful. This lets software developers
detect and prevent errors in their Java programs.
The Checker Framework includes compiler plug-ins ("checkers")
that find bugs or verify their absence. It also permits you to
write your own compiler plug-ins.
package org.checkerframework.checker.signature.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;
import org.checkerframework.framework.qual.SubtypeOf;
/**
* A sequence of dot-separated identifiers, followed by any number of array square brackets.
* Represents a fully-qualified name as defined in the Java Language
* Specification, section 6.7.
*
* Examples:
*
*
{@code
* int
* MyClass
* java.lang.Integer
* int[][]
* MyClass[]
* java.lang.Integer[][][]
* }
*
* in
*
*
* package org.checkerframework.checker.signature;
* public class SignatureChecker {
* private class Inner {}
* }
*
*
* the fully-qualified names for the two types are
* org.checkerframework.checker.signature.SignatureChecker and
* org.checkerframework.checker.signature.SignatureChecker.Inner.
*
* Fully-qualified names and {@linkplain BinaryName binary names} are the same for top-level
* classes and only differ by a '.' vs. '$' for inner classes.
*
* @checker_framework.manual #signature-checker Signature Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf(FqBinaryName.class)
public @interface FullyQualifiedName {}