src/nonJvmMain/kotlin/org/intellij/lang/annotations/Language.kt [16:49]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - package org.intellij.lang.annotations import org.jetbrains.annotations.NonNls /** * Specifies that an element of the program represents a string that is a source code on a specified language. * Code editors may use this annotation to enable syntax highlighting, code completion and other features * inside the literals that assigned to the annotated variables, passed as arguments to the annotated parameters, * or returned from the annotated methods. * * * This annotation also could be used as a meta-annotation, to define derived annotations for convenience. * E.g. the following annotation could be defined to annotate the strings that represent Java methods: * *
* @Language(value = "JAVA", prefix = "class X{", suffix = "}")
* @interface JavaMethod {}
*
*
*
* Note that using the derived annotation as meta-annotation is not supported.
* Meta-annotation works only one level deep.
*/
@MustBeDocumented
@Retention(AnnotationRetention.BINARY)
@Target(
AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.LOCAL_VARIABLE,
AnnotationTarget.ANNOTATION_CLASS
)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
src/nonJvmMain/kotlin/org/intellij/lang/annotations/Pattern.kt [16:51]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
package org.intellij.lang.annotations
import org.jetbrains.annotations.NonNls
/**
* Specifies that an element of the program represents a string that must completely match given regular expression.
* Code editors may use this annotation to report errors if the literals that assigned to the annotated variables,
* passed as arguments to the annotated parameters, or returned from the annotated methods, do not match the supplied
* pattern.
*
*
* This annotation also could be used as a meta-annotation, to define other annotations for convenience.
* E.g. the following annotation could be defined to annotate the strings that represent UUIDs:
*
*
* @Pattern("[\\dA-Fa-f]{8}-[\\dA-Fa-f]{4}-[\\dA-Fa-f]{4}-[\\dA-Fa-f]{4}-[\\dA-Fa-f]{12}")
* @interface UUID {}
*
*
*
* Note that using the derived annotation as meta-annotation is not supported.
* Meta-annotation works only one level deep.
*
* @see RegExp
*/
@MustBeDocumented
@Retention(AnnotationRetention.BINARY)
@Target(
AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.LOCAL_VARIABLE,
AnnotationTarget.ANNOTATION_CLASS
)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -