diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt index 1c13f8f0fef..b1890aa3d32 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt @@ -562,7 +562,6 @@ class Fir2IrClassifierStorage( for ((firTypeParameter, irTypeParameter) in mappedTypeParameters) { typeParameterCache[firTypeParameter] = irTypeParameter } - declarationStorage.preCacheBuiltinClassMembers(firClass, irClass) return symbol } firClass as FirRegularClass diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt index 5ae50c5ff1c..21ae9985cb8 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt @@ -33,12 +33,15 @@ class Fir2IrTypeConverter( ) : Fir2IrComponents by components { internal val classIdToSymbolMap by lazy { + // Note: this map must include all base classes, and they should be before derived classes! mapOf( StandardClassIds.Nothing to irBuiltIns.nothingClass, + StandardClassIds.Any to irBuiltIns.anyClass, StandardClassIds.Unit to irBuiltIns.unitClass, StandardClassIds.Boolean to irBuiltIns.booleanClass, + StandardClassIds.CharSequence to irBuiltIns.charSequenceClass, StandardClassIds.String to irBuiltIns.stringClass, - StandardClassIds.Any to irBuiltIns.anyClass, + StandardClassIds.Number to irBuiltIns.numberClass, StandardClassIds.Long to irBuiltIns.longClass, StandardClassIds.Int to irBuiltIns.intClass, StandardClassIds.Short to irBuiltIns.shortClass, diff --git a/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt b/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt index 585891e572e..e7ccbda92fd 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt @@ -49,6 +49,7 @@ object StandardClassIds { val UInt = Int.unsignedId() val ULong = Long.unsignedId() + val CharSequence = "CharSequence".baseId() val String = "String".baseId() val Throwable = "Throwable".baseId()