[JS IR] Control an inheritance of non-external entity from external

Add a special annotation @JsExternalInheritorsOnly for marking
 external interfaces and classes. The marked interface or class
 can’t be a parent for non external interfaces, classes or objects.

^KT-57423 Fixed
This commit is contained in:
Alexander Korepanov
2023-03-21 11:45:04 +01:00
committed by Space Team
parent 6e7b078873
commit 4813b659ab
26 changed files with 677 additions and 1 deletions
@@ -41,6 +41,9 @@ object JsStandardClassIds {
@JvmField
val JsExport = "JsExport".jsId()
@JvmField
val JsExternalInheritorsOnly = "JsExternalInheritorsOnly".jsId()
@JvmField
val JsExportIgnore = JsExport.createNestedClassId(Name.identifier("Ignore"))