[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)
|
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 }
|
||||||
|
|||||||
+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.
|
* 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?> {
|
||||||
|
|||||||
+1
-1
@@ -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<*>>()
|
||||||
|
|||||||
Reference in New Issue
Block a user