diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualAnnotationMatchingChecker.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualAnnotationMatchingChecker.kt index 1948af60ea1..104fb3e53e5 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualAnnotationMatchingChecker.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrExpectActualAnnotationMatchingChecker.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.backend.common.actualizer import org.jetbrains.kotlin.KtDiagnosticReporterWithImplicitIrBasedContext -import org.jetbrains.kotlin.backend.common.lower.parentsWithSelf +import org.jetbrains.kotlin.backend.common.lower.parents import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.expressions.IrConstructorCall @@ -61,7 +61,8 @@ internal class IrExpectActualAnnotationMatchingChecker( private fun getTypealiasSymbolIfActualizedViaTypealias(expectSymbol: IrSymbol): IrTypeAliasSymbol? { val expectDeclaration = expectSymbol.owner as IrDeclaration - val topLevelExpectClass = expectDeclaration.parentsWithSelf.filterIsInstance().lastOrNull() ?: return null + val parentsWithSelf = sequenceOf(expectDeclaration) + expectDeclaration.parents + val topLevelExpectClass = parentsWithSelf.filterIsInstance().lastOrNull() ?: return null val classId = topLevelExpectClass.classIdOrFail return classActualizationInfo.actualTypeAliases[classId] } diff --git a/compiler/testData/diagnostics/tests/multiplatform/annotationMatching/typealias.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/annotationMatching/typealias.fir.kt index ee1e77b01ff..0ed804dfefe 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/annotationMatching/typealias.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/annotationMatching/typealias.fir.kt @@ -62,10 +62,10 @@ class MethodsInsideTypealiasImpl { actual typealias MethodsInsideTypealias = MethodsInsideTypealiasImpl class ValueInsideTypealiasImpl { - val value: String = "" + val value: String = "" } -actual typealias ValueInsideTypealias = ValueInsideTypealiasImpl +actual typealias ValueInsideTypealias = ValueInsideTypealiasImpl class ConstructorInsideTypealiasImpl