blob: 2519b6749a9de3c52e70540254ce1548445aa46e [file] [log] [blame]
package org.checkerframework.checker.regex.qual;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.checkerframework.framework.qual.InvisibleQualifier;
import org.checkerframework.framework.qual.SubtypeOf;
/**
* Indicates a String that is not a syntactically valid regular expression. The String itself can be
* stored as a parameter to the annotation, allowing the Regex Checker to verify some concatenations
* of partial regular expression Strings.
*
* <p>This annotation may not be written in source code; it is an implementation detail of the Regex
* Checker.
*
* @checker_framework.manual #regex-checker Regex Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({}) // empty target prevents programmers from writing this in a program
@InvisibleQualifier
@SubtypeOf(org.checkerframework.checker.regex.qual.UnknownRegex.class)
public @interface PartialRegex {
/**
* The String qualified by this annotation. Used to verify concatenation of partial regular
* expressions. Defaults to the empty String.
*/
String value() default "";
}