FIR checker: make FirMemberFunctionsChecker a function checker
There is no reason why this checker needs to be a class checker.
This commit is contained in:
committed by
TeamCityServer
parent
d80b809a40
commit
cd3827ca2e
+1
-1
@@ -55,6 +55,7 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
|||||||
FirOperatorModifierChecker,
|
FirOperatorModifierChecker,
|
||||||
FirTailrecFunctionChecker,
|
FirTailrecFunctionChecker,
|
||||||
FirTopLevelFunctionsChecker,
|
FirTopLevelFunctionsChecker,
|
||||||
|
FirMemberFunctionsChecker,
|
||||||
)
|
)
|
||||||
|
|
||||||
override val propertyCheckers: Set<FirPropertyChecker>
|
override val propertyCheckers: Set<FirPropertyChecker>
|
||||||
@@ -88,7 +89,6 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
|||||||
FirOpenMemberChecker,
|
FirOpenMemberChecker,
|
||||||
FirClassVarianceChecker,
|
FirClassVarianceChecker,
|
||||||
FirSealedSupertypeChecker,
|
FirSealedSupertypeChecker,
|
||||||
FirMemberFunctionsChecker,
|
|
||||||
FirMemberPropertiesChecker,
|
FirMemberPropertiesChecker,
|
||||||
FirImplementationMismatchChecker,
|
FirImplementationMismatchChecker,
|
||||||
FirTypeParametersInObjectChecker,
|
FirTypeParametersInObjectChecker,
|
||||||
|
|||||||
+7
-9
@@ -7,26 +7,24 @@ package org.jetbrains.kotlin.fir.analysis.checkers.declaration
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
|
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||||
|
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.contains
|
import org.jetbrains.kotlin.fir.analysis.checkers.contains
|
||||||
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.getModifierList
|
import org.jetbrains.kotlin.fir.analysis.checkers.getModifierList
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.lastIsInstanceOrNull
|
||||||
|
|
||||||
// See old FE's [DeclarationsChecker]
|
// See old FE's [DeclarationsChecker]
|
||||||
object FirMemberFunctionsChecker : FirClassChecker() {
|
object FirMemberFunctionsChecker : FirSimpleFunctionChecker() {
|
||||||
override fun check(declaration: FirClass, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(declaration: FirSimpleFunction, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
for (member in declaration.declarations) {
|
val containingDeclaration = context.containingDeclarations.lastIsInstanceOrNull<FirClass>() ?: return
|
||||||
if (member is FirSimpleFunction) {
|
checkFunction(containingDeclaration, declaration, context, reporter)
|
||||||
checkFunction(declaration, member, context, reporter)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkFunction(
|
private fun checkFunction(
|
||||||
|
|||||||
Reference in New Issue
Block a user