KtPlatformInterface¶
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.TYPEALIAS])
@RequiresOptIn(message = "An API intended for the Analysis API engine and its platform implementations. The API is neither stable nor intended for consumption by PSI users.")
annotation class KtPlatformInterface
Marks an API intended for the Analysis API engine and its platform implementations.
Unlike the rest of the PSI API, such declarations are not about reading or modifying a syntax tree. They form a contract with the code that builds and hosts the Kotlin PSI — stub building, decompilation, element type registration, indexing. The Kotlin PSI has no platform layer of its own, so the counterpart of such an API always lives in the Analysis API or one of its platforms.
The API is neither stable nor intended for consumption by PSI users.