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.analysis.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
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.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.name.SpecialNames
|
import org.jetbrains.kotlin.name.SpecialNames
|
||||||
|
|
||||||
object FirFunctionNameChecker : FirFunctionChecker() {
|
object FirFunctionNameChecker : FirSimpleFunctionChecker() {
|
||||||
override fun check(declaration: FirFunction<*>, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(declaration: FirSimpleFunction, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
val source = declaration.source
|
val source = declaration.source
|
||||||
if (source == null || source.kind is FirFakeSourceElementKind) return
|
if (source == null || source.kind is FirFakeSourceElementKind) return
|
||||||
val containingDeclaration = context.containingDeclarations.lastOrNull()
|
val containingDeclaration = context.containingDeclarations.lastOrNull()
|
||||||
val isNonLocal = containingDeclaration is FirFile || containingDeclaration is FirClass<*>
|
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)
|
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(
|
override val functionCheckers: Set<FirFunctionChecker> = setOf(
|
||||||
FirContractChecker,
|
FirContractChecker,
|
||||||
FirFunctionNameChecker,
|
|
||||||
FirFunctionParameterChecker,
|
FirFunctionParameterChecker,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
override val simpleFunctionCheckers: Set<FirSimpleFunctionChecker> = setOf(
|
||||||
|
FirFunctionNameChecker
|
||||||
|
)
|
||||||
|
|
||||||
override val propertyCheckers: Set<FirPropertyChecker> = setOf(
|
override val propertyCheckers: Set<FirPropertyChecker> = setOf(
|
||||||
FirInapplicableLateinitChecker,
|
FirInapplicableLateinitChecker,
|
||||||
FirDestructuringDeclarationChecker,
|
FirDestructuringDeclarationChecker,
|
||||||
|
|||||||
Reference in New Issue
Block a user