[FIR] Require overrides to have matching isSuspend flag value

^KT-57100 Fixed
This commit is contained in:
Nikolay Lunyak
2023-09-20 17:00:14 +03:00
committed by Space Team
parent 4e58715760
commit 2e7dcd6096
13 changed files with 15 additions and 13 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.utils.isSuspend
import org.jetbrains.kotlin.fir.declarations.utils.visibility
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.resolve.transformers.ensureResolvedTypeDeclaration
@@ -127,6 +128,7 @@ class FirStandardOverrideChecker(private val session: FirSession) : FirAbstractO
fun isOverriddenFunction(overrideCandidate: FirSimpleFunction, baseDeclaration: FirSimpleFunction, ignoreVisibility: Boolean): Boolean {
if (overrideCandidate.valueParameters.size != baseDeclaration.valueParameters.size) return false
if (overrideCandidate.isSuspend != baseDeclaration.isSuspend) return false
val substitutor = buildTypeParametersSubstitutorIfCompatible(overrideCandidate, baseDeclaration) ?: return false