[FIR] drop redundant memberRequiredPhase parameter from overriddenFunctions

It should be STATUS always, because we want to process overrides

^KT-56551
This commit is contained in:
Dmitrii Gridin
2023-05-14 17:35:45 +02:00
committed by Space Team
parent aaf173687b
commit fdec0bd942
5 changed files with 7 additions and 11 deletions
@@ -51,8 +51,7 @@ object FirJsMultipleInheritanceChecker : FirClassChecker() {
val overridesWithSameName = scope.getFunctions(functionToCheck) val overridesWithSameName = scope.getFunctions(functionToCheck)
for (function in overridesWithSameName) { for (function in overridesWithSameName) {
val overridden = function.overriddenFunctions(symbol, context, memberRequiredPhase = null) val overridden = function.overriddenFunctions(symbol, context)
if ( if (
overridden.size > 1 && overridden.size > 1 &&
overridden.any { it.callableId.classId == supertype.classId } overridden.any { it.callableId.classId == supertype.classId }
@@ -1,5 +1,5 @@
/* /*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
@@ -62,7 +62,7 @@ object FirJvmInconsistentOperatorFromJavaCallChecker : FirFunctionCallChecker()
// Check explicitly overridden contains // Check explicitly overridden contains
val containingClass = containingClassLookupTag()?.toFirRegularClassSymbol(context.session) ?: return false val containingClass = containingClassLookupTag()?.toFirRegularClassSymbol(context.session) ?: return false
val overriddenFunctions = overriddenFunctions(containingClass, context, memberRequiredPhase = null) val overriddenFunctions = overriddenFunctions(containingClass, context)
for (overriddenFunction in overriddenFunctions) { for (overriddenFunction in overriddenFunctions) {
if (overriddenFunction is FirNamedFunctionSymbol && overriddenFunction.check(source, context, reporter)) { if (overriddenFunction is FirNamedFunctionSymbol && overriddenFunction.check(source, context, reporter)) {
return true return true
@@ -191,17 +191,15 @@ fun CheckerContext.findClosestClassOrObject(): FirClass? {
fun FirSimpleFunction.overriddenFunctions( fun FirSimpleFunction.overriddenFunctions(
containingClass: FirClassSymbol<*>, containingClass: FirClassSymbol<*>,
context: CheckerContext, context: CheckerContext,
memberRequiredPhase: FirResolvePhase?,
): List<FirFunctionSymbol<*>> { ): List<FirFunctionSymbol<*>> {
return symbol.overriddenFunctions(containingClass, context, memberRequiredPhase) return symbol.overriddenFunctions(containingClass, context)
} }
fun FirNamedFunctionSymbol.overriddenFunctions( fun FirNamedFunctionSymbol.overriddenFunctions(
containingClass: FirClassSymbol<*>, containingClass: FirClassSymbol<*>,
context: CheckerContext, context: CheckerContext,
memberRequiredPhase: FirResolvePhase?,
): List<FirFunctionSymbol<*>> { ): List<FirFunctionSymbol<*>> {
return overriddenFunctions(containingClass, context.session, context.scopeSession, memberRequiredPhase) return overriddenFunctions(containingClass, context.session, context.scopeSession)
} }
fun FirClass.collectSupertypesWithDelegates(): Map<FirTypeRef, FirFieldSymbol?> { fun FirClass.collectSupertypesWithDelegates(): Map<FirTypeRef, FirFieldSymbol?> {
@@ -92,7 +92,7 @@ object OperatorFunctionChecks {
val containingClassSymbol = function.containingClassLookupTag()?.toFirRegularClassSymbol(session) ?: return null val containingClassSymbol = function.containingClassLookupTag()?.toFirRegularClassSymbol(session) ?: return null
val customEqualsSupported = session.languageVersionSettings.supportsFeature(LanguageFeature.CustomEqualsInValueClasses) val customEqualsSupported = session.languageVersionSettings.supportsFeature(LanguageFeature.CustomEqualsInValueClasses)
if (function.symbol.overriddenFunctions(containingClassSymbol, session, scopeSession, memberRequiredPhase = null) if (function.symbol.overriddenFunctions(containingClassSymbol, session, scopeSession)
.any { it.containingClassLookupTag()?.classId == StandardClassIds.Any } .any { it.containingClassLookupTag()?.classId == StandardClassIds.Any }
|| (customEqualsSupported && function.isTypedEqualsInValueClass(session)) || (customEqualsSupported && function.isTypedEqualsInValueClass(session))
) { ) {
@@ -60,13 +60,12 @@ fun FirNamedFunctionSymbol.overriddenFunctions(
containingClass: FirClassSymbol<*>, containingClass: FirClassSymbol<*>,
session: FirSession, session: FirSession,
scopeSession: ScopeSession, scopeSession: ScopeSession,
memberRequiredPhase: FirResolvePhase?,
): List<FirFunctionSymbol<*>> { ): List<FirFunctionSymbol<*>> {
val firTypeScope = containingClass.unsubstitutedScope( val firTypeScope = containingClass.unsubstitutedScope(
session, session,
scopeSession, scopeSession,
withForcedTypeCalculator = true, withForcedTypeCalculator = true,
memberRequiredPhase = memberRequiredPhase, memberRequiredPhase = FirResolvePhase.STATUS,
) )
val overriddenFunctions = mutableListOf<FirFunctionSymbol<*>>() val overriddenFunctions = mutableListOf<FirFunctionSymbol<*>>()