Package-level declarations

Types

Link copied to clipboard
@ProcessorAnnotation(packageName = "dev.kord.codegen.ksp.processor")
annotation class Either(val names: Array<String>, val exclusive: Boolean = false)

Instructs the processor to validate that either of names are present.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FIELD])
annotation class NullIfDefault

Instructs the processor to use null, if AnnotationArguments.isDefault returns true for this property.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FIELD])
@ProcessorAnnotation(packageName = "dev.kord.codegen.ksp.processor")
annotation class OtherIfDefault(val name: String)

Instructs the processor to use value of name, if AnnotationArguments.isDefault returns true for this property.

Link copied to clipboard
@ProcessorAnnotation(packageName = "dev.kord.codegen.ksp.processor")
annotation class ProcessorAnnotation(val packageName: String)

This annotation instructs the processor to generate a data class wrapper around the annotation with factory functions to instantiate it from a KSAnnotation.