From 217f473bdc4c8b9d42d36a5a4d3ad00247d30454 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 28 Dec 2022 18:06:38 +0100 Subject: [PATCH] K2: don't report PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED on externals Related to KT-55656 --- .../declaration/FirCommonConstructorDelegationIssuesChecker.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirCommonConstructorDelegationIssuesChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirCommonConstructorDelegationIssuesChecker.kt index 989abef2da3..b2a34c35c19 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirCommonConstructorDelegationIssuesChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirCommonConstructorDelegationIssuesChecker.kt @@ -17,9 +17,12 @@ import org.jetbrains.kotlin.fir.references.* import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase +import org.jetbrains.kotlin.utils.addToStdlib.lastIsInstanceOrNull object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() { override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) { + val containingClass = context.containingDeclarations.lastIsInstanceOrNull() + if (declaration.isEffectivelyExternal(containingClass, context)) return val cyclicConstructors = mutableSetOf() var hasPrimaryConstructor = false val isEffectivelyExpect = declaration.isEffectivelyExpect(context.containingDeclarations.lastOrNull() as? FirRegularClass, context)