diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalInheritanceChecker.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalInheritanceChecker.kt index cb88f9d1a24..4d453e7f25a 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalInheritanceChecker.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalInheritanceChecker.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirClassChecker import org.jetbrains.kotlin.fir.analysis.checkers.toClassLikeSymbol import org.jetbrains.kotlin.fir.analysis.diagnostics.wasm.FirWasmErrors import org.jetbrains.kotlin.fir.declarations.FirClass +import org.jetbrains.kotlin.fir.declarations.fullyExpandedClass import org.jetbrains.kotlin.fir.declarations.utils.isEffectivelyExternal import org.jetbrains.kotlin.fir.declarations.utils.isExpect import org.jetbrains.kotlin.fir.types.coneType @@ -38,7 +39,7 @@ sealed class FirWasmExternalInheritanceChecker(mppKind: MppCheckerKind) : FirCla val session = context.session val isCurrentClassExternal = declaration.symbol.isEffectivelyExternal(session) for (superTypeRef in declaration.superTypeRefs) { - val superClass = superTypeRef.toClassLikeSymbol(session) ?: continue + val superClass = (superTypeRef.toClassLikeSymbol(session)?.fullyExpandedClass(session) ?: continue) if (superClass.classId == StandardClassIds.Any) continue // External classes can extend Any val isSuperClassExternal = superClass.isEffectivelyExternal(session) diff --git a/compiler/testData/diagnostics/wasmTests/jsInterop/inheritance.fir.kt b/compiler/testData/diagnostics/wasmTests/jsInterop/inheritance.fir.kt index 29263f17485..d8f583e6916 100644 --- a/compiler/testData/diagnostics/wasmTests/jsInterop/inheritance.fir.kt +++ b/compiler/testData/diagnostics/wasmTests/jsInterop/inheritance.fir.kt @@ -25,4 +25,4 @@ external interface EI2 typealias TA1 = EI2 -external class EC4 : TA1 +external class EC4 : TA1