From aaacbaaaecf7a5c901d79cab2ce2b7b6ba2029b9 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 15 Jun 2020 13:05:08 +0300 Subject: [PATCH] Add KDoc to ObsoleteDescriptorBasedAPI --- .../org/jetbrains/kotlin/ir/ObsoleteDescriptorBasedAPI.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/ObsoleteDescriptorBasedAPI.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/ObsoleteDescriptorBasedAPI.kt index f14bb462608..5acbb896302 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/ObsoleteDescriptorBasedAPI.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/ObsoleteDescriptorBasedAPI.kt @@ -5,5 +5,13 @@ package org.jetbrains.kotlin.ir +/** + * This annotation is used on IR API elements which use front-end (FE) descriptors to obtain information, directly or indirectly. + * + * Descriptors are used in FE to represent main declaration properties and to refer declarations. + * Early IR versions were descriptor-based, so IR elements used descriptors to obtain some information about element properties. + * However, more correct and universal way is to store all necessary information inside IR elements themselves + * and do not use descriptors as some intermediate storage. It's planned to remove all descriptor usages from IR in future. + */ @RequiresOptIn(message = "Please use IR declaration properties and not its descriptor properties", level = RequiresOptIn.Level.ERROR) annotation class ObsoleteDescriptorBasedAPI \ No newline at end of file