[FE] Prohibit expect external and expect tailrec
^KT-58536 Fixed
This commit is contained in:
committed by
Space Team
parent
e6d5df18b8
commit
439cc88525
+12
@@ -3252,6 +3252,18 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.EXPECTED_EXTERNAL_DECLARATION) { firDiagnostic ->
|
||||
ExpectedExternalDeclarationImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.EXPECTED_TAILREC_FUNCTION) { firDiagnostic ->
|
||||
ExpectedTailrecFunctionImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS) { firDiagnostic ->
|
||||
ImplementationByDelegationInExpectClassImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+8
@@ -2290,6 +2290,14 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = ExpectedPrivateDeclaration::class
|
||||
}
|
||||
|
||||
abstract class ExpectedExternalDeclaration : KtFirDiagnostic<KtModifierListOwner>() {
|
||||
override val diagnosticClass get() = ExpectedExternalDeclaration::class
|
||||
}
|
||||
|
||||
abstract class ExpectedTailrecFunction : KtFirDiagnostic<KtModifierListOwner>() {
|
||||
override val diagnosticClass get() = ExpectedTailrecFunction::class
|
||||
}
|
||||
|
||||
abstract class ImplementationByDelegationInExpectClass : KtFirDiagnostic<KtDelegatedSuperTypeEntry>() {
|
||||
override val diagnosticClass get() = ImplementationByDelegationInExpectClass::class
|
||||
}
|
||||
|
||||
+10
@@ -2761,6 +2761,16 @@ internal class ExpectedPrivateDeclarationImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ExpectedPrivateDeclaration(), KtAbstractFirDiagnostic<KtModifierListOwner>
|
||||
|
||||
internal class ExpectedExternalDeclarationImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ExpectedExternalDeclaration(), KtAbstractFirDiagnostic<KtModifierListOwner>
|
||||
|
||||
internal class ExpectedTailrecFunctionImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.ExpectedTailrecFunction(), KtAbstractFirDiagnostic<KtModifierListOwner>
|
||||
|
||||
internal class ImplementationByDelegationInExpectClassImpl(
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user