[FIR] Rename FirCallableDeclaration.getOverriddenSymbols() to getDirectOverriddenSymbols()
This commit is contained in:
committed by
Space Team
parent
e109cac719
commit
37e9062fcc
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
|||||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.getOverriddenSymbols
|
import org.jetbrains.kotlin.fir.analysis.checkers.getDirectOverriddenSymbols
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirClassChecker
|
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirClassChecker
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrors
|
||||||
import org.jetbrains.kotlin.fir.backend.native.interop.getObjCInitMethod
|
import org.jetbrains.kotlin.fir.backend.native.interop.getObjCInitMethod
|
||||||
@@ -71,7 +71,7 @@ object FirNativeObjCOverrideInitChecker : FirClassChecker() {
|
|||||||
|
|
||||||
// Remove fake overrides of this init method, also check for explicit overriding:
|
// Remove fake overrides of this init method, also check for explicit overriding:
|
||||||
firClass.declarations.forEach {
|
firClass.declarations.forEach {
|
||||||
if (it is FirSimpleFunction && initMethod in it.getOverriddenSymbols(context) && !it.isSubstitutionOrIntersectionOverride) {
|
if (it is FirSimpleFunction && initMethod in it.getDirectOverriddenSymbols(context) && !it.isSubstitutionOrIntersectionOverride) {
|
||||||
reporter.reportOn(
|
reporter.reportOn(
|
||||||
constructor.source,
|
constructor.source,
|
||||||
FirNativeErrors.CONSTRUCTOR_OVERRIDES_ALREADY_OVERRIDDEN_OBJC_INITIALIZER,
|
FirNativeErrors.CONSTRUCTOR_OVERRIDES_ALREADY_OVERRIDDEN_OBJC_INITIALIZER,
|
||||||
|
|||||||
@@ -734,7 +734,7 @@ fun ConeKotlinType.getInlineClassUnderlyingType(session: FirSession): ConeKotlin
|
|||||||
return toRegularClassSymbol(session)!!.primaryConstructorSymbol(session)!!.valueParameterSymbols[0].resolvedReturnTypeRef.coneType
|
return toRegularClassSymbol(session)!!.primaryConstructorSymbol(session)!!.valueParameterSymbols[0].resolvedReturnTypeRef.coneType
|
||||||
}
|
}
|
||||||
|
|
||||||
fun FirCallableDeclaration.getOverriddenSymbols(context: CheckerContext): List<FirCallableSymbol<out FirCallableDeclaration>> {
|
fun FirCallableDeclaration.getDirectOverriddenSymbols(context: CheckerContext): List<FirCallableSymbol<out FirCallableDeclaration>> {
|
||||||
if (!this.isOverride) return emptyList()
|
if (!this.isOverride) return emptyList()
|
||||||
val classSymbol = this.containingClassLookupTag()?.toSymbol(context.session) as? FirClassSymbol<*> ?: return emptyList()
|
val classSymbol = this.containingClassLookupTag()?.toSymbol(context.session) as? FirClassSymbol<*> ?: return emptyList()
|
||||||
val scope = classSymbol.unsubstitutedScope(context)
|
val scope = classSymbol.unsubstitutedScope(context)
|
||||||
|
|||||||
+4
-4
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
|||||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.getOverriddenSymbols
|
import org.jetbrains.kotlin.fir.analysis.checkers.getDirectOverriddenSymbols
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.inlineCheckerExtension
|
import org.jetbrains.kotlin.fir.analysis.checkers.inlineCheckerExtension
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.isInlineOnly
|
import org.jetbrains.kotlin.fir.analysis.checkers.isInlineOnly
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
@@ -459,14 +459,14 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
|||||||
|
|
||||||
fun checkCallableDeclaration(declaration: FirCallableDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
fun checkCallableDeclaration(declaration: FirCallableDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
if (declaration is FirPropertyAccessor) return
|
if (declaration is FirPropertyAccessor) return
|
||||||
val overriddenSymbols = declaration.getOverriddenSymbols(context)
|
val directOverriddenSymbols = declaration.getDirectOverriddenSymbols(context)
|
||||||
if (declaration is FirSimpleFunction) {
|
if (declaration is FirSimpleFunction) {
|
||||||
checkParameters(declaration, overriddenSymbols, context, reporter)
|
checkParameters(declaration, directOverriddenSymbols, context, reporter)
|
||||||
checkNothingToInline(declaration, context, reporter)
|
checkNothingToInline(declaration, context, reporter)
|
||||||
}
|
}
|
||||||
val canBeInlined = checkCanBeInlined(declaration, declaration.effectiveVisibility, context, reporter)
|
val canBeInlined = checkCanBeInlined(declaration, declaration.effectiveVisibility, context, reporter)
|
||||||
|
|
||||||
if (canBeInlined && overriddenSymbols.isNotEmpty()) {
|
if (canBeInlined && directOverriddenSymbols.isNotEmpty()) {
|
||||||
reporter.reportOn(declaration.source, FirErrors.OVERRIDE_BY_INLINE, context)
|
reporter.reportOn(declaration.source, FirErrors.OVERRIDE_BY_INLINE, context)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user