IntentionallyOpen
annotation class IntentionallyOpen(val reason: ExemptionReason = ExemptionReason.OTHER, val description: String = "")(source)
Acknowledges that the annotated class or interface is deliberately open for unrestricted subclassing outside the library.
The library-api-watchdog compiler plugin warns about publicly visible open/abstract classes and interfaces that are not protected with kotlin.SubclassOptInRequired, because every external subclass constrains how the library can evolve. Apply this annotation to suppress the warning when unrestricted subclassing is an intended part of the API contract.
See the check documentation for rationale and examples.
Parameters
reason
why the class is deliberately open.
description
free-form explanation of the exemption. May be empty only when reason explains the exemption on its own (ExemptionReason.FOR_BACKWARDS_COMPATIBILITY, ExemptionReason.API_DESIGN).