[FIR] SUPER_CALL_WITH_DEFAULT_PARAMETERS diagnostic

This commit is contained in:
Andrey Zinovyev
2021-08-18 16:55:50 +03:00
committed by TeamCityServer
parent 24fbe0f072
commit 3b21759697
9 changed files with 61 additions and 87 deletions
@@ -345,26 +345,8 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.SUPER_IS_NOT_AN_EXPRESSION) { firDiagnostic ->
SuperIsNotAnExpressionImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.SUPER_NOT_AVAILABLE) { firDiagnostic ->
SuperNotAvailableImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.ABSTRACT_SUPER_CALL) { firDiagnostic ->
AbstractSuperCallImpl(
firDiagnostic as FirPsiDiagnostic,
token,
)
}
add(FirErrors.INSTANCE_ACCESS_BEFORE_SUPER_CALL) { firDiagnostic ->
InstanceAccessBeforeSuperCallImpl(
add(FirJvmErrors.SUPER_CALL_WITH_DEFAULT_PARAMETERS) { firDiagnostic ->
SuperCallWithDefaultParametersImpl(
firDiagnostic.a,
firDiagnostic as FirPsiDiagnostic,
token,
@@ -270,21 +270,9 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
abstract val classSymbol: KtClassLikeSymbol
}
abstract class SuperIsNotAnExpression : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = SuperIsNotAnExpression::class
}
abstract class SuperNotAvailable : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = SuperNotAvailable::class
}
abstract class AbstractSuperCall : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = AbstractSuperCall::class
}
abstract class InstanceAccessBeforeSuperCall : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = InstanceAccessBeforeSuperCall::class
abstract val target: String
abstract class SuperCallWithDefaultParameters : KtFirDiagnostic<PsiElement>() {
override val diagnosticClass get() = SuperCallWithDefaultParameters::class
abstract val name: String
}
abstract class NotASupertype : KtFirDiagnostic<PsiElement>() {
@@ -400,32 +400,11 @@ internal class ResolutionToClassifierImpl(
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class SuperIsNotAnExpressionImpl(
internal class SuperCallWithDefaultParametersImpl(
override val name: String,
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.SuperIsNotAnExpression(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class SuperNotAvailableImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.SuperNotAvailable(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class AbstractSuperCallImpl(
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.AbstractSuperCall(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}
internal class InstanceAccessBeforeSuperCallImpl(
override val target: String,
firDiagnostic: FirPsiDiagnostic,
override val token: ValidityToken,
) : KtFirDiagnostic.InstanceAccessBeforeSuperCall(), KtAbstractFirDiagnostic<PsiElement> {
) : KtFirDiagnostic.SuperCallWithDefaultParameters(), KtAbstractFirDiagnostic<PsiElement> {
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
}