[FIR] Move common checkers container from :entrypoint to :checkers module

This commit is contained in:
Dmitriy Novozhilov
2021-05-20 12:16:18 +03:00
committed by teamcityserver
parent a9838131ad
commit 09e3629d5d
6 changed files with 11 additions and 9 deletions
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.checkers.*
import org.jetbrains.kotlin.fir.analysis.jvm.checkers.JvmDeclarationCheckers
import org.jetbrains.kotlin.fir.session.FirSessionFactory
fun FirSessionFactory.FirSessionConfigurator.registerCommonCheckers() {
@@ -1,127 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.cfa.AbstractFirPropertyInitializationChecker
import org.jetbrains.kotlin.fir.analysis.cfa.FirCallsEffectAnalyzer
import org.jetbrains.kotlin.fir.analysis.cfa.FirPropertyInitializationAnalyzer
import org.jetbrains.kotlin.fir.analysis.cfa.FirReturnsImpliesAnalyzer
import org.jetbrains.kotlin.fir.analysis.checkers.cfa.FirControlFlowChecker
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.*
import org.jetbrains.kotlin.fir.analysis.checkers.syntax.FirDelegationInInterfaceSyntaxChecker
import org.jetbrains.kotlin.fir.analysis.checkers.syntax.FirFunctionTypeParametersSyntaxChecker
import org.jetbrains.kotlin.fir.analysis.checkers.syntax.FirTypeParameterSyntaxChecker
import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirReservedUnderscoreDeclarationChecker
object CommonDeclarationCheckers : DeclarationCheckers() {
override val basicDeclarationCheckers: Set<FirBasicDeclarationChecker>
get() = setOf(
FirModifierChecker,
FirConflictsChecker,
FirConflictingProjectionChecker,
FirTypeConstraintsChecker,
FirReservedUnderscoreDeclarationChecker
)
override val memberDeclarationCheckers: Set<FirMemberDeclarationChecker>
get() = setOf(
FirInfixFunctionDeclarationChecker,
FirExposedVisibilityDeclarationChecker,
FirSealedSupertypeChecker,
FirTypeAliasChecker,
FirCyclicTypeBoundsChecker,
FirInlineDeclarationChecker,
)
override val functionCheckers: Set<FirFunctionChecker>
get() = setOf(
FirContractChecker,
FirFunctionParameterChecker,
)
override val simpleFunctionCheckers: Set<FirSimpleFunctionChecker>
get() = setOf(
FirFunctionNameChecker,
FirFunctionTypeParametersSyntaxChecker,
)
override val propertyCheckers: Set<FirPropertyChecker>
get() = setOf(
FirInapplicableLateinitChecker,
FirDestructuringDeclarationChecker,
FirConstPropertyChecker,
FirPropertyAccessorChecker,
FirPropertyTypeParametersChecker,
FirInitializerTypeMismatchChecker,
FirDelegatedPropertyChecker,
)
override val classCheckers: Set<FirClassChecker>
get() = setOf(
FirOverrideChecker,
FirNotImplementedOverrideChecker,
FirThrowableSubclassChecker,
FirOpenMemberChecker,
)
override val regularClassCheckers: Set<FirRegularClassChecker>
get() = setOf(
FirAnnotationClassDeclarationChecker,
FirCommonConstructorDelegationIssuesChecker,
FirConstructorInInterfaceChecker,
FirDelegationSuperCallInEnumConstructorChecker,
FirDelegationInInterfaceSyntaxChecker,
FirEnumClassSimpleChecker,
FirSupertypesChecker,
FirLocalEntityNotAllowedChecker,
FirManyCompanionObjectsChecker,
FirMethodOfAnyImplementedInInterfaceChecker,
FirDataClassPrimaryConstructorChecker,
FirPrimaryConstructorSuperTypeChecker,
FirTypeParametersInObjectChecker,
FirFunInterfaceDeclarationChecker,
FirMemberFunctionsChecker,
FirMemberPropertiesChecker,
FirNestedClassChecker,
FirInlineClassDeclarationChecker,
)
override val constructorCheckers: Set<FirConstructorChecker>
get() = setOf(
FirConstructorAllowedChecker,
)
override val fileCheckers: Set<FirFileChecker>
get() = setOf(
FirKClassWithIncorrectTypeArgumentChecker,
FirTopLevelFunctionsChecker,
FirTopLevelPropertiesChecker,
)
override val controlFlowAnalyserCheckers: Set<FirControlFlowChecker>
get() = setOf(
FirCallsEffectAnalyzer,
FirReturnsImpliesAnalyzer,
)
override val variableAssignmentCfaBasedCheckers: Set<AbstractFirPropertyInitializationChecker>
get() = setOf(
FirPropertyInitializationAnalyzer,
)
override val typeParameterCheckers: Set<FirTypeParameterChecker>
get() = setOf(
FirTypeParameterBoundsChecker,
FirTypeParameterVarianceChecker,
FirReifiedTypeParameterChecker,
FirTypeParameterSyntaxChecker,
)
override val annotatedDeclarationCheckers: Set<FirAnnotatedDeclarationChecker>
get() = setOf(
FirAnnotationChecker,
)
}
@@ -1,125 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.checkers.expression.*
import org.jetbrains.kotlin.fir.analysis.checkers.syntax.FirAnonymousFunctionSyntaxChecker
object CommonExpressionCheckers : ExpressionCheckers() {
override val annotationCallCheckers: Set<FirAnnotationCallChecker>
get() = setOf(
FirAnnotationArgumentChecker,
)
override val basicExpressionCheckers: Set<FirBasicExpressionChecker>
get() = setOf(
FirReservedUnderscoreExpressionChecker,
FirExpressionAnnotationChecker,
)
override val qualifiedAccessCheckers: Set<FirQualifiedAccessChecker>
get() = setOf(
FirCallableReferenceChecker,
FirSuperNotAvailableChecker,
FirNotASupertypeChecker,
FirSuperclassNotAccessibleFromInterfaceChecker,
FirAbstractSuperCallChecker,
FirQualifiedSupertypeExtendedByOtherSupertypeChecker,
FirProjectionsOnNonClassTypeArgumentChecker,
FirUpperBoundViolatedChecker,
FirTypeArgumentsNotAllowedExpressionChecker,
FirTypeParameterInQualifiedAccessChecker,
FirSealedClassConstructorCallChecker,
FirUninitializedEnumChecker,
FirFunInterfaceConstructorReferenceChecker
)
override val functionCallCheckers: Set<FirFunctionCallChecker>
get() = setOf(
FirConventionFunctionCallChecker,
FirDivisionByZeroChecker,
FirConstructorCallChecker,
)
override val tryExpressionCheckers: Set<FirTryExpressionChecker>
get() = setOf(
FirCatchParameterChecker
)
override val variableAssignmentCheckers: Set<FirVariableAssignmentChecker>
get() = setOf(
FirValReassignmentViaBackingFieldChecker,
FirAssignmentTypeMismatchChecker
)
override val whenExpressionCheckers: Set<FirWhenExpressionChecker>
get() = setOf(
FirExhaustiveWhenChecker,
FirWhenConditionChecker,
)
override val loopExpressionCheckers: Set<FirLoopExpressionChecker>
get() = setOf(
FirLoopConditionChecker,
)
override val logicExpressionCheckers: Set<FirLogicExpressionChecker>
get() = setOf(
FirLogicExpressionTypeChecker,
)
override val returnExpressionCheckers: Set<FirReturnExpressionChecker>
get() = setOf(
FirReturnAllowedChecker,
FirFunctionReturnTypeMismatchChecker
)
override val blockCheckers: Set<FirBlockChecker>
get() = setOf(
FirForLoopChecker
)
override val checkNotNullCallCheckers: Set<FirCheckNotNullCallChecker>
get() = setOf(
FirNotNullAssertionChecker,
)
override val elvisExpressionCheckers: Set<FirElvisExpressionChecker>
get() = setOf(
FirUselessElvisChecker,
)
override val getClassCallCheckers: Set<FirGetClassCallChecker>
get() = setOf(
FirClassLiteralChecker,
)
override val safeCallExpressionCheckers: Set<FirSafeCallExpressionChecker>
get() = setOf(
FirUnnecessarySafeCallChecker,
)
override val anonymousFunctionAsExpressionCheckers: Set<FirAnonymousFunctionAsExpressionChecker>
get() = setOf(
FirAnonymousFunctionChecker,
FirAnonymousFunctionSyntaxChecker,
)
override val typeOperatorCallCheckers: Set<FirTypeOperatorCallChecker>
get() = setOf(
FirUselessTypeOperationCallChecker,
)
override val resolvedQualifierCheckers: Set<FirResolvedQualifierChecker>
get() = setOf(
FirStandaloneQualifierChecker,
)
override val equalityOperatorCallCheckers: Set<FirEqualityOperatorCallChecker>
get() = setOf(
FirEqualityCompatibilityChecker,
)
}
@@ -1,18 +0,0 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.checkers.type.FirSuspendModifierChecker
import org.jetbrains.kotlin.fir.analysis.checkers.type.FirTypeAnnotationChecker
import org.jetbrains.kotlin.fir.analysis.checkers.type.FirTypeRefChecker
import org.jetbrains.kotlin.fir.analysis.checkers.type.TypeCheckers
object CommonTypeCheckers : TypeCheckers() {
override val typeRefCheckers: Set<FirTypeRefChecker> = setOf(
FirTypeAnnotationChecker,
FirSuspendModifierChecker,
)
}
@@ -1,40 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.cfa.AbstractFirPropertyInitializationChecker
import org.jetbrains.kotlin.fir.analysis.checkers.cfa.FirControlFlowChecker
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.*
import org.jetbrains.kotlin.fir.analysis.checkers.extended.*
object ExtendedDeclarationCheckers : DeclarationCheckers() {
override val basicDeclarationCheckers: Set<FirBasicDeclarationChecker>
get() = setOf(
RedundantVisibilityModifierSyntaxChecker,
)
override val memberDeclarationCheckers: Set<FirMemberDeclarationChecker>
get() = setOf(
RedundantModalityModifierSyntaxChecker,
RedundantExplicitTypeChecker,
RedundantSetterParameterTypeChecker,
)
override val variableAssignmentCfaBasedCheckers: Set<AbstractFirPropertyInitializationChecker>
get() = setOf(
CanBeValChecker,
)
override val controlFlowAnalyserCheckers: Set<FirControlFlowChecker>
get() = setOf(
UnusedChecker,
)
override val simpleFunctionCheckers: Set<FirSimpleFunctionChecker>
get() = setOf(
RedundantReturnUnitType,
)
}
@@ -1,37 +0,0 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.checkers
import org.jetbrains.kotlin.fir.analysis.checkers.expression.*
import org.jetbrains.kotlin.fir.analysis.checkers.extended.*
object ExtendedExpressionCheckers : ExpressionCheckers() {
override val basicExpressionCheckers: Set<FirBasicExpressionChecker>
get() = setOf(
ArrayEqualityCanBeReplacedWithEquals,
)
override val variableAssignmentCheckers: Set<FirVariableAssignmentChecker>
get() = setOf(
CanBeReplacedWithOperatorAssignmentChecker,
)
override val qualifiedAccessCheckers: Set<FirQualifiedAccessChecker>
get() = setOf(
RedundantCallOfConversionMethod,
UselessCallOnNotNullChecker,
)
override val functionCallCheckers: Set<FirFunctionCallChecker>
get() = setOf(
EmptyRangeChecker,
)
override val stringConcatenationCallCheckers: Set<FirStringConcatenationCallChecker>
get() = setOf(
RedundantSingleExpressionStringTemplateChecker,
)
}