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,
|
||||
FirTailrecFunctionChecker,
|
||||
FirTopLevelFunctionsChecker,
|
||||
FirMemberFunctionsChecker,
|
||||
)
|
||||
|
||||
override val propertyCheckers: Set<FirPropertyChecker>
|
||||
@@ -88,7 +89,6 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
||||
FirOpenMemberChecker,
|
||||
FirClassVarianceChecker,
|
||||
FirSealedSupertypeChecker,
|
||||
FirMemberFunctionsChecker,
|
||||
FirMemberPropertiesChecker,
|
||||
FirImplementationMismatchChecker,
|
||||
FirTypeParametersInObjectChecker,
|
||||
|
||||
+7
-9
@@ -7,26 +7,24 @@ package org.jetbrains.kotlin.fir.analysis.checkers.declaration
|
||||
|
||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||
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.context.CheckerContext
|
||||
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.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.lastIsInstanceOrNull
|
||||
|
||||
// See old FE's [DeclarationsChecker]
|
||||
object FirMemberFunctionsChecker : FirClassChecker() {
|
||||
override fun check(declaration: FirClass, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
for (member in declaration.declarations) {
|
||||
if (member is FirSimpleFunction) {
|
||||
checkFunction(declaration, member, context, reporter)
|
||||
}
|
||||
}
|
||||
object FirMemberFunctionsChecker : FirSimpleFunctionChecker() {
|
||||
override fun check(declaration: FirSimpleFunction, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
val containingDeclaration = context.containingDeclarations.lastIsInstanceOrNull<FirClass>() ?: return
|
||||
checkFunction(containingDeclaration, declaration, context, reporter)
|
||||
}
|
||||
|
||||
private fun checkFunction(
|
||||
|
||||
Reference in New Issue
Block a user