[FIR] Implement OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics
This commit is contained in:
committed by
TeamCityServer
parent
f7ed2f813d
commit
0fc8be4d60
+7
@@ -1349,6 +1349,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.OUTER_CLASS_ARGUMENTS_REQUIRED) { firDiagnostic ->
|
||||
OuterClassArgumentsRequiredImpl(
|
||||
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.a) as KtNamedClassOrObjectSymbol,
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TYPE_PARAMETERS_IN_OBJECT) { firDiagnostic ->
|
||||
TypeParametersInObjectImpl(
|
||||
firDiagnostic as FirPsiDiagnostic,
|
||||
|
||||
+5
@@ -956,6 +956,11 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val classifier: KtClassLikeSymbol
|
||||
}
|
||||
|
||||
abstract class OuterClassArgumentsRequired : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = OuterClassArgumentsRequired::class
|
||||
abstract val outer: KtNamedClassOrObjectSymbol
|
||||
}
|
||||
|
||||
abstract class TypeParametersInObject : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = TypeParametersInObject::class
|
||||
}
|
||||
|
||||
+8
@@ -1536,6 +1536,14 @@ internal class NoTypeArgumentsOnRhsImpl(
|
||||
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class OuterClassArgumentsRequiredImpl(
|
||||
override val outer: KtNamedClassOrObjectSymbol,
|
||||
firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.OuterClassArgumentsRequired(), KtAbstractFirDiagnostic<PsiElement> {
|
||||
override val firDiagnostic: FirPsiDiagnostic by weakRef(firDiagnostic)
|
||||
}
|
||||
|
||||
internal class TypeParametersInObjectImpl(
|
||||
firDiagnostic: FirPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
|
||||
Reference in New Issue
Block a user