K2: implement FirLateinitIntrinsicApplicabilityChecker ^KT-55495 Fixed

This commit is contained in:
Kirill Rakhman
2023-01-03 16:52:18 +01:00
committed by Space Team
parent cfe8bc682c
commit 721a37f7e7
19 changed files with 199 additions and 208 deletions
@@ -74,6 +74,7 @@ object StandardNames {
@JvmField
val TEXT_PACKAGE_FQ_NAME = BUILT_INS_PACKAGE_FQ_NAME.child(Name.identifier("text"))
@JvmField
val KOTLIN_INTERNAL_FQ_NAME = BUILT_INS_PACKAGE_FQ_NAME.child(Name.identifier("internal"))
@JvmField
@@ -137,6 +138,7 @@ object StandardNames {
@JvmField val mustBeDocumented: FqName = annotationName("MustBeDocumented")
@JvmField val unsafeVariance: FqName = fqName("UnsafeVariance")
@JvmField val publishedApi: FqName = fqName("PublishedApi")
@JvmField val accessibleLateinitPropertyLiteral: FqName = internalName("AccessibleLateinitPropertyLiteral")
@JvmField val iterator: FqName = collectionsFqName("Iterator")
@JvmField val iterable: FqName = collectionsFqName("Iterable")
@@ -228,6 +230,10 @@ object StandardNames {
private fun annotationName(simpleName: String): FqName {
return ANNOTATION_PACKAGE_FQ_NAME.child(Name.identifier(simpleName))
}
private fun internalName(simpleName: String): FqName {
return KOTLIN_INTERNAL_FQ_NAME.child(Name.identifier(simpleName))
}
}
@JvmStatic
@@ -171,6 +171,8 @@ object StandardClassIds {
val WasExperimental = "WasExperimental".baseId()
val AccessibleLateinitPropertyLiteral = "AccessibleLateinitPropertyLiteral".internalId()
object Java {
val Deprecated = "Deprecated".javaLangId()
val Repeatable = "Repeatable".javaAnnotationId()
@@ -226,8 +228,8 @@ object StandardClassIds {
StandardClassIds.MapEntry to StandardClassIds.MutableMapEntry
)
val mutableCollectionToBaseCollection: Map<ClassId, ClassId> =
baseCollectionToMutableEquivalent.entries.associateBy({ it.value }) { it.key }
val mutableCollectionToBaseCollection: Map<ClassId, ClassId> =
baseCollectionToMutableEquivalent.entries.associateBy({ it.value }) { it.key }
}
}