Package-level declarations

Types

Link copied to clipboard

Explains why a watchdog exemption annotation is applied.

Link copied to clipboard
annotation class IntentionallyBooleanParameter(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated function or parameter deliberately takes a Boolean argument.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyDataClass(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated data class is deliberately part of the public API.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FILE])
annotation class IntentionallyDefaultFacadeName(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated file deliberately keeps the file facade class name derived from the file name.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyExhaustive(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated enum or sealed hierarchy is deliberately exhaustive.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.TYPEALIAS])
annotation class IntentionallyFunctionTypeAlias(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated type alias deliberately exposes a bare function type.

Link copied to clipboard
annotation class IntentionallyInconsistentParameterOrder(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated function or constructor deliberately orders its parameters differently from its other overloads.

Link copied to clipboard
annotation class IntentionallyInlinedLogic(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated inline function or the annotated property's inline accessors deliberately carry logic in their body.

Link copied to clipboard
annotation class IntentionallyKotlinOnlyApi(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated function - or every function inside the annotated class - is deliberately Kotlin-only API left visible to Java sources.

Link copied to clipboard

Acknowledges that the annotated declaration deliberately compiles to a JVM shape that Java sources can't call.

Link copied to clipboard

Acknowledges that the annotated declaration deliberately exposes a mutable collection type in the public API.

Link copied to clipboard
annotation class IntentionallyNonStaticCompanionApi(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated companion object member - or every member inside the annotated companion object or class - is deliberately reachable from Java only through the companion instance.

Link copied to clipboard

Acknowledges that the annotated declaration deliberately exposes a nullable Boolean in the public API.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyOpen(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated class or interface is deliberately open for unrestricted subclassing outside the library.

Link copied to clipboard

Acknowledges that the annotated declaration deliberately exposes the tuple type Pair or Triple in the public API.

annotation class IntentionallyRequiredParameterAfterOptional(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated function or constructor deliberately declares a required parameter after optional ones.

Link copied to clipboard

Acknowledges that the annotated declaration is deliberately left without KDoc.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyWithoutEquals(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated stateful class deliberately uses identity equality.

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyWithoutEqualsHashCodeOrToString(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated stateful class deliberately uses identity equality and hashing and the opaque default rendering inherited from kotlin.Any.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyWithoutHashCode(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated stateful class deliberately uses identity hashing.

Link copied to clipboard
annotation class IntentionallyWithoutJvmOverloads(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated function or constructor deliberately keeps its default parameter values invisible to Java callers.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IntentionallyWithoutToString(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")

Acknowledges that the annotated class deliberately provides no toString implementation.

Acknowledges that the annotated DSL marker deliberately keeps a wrong target set - no-op targets in its @Target, or no explicit @Target at all - because fixing it would break existing users.

Link copied to clipboard

Turns the annotated annotation class into an internal API marker: declarations annotated with the marked annotation, and everything nested in them, are exempt from all public API checks.