[FIR] Don't require delegated constructor calls for expect constructors
#KT-59640 Fixed
This commit is contained in:
committed by
Space Team
parent
028921ade1
commit
c7ae3c75db
+3
-1
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
|
||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
||||
import org.jetbrains.kotlin.fir.references.*
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
@@ -61,7 +62,8 @@ object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() {
|
||||
for (it in otherConstructors) {
|
||||
// couldn't find proper super() constructor implicitly
|
||||
if (it.delegatedConstructor?.calleeReference is FirDiagnosticHolder &&
|
||||
it.delegatedConstructor?.source?.kind is KtFakeSourceElementKind
|
||||
it.delegatedConstructor?.source?.kind is KtFakeSourceElementKind &&
|
||||
!it.isExpect
|
||||
) {
|
||||
reporter.reportOn(it.source, FirErrors.EXPLICIT_DELEGATION_CALL_REQUIRED, context)
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ expect open class A {
|
||||
}
|
||||
|
||||
expect class B : A {
|
||||
<!EXPLICIT_DELEGATION_CALL_REQUIRED!>constructor(i: Int)<!>
|
||||
constructor(i: Int)
|
||||
|
||||
constructor() : super("B")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user