K2: don't report PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED on externals
Related to KT-55656
This commit is contained in:
committed by
Space Team
parent
e18315007c
commit
217f473bdc
+3
@@ -17,9 +17,12 @@ import org.jetbrains.kotlin.fir.references.*
|
|||||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
|
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
|
||||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.lastIsInstanceOrNull
|
||||||
|
|
||||||
object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() {
|
object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() {
|
||||||
override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
|
val containingClass = context.containingDeclarations.lastIsInstanceOrNull<FirRegularClass>()
|
||||||
|
if (declaration.isEffectivelyExternal(containingClass, context)) return
|
||||||
val cyclicConstructors = mutableSetOf<FirConstructor>()
|
val cyclicConstructors = mutableSetOf<FirConstructor>()
|
||||||
var hasPrimaryConstructor = false
|
var hasPrimaryConstructor = false
|
||||||
val isEffectivelyExpect = declaration.isEffectivelyExpect(context.containingDeclarations.lastOrNull() as? FirRegularClass, context)
|
val isEffectivelyExpect = declaration.isEffectivelyExpect(context.containingDeclarations.lastOrNull() as? FirRegularClass, context)
|
||||||
|
|||||||
Reference in New Issue
Block a user