[FIR] Implement IMPLICIT_NOTHING_*_TYPE diagnostics
This commit is contained in:
committed by
Space Team
parent
0e84bf2053
commit
1b42298025
+12
@@ -1927,6 +1927,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.IMPLICIT_NOTHING_RETURN_TYPE) { firDiagnostic ->
|
||||
ImplicitNothingReturnTypeImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.IMPLICIT_NOTHING_PROPERTY_TYPE) { firDiagnostic ->
|
||||
ImplicitNothingPropertyTypeImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.CYCLIC_GENERIC_UPPER_BOUND) { firDiagnostic ->
|
||||
CyclicGenericUpperBoundImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+8
@@ -1371,6 +1371,14 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val isMismatchDueToNullability: Boolean
|
||||
}
|
||||
|
||||
abstract class ImplicitNothingReturnType : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ImplicitNothingReturnType::class
|
||||
}
|
||||
|
||||
abstract class ImplicitNothingPropertyType : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ImplicitNothingPropertyType::class
|
||||
}
|
||||
|
||||
abstract class CyclicGenericUpperBound : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = CyclicGenericUpperBound::class
|
||||
}
|
||||
|
||||
+10
@@ -1648,6 +1648,16 @@ internal class ReturnTypeMismatchImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ReturnTypeMismatch(), KtAbstractFirDiagnostic<KtExpression>
|
||||
|
||||
internal class ImplicitNothingReturnTypeImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ImplicitNothingReturnType(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ImplicitNothingPropertyTypeImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ImplicitNothingPropertyType(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class CyclicGenericUpperBoundImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user