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

org.checkerframework.checker.signature.qual.FullyQualifiedName Maven / Gradle / Ivy

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 {}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy