[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:
committed by
Space Team
parent
aaf173687b
commit
fdec0bd942
+1
-2
@@ -51,8 +51,7 @@ object FirJsMultipleInheritanceChecker : FirClassChecker() {
|
||||
val overridesWithSameName = scope.getFunctions(functionToCheck)
|
||||
|
||||
for (function in overridesWithSameName) {
|
||||
val overridden = function.overriddenFunctions(symbol, context, memberRequiredPhase = null)
|
||||
|
||||
val overridden = function.overriddenFunctions(symbol, context)
|
||||
if (
|
||||
overridden.size > 1 &&
|
||||
overridden.any { it.callableId.classId == supertype.classId }
|
||||
|
||||
+2
-2
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -62,7 +62,7 @@ object FirJvmInconsistentOperatorFromJavaCallChecker : FirFunctionCallChecker()
|
||||
|
||||
// Check explicitly overridden contains
|
||||
val containingClass = containingClassLookupTag()?.toFirRegularClassSymbol(context.session) ?: return false
|
||||
val overriddenFunctions = overriddenFunctions(containingClass, context, memberRequiredPhase = null)
|
||||
val overriddenFunctions = overriddenFunctions(containingClass, context)
|
||||
for (overriddenFunction in overriddenFunctions) {
|
||||
if (overriddenFunction is FirNamedFunctionSymbol && overriddenFunction.check(source, context, reporter)) {
|
||||
return true
|
||||
|
||||
@@ -191,17 +191,15 @@ fun CheckerContext.findClosestClassOrObject(): FirClass? {
|
||||
fun FirSimpleFunction.overriddenFunctions(
|
||||
containingClass: FirClassSymbol<*>,
|
||||
context: CheckerContext,
|
||||
memberRequiredPhase: FirResolvePhase?,
|
||||
): List<FirFunctionSymbol<*>> {
|
||||
return symbol.overriddenFunctions(containingClass, context, memberRequiredPhase)
|
||||
return symbol.overriddenFunctions(containingClass, context)
|
||||
}
|
||||
|
||||
fun FirNamedFunctionSymbol.overriddenFunctions(
|
||||
containingClass: FirClassSymbol<*>,
|
||||
context: CheckerContext,
|
||||
memberRequiredPhase: FirResolvePhase?,
|
||||
): List<FirFunctionSymbol<*>> {
|
||||
return overriddenFunctions(containingClass, context.session, context.scopeSession, memberRequiredPhase)
|
||||
return overriddenFunctions(containingClass, context.session, context.scopeSession)
|
||||
}
|
||||
|
||||
fun FirClass.collectSupertypesWithDelegates(): Map<FirTypeRef, FirFieldSymbol?> {
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ object OperatorFunctionChecks {
|
||||
val containingClassSymbol = function.containingClassLookupTag()?.toFirRegularClassSymbol(session) ?: return null
|
||||
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 }
|
||||
|| (customEqualsSupported && function.isTypedEqualsInValueClass(session))
|
||||
) {
|
||||
|
||||
@@ -60,13 +60,12 @@ fun FirNamedFunctionSymbol.overriddenFunctions(
|
||||
containingClass: FirClassSymbol<*>,
|
||||
session: FirSession,
|
||||
scopeSession: ScopeSession,
|
||||
memberRequiredPhase: FirResolvePhase?,
|
||||
): List<FirFunctionSymbol<*>> {
|
||||
val firTypeScope = containingClass.unsubstitutedScope(
|
||||
session,
|
||||
scopeSession,
|
||||
withForcedTypeCalculator = true,
|
||||
memberRequiredPhase = memberRequiredPhase,
|
||||
memberRequiredPhase = FirResolvePhase.STATUS,
|
||||
)
|
||||
|
||||
val overriddenFunctions = mutableListOf<FirFunctionSymbol<*>>()
|
||||
|
||||
Reference in New Issue
Block a user