[FIR] Deprecate using typealias as callable qualifier in import

^KT-64350 Fixed
This commit is contained in:
Roman Efremov
2024-02-13 11:33:29 +01:00
committed by Space Team
parent 802366064d
commit 3994e3f63a
19 changed files with 157 additions and 10 deletions
@@ -4889,6 +4889,22 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
token,
)
}
add(FirErrors.TYPEALIAS_AS_CALLABLE_QUALIFIER_IN_IMPORT.errorFactory) { firDiagnostic ->
TypealiasAsCallableQualifierInImportErrorImpl(
firDiagnostic.a,
firDiagnostic.b,
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.TYPEALIAS_AS_CALLABLE_QUALIFIER_IN_IMPORT.warningFactory) { firDiagnostic ->
TypealiasAsCallableQualifierInImportWarningImpl(
firDiagnostic.a,
firDiagnostic.b,
firDiagnostic as KtPsiDiagnostic,
token,
)
}
add(FirErrors.ILLEGAL_SUSPEND_FUNCTION_CALL) { firDiagnostic ->
IllegalSuspendFunctionCallImpl(
firSymbolBuilder.buildSymbol(firDiagnostic.a),
@@ -3406,6 +3406,18 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
override val diagnosticClass get() = OperatorRenamedOnImport::class
}
interface TypealiasAsCallableQualifierInImportError : KtFirDiagnostic<KtImportDirective> {
override val diagnosticClass get() = TypealiasAsCallableQualifierInImportError::class
val typealiasName: Name
val originalClassName: Name
}
interface TypealiasAsCallableQualifierInImportWarning : KtFirDiagnostic<KtImportDirective> {
override val diagnosticClass get() = TypealiasAsCallableQualifierInImportWarning::class
val typealiasName: Name
val originalClassName: Name
}
interface IllegalSuspendFunctionCall : KtFirDiagnostic<PsiElement> {
override val diagnosticClass get() = IllegalSuspendFunctionCall::class
val suspendCallable: KtSymbol
@@ -4106,6 +4106,20 @@ internal class OperatorRenamedOnImportImpl(
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtImportDirective>(firDiagnostic, token), KtFirDiagnostic.OperatorRenamedOnImport
internal class TypealiasAsCallableQualifierInImportErrorImpl(
override val typealiasName: Name,
override val originalClassName: Name,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtImportDirective>(firDiagnostic, token), KtFirDiagnostic.TypealiasAsCallableQualifierInImportError
internal class TypealiasAsCallableQualifierInImportWarningImpl(
override val typealiasName: Name,
override val originalClassName: Name,
firDiagnostic: KtPsiDiagnostic,
token: KtLifetimeToken,
) : KtAbstractFirDiagnostic<KtImportDirective>(firDiagnostic, token), KtFirDiagnostic.TypealiasAsCallableQualifierInImportWarning
internal class IllegalSuspendFunctionCallImpl(
override val suspendCallable: KtSymbol,
firDiagnostic: KtPsiDiagnostic,