[FIR] Add support for JVM_STATIC_ON_CONST_OR_JVM_FIELD diagnostic

This commit is contained in:
Nikolay Lunyak
2021-08-02 15:09:37 +03:00
parent f3d61c199b
commit 7006426304
10 changed files with 43 additions and 18 deletions
@@ -3688,6 +3688,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirJvmErrors.JVM_STATIC_ON_CONST_OR_JVM_FIELD) { firDiagnostic ->
JvmStaticOnConstOrJvmFieldImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirJvmErrors.INAPPLICABLE_JVM_NAME) { firDiagnostic ->
InapplicableJvmNameImpl(
firDiagnostic as FirPsiDiagnostic,
@@ -2566,6 +2566,10 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = JvmStaticOnNonPublicMember::class
}
abstract class JvmStaticOnConstOrJvmField : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = JvmStaticOnConstOrJvmField::class
}
abstract class InapplicableJvmName : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = InapplicableJvmName::class
}
@@ -4166,6 +4166,13 @@ internal class JvmStaticOnNonPublicMemberImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class JvmStaticOnConstOrJvmFieldImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.JvmStaticOnConstOrJvmField(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class InapplicableJvmNameImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,