FIR checker: report violations related to API mode
This commit is contained in:
committed by
Mikhail Glukhikh
parent
52b247937e
commit
c262f17d75
+24
@@ -1199,6 +1199,30 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NO_EXPLICIT_VISIBILITY_IN_API_MODE) { firDiagnostic ->
|
||||
NoExplicitVisibilityInApiModeImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING) { firDiagnostic ->
|
||||
NoExplicitVisibilityInApiModeWarningImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NO_EXPLICIT_RETURN_TYPE_IN_API_MODE) { firDiagnostic ->
|
||||
NoExplicitReturnTypeInApiModeImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NO_EXPLICIT_RETURN_TYPE_IN_API_MODE_WARNING) { firDiagnostic ->
|
||||
NoExplicitReturnTypeInApiModeWarningImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.INLINE_CLASS_NOT_TOP_LEVEL) { firDiagnostic ->
|
||||
InlineClassNotTopLevelImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
|
||||
+16
@@ -867,6 +867,22 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val message: String
|
||||
}
|
||||
|
||||
abstract class NoExplicitVisibilityInApiMode : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = NoExplicitVisibilityInApiMode::class
|
||||
}
|
||||
|
||||
abstract class NoExplicitVisibilityInApiModeWarning : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = NoExplicitVisibilityInApiModeWarning::class
|
||||
}
|
||||
|
||||
abstract class NoExplicitReturnTypeInApiMode : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = NoExplicitReturnTypeInApiMode::class
|
||||
}
|
||||
|
||||
abstract class NoExplicitReturnTypeInApiModeWarning : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = NoExplicitReturnTypeInApiModeWarning::class
|
||||
}
|
||||
|
||||
abstract class InlineClassNotTopLevel : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = InlineClassNotTopLevel::class
|
||||
}
|
||||
|
||||
+20
@@ -1036,6 +1036,26 @@ internal class InapplicableOperatorModifierImpl(
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.InapplicableOperatorModifier(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class NoExplicitVisibilityInApiModeImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NoExplicitVisibilityInApiMode(), KtAbstractFirDiagnostic<KtDeclaration>
|
||||
|
||||
internal class NoExplicitVisibilityInApiModeWarningImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NoExplicitVisibilityInApiModeWarning(), KtAbstractFirDiagnostic<KtDeclaration>
|
||||
|
||||
internal class NoExplicitReturnTypeInApiModeImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NoExplicitReturnTypeInApiMode(), KtAbstractFirDiagnostic<KtDeclaration>
|
||||
|
||||
internal class NoExplicitReturnTypeInApiModeWarningImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.NoExplicitReturnTypeInApiModeWarning(), KtAbstractFirDiagnostic<KtDeclaration>
|
||||
|
||||
internal class InlineClassNotTopLevelImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
|
||||
Reference in New Issue
Block a user