[FIR] Add DECLARATION_CANT_BE_INLINED diagnostic

This commit is contained in:
Andrey Zinovyev
2021-07-20 18:53:54 +03:00
committed by teamcityserver
parent 4e06814bc5
commit d8b7b7b2dc
14 changed files with 79 additions and 89 deletions
@@ -3167,6 +3167,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.DECLARATION_CANT_BE_INLINED) { firDiagnostic ->
DeclarationCantBeInlinedImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON) { firDiagnostic ->
CannotAllUnderImportFromSingletonImpl(
firDiagnostic.a,
@@ -2210,6 +2210,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract val symbol: KtSymbol
}
abstract class DeclarationCantBeInlined : KtFirDiagnostic<KtDeclaration>() {
override val diagnosticClass get() = DeclarationCantBeInlined::class
}
abstract class CannotAllUnderImportFromSingleton : KtFirDiagnostic<KtImportDirective>() {
override val diagnosticClass get() = CannotAllUnderImportFromSingleton::class
abstract val objectName: Name
@@ -3567,6 +3567,13 @@ internal class SuperCallFromPublicInlineImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class DeclarationCantBeInlinedImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.DeclarationCantBeInlined(), KtAbstractFirDiagnostic<KtDeclaration> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class CannotAllUnderImportFromSingletonImpl(
override val objectName: Name,
firDiagnostic: FirPsiDiagnostic,