FIR checker: make FirFunctionNameChecker a subclass of FirSimpleFunctionChecker
This commit is contained in:
committed by
Dmitriy Novozhilov
parent
d7cae63cb0
commit
3f4fa7eb98
+3
-4
@@ -12,17 +12,16 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
|
||||
object FirFunctionNameChecker : FirFunctionChecker() {
|
||||
override fun check(declaration: FirFunction<*>, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
object FirFunctionNameChecker : FirSimpleFunctionChecker() {
|
||||
override fun check(declaration: FirSimpleFunction, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
val source = declaration.source
|
||||
if (source == null || source.kind is FirFakeSourceElementKind) return
|
||||
val containingDeclaration = context.containingDeclarations.lastOrNull()
|
||||
val isNonLocal = containingDeclaration is FirFile || containingDeclaration is FirClass<*>
|
||||
if (declaration is FirSimpleFunction && declaration.name == SpecialNames.NO_NAME_PROVIDED && isNonLocal) {
|
||||
if (declaration.name == SpecialNames.NO_NAME_PROVIDED && isNonLocal) {
|
||||
reporter.reportOn(source, FirErrors.FUNCTION_DECLARATION_WITH_NO_NAME, context)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -29,10 +29,13 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
|
||||
|
||||
override val functionCheckers: Set<FirFunctionChecker> = setOf(
|
||||
FirContractChecker,
|
||||
FirFunctionNameChecker,
|
||||
FirFunctionParameterChecker,
|
||||
)
|
||||
|
||||
override val simpleFunctionCheckers: Set<FirSimpleFunctionChecker> = setOf(
|
||||
FirFunctionNameChecker
|
||||
)
|
||||
|
||||
override val propertyCheckers: Set<FirPropertyChecker> = setOf(
|
||||
FirInapplicableLateinitChecker,
|
||||
FirDestructuringDeclarationChecker,
|
||||
|
||||
Reference in New Issue
Block a user