FIR checker: use aliased checker when possible (part 2)

This commit is contained in:
Jinseong Jeon
2021-01-15 23:38:54 -08:00
committed by Mikhail Glukhikh
parent de592f4f67
commit be29b6d64d
4 changed files with 12 additions and 15 deletions
@@ -23,9 +23,8 @@ import org.jetbrains.kotlin.KtNodeTypes.VALUE_PARAMETER
import org.jetbrains.kotlin.fir.analysis.diagnostics.* import org.jetbrains.kotlin.fir.analysis.diagnostics.*
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
object FirAnnotationClassDeclarationChecker : FirBasicDeclarationChecker() { object FirAnnotationClassDeclarationChecker : FirRegularClassChecker() {
override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) {
if (declaration !is FirRegularClass) return
if (declaration.classKind != ANNOTATION_CLASS) return if (declaration.classKind != ANNOTATION_CLASS) return
if (declaration.isLocal) reporter.report(declaration.source, FirErrors.LOCAL_ANNOTATION_CLASS_ERROR) if (declaration.isLocal) reporter.report(declaration.source, FirErrors.LOCAL_ANNOTATION_CLASS_ERROR)
@@ -11,12 +11,11 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
import org.jetbrains.kotlin.fir.analysis.diagnostics.hasPrimaryConstructor import org.jetbrains.kotlin.fir.analysis.diagnostics.hasPrimaryConstructor
import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
object FirConstructorInInterfaceChecker : FirBasicDeclarationChecker() { object FirConstructorInInterfaceChecker : FirRegularClassChecker() {
override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) {
if (declaration !is FirClass<*> || declaration.classKind != ClassKind.INTERFACE) { if (declaration.classKind != ClassKind.INTERFACE) {
return return
} }
@@ -11,12 +11,11 @@ import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
object FirSupertypeInitializedInInterfaceChecker : FirMemberDeclarationChecker() { object FirSupertypeInitializedInInterfaceChecker : FirRegularClassChecker() {
override fun check(declaration: FirMemberDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) {
if (declaration !is FirClass<*> || declaration.classKind != ClassKind.INTERFACE) { if (declaration.classKind != ClassKind.INTERFACE) {
return return
} }
@@ -15,10 +15,8 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.*
object CommonDeclarationCheckers : DeclarationCheckers() { object CommonDeclarationCheckers : DeclarationCheckers() {
override val basicDeclarationCheckers: Set<FirBasicDeclarationChecker> = setOf( override val basicDeclarationCheckers: Set<FirBasicDeclarationChecker> = setOf(
FirAnnotationArgumentChecker, FirAnnotationArgumentChecker,
FirAnnotationClassDeclarationChecker,
FirModifierChecker, FirModifierChecker,
FirConflictsChecker, FirConflictsChecker,
FirConstructorInInterfaceChecker,
FirConflictingProjectionChecker, FirConflictingProjectionChecker,
) )
@@ -38,7 +36,9 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
) )
override val regularClassCheckers: Set<FirRegularClassChecker> = setOf( override val regularClassCheckers: Set<FirRegularClassChecker> = setOf(
FirAnnotationClassDeclarationChecker,
FirCommonConstructorDelegationIssuesChecker, FirCommonConstructorDelegationIssuesChecker,
FirConstructorInInterfaceChecker,
FirDelegationSuperCallInEnumConstructorChecker, FirDelegationSuperCallInEnumConstructorChecker,
FirDelegationInInterfaceChecker, FirDelegationInInterfaceChecker,
FirEnumClassSimpleChecker, FirEnumClassSimpleChecker,