[FIR JS] Support WRONG_MULTIPLE_INHERITANCE
This commit is contained in:
committed by
Space Team
parent
0426f35684
commit
eed2fada1f
+7
@@ -598,6 +598,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.WRONG_MULTIPLE_INHERITANCE) { firDiagnostic ->
|
||||
WrongMultipleInheritanceImpl(
|
||||
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CONSTRUCTOR_IN_OBJECT) { firDiagnostic ->
|
||||
ConstructorInObjectImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+5
@@ -447,6 +447,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val candidates: List<KtType>
|
||||
}
|
||||
|
||||
abstract class WrongMultipleInheritance : KtFirDiagnostic<KtElement>() {
|
||||
override val diagnosticClass get() = WrongMultipleInheritance::class
|
||||
abstract val symbol: KtCallableSymbol
|
||||
}
|
||||
|
||||
abstract class ConstructorInObject : KtFirDiagnostic<KtDeclaration>() {
|
||||
override val diagnosticClass get() = ConstructorInObject::class
|
||||
}
|
||||
|
||||
+6
@@ -527,6 +527,12 @@ internal class AmbiguousSuperImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.AmbiguousSuper(), KtAbstractFirDiagnostic<KtSuperExpression>
|
||||
|
||||
internal class WrongMultipleInheritanceImpl(
|
||||
override val symbol: KtCallableSymbol,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.WrongMultipleInheritance(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class ConstructorInObjectImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user