[FIR] Report when typealias expansion contains deprecated type
#KT-57843 Fixed
This commit is contained in:
committed by
Space Team
parent
206fad4256
commit
1f29490118
+18
@@ -313,6 +313,24 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TYPEALIAS_EXPANSION_DEPRECATION_ERROR) { firDiagnostic ->
|
||||
TypealiasExpansionDeprecationErrorImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.b),
|
||||
firDiagnostic.c,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TYPEALIAS_EXPANSION_DEPRECATION) { firDiagnostic ->
|
||||
TypealiasExpansionDeprecationImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.b),
|
||||
firDiagnostic.c,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.API_NOT_AVAILABLE) { firDiagnostic ->
|
||||
ApiNotAvailableImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+14
@@ -259,6 +259,20 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val message: String
|
||||
}
|
||||
|
||||
abstract class TypealiasExpansionDeprecationError : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = TypealiasExpansionDeprecationError::class
|
||||
abstract val alias: KtSymbol
|
||||
abstract val reference: KtSymbol
|
||||
abstract val message: String
|
||||
}
|
||||
|
||||
abstract class TypealiasExpansionDeprecation : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = TypealiasExpansionDeprecation::class
|
||||
abstract val alias: KtSymbol
|
||||
abstract val reference: KtSymbol
|
||||
abstract val message: String
|
||||
}
|
||||
|
||||
abstract class ApiNotAvailable : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = ApiNotAvailable::class
|
||||
abstract val sinceKotlinVersion: ApiVersion
|
||||
|
||||
+16
@@ -297,6 +297,22 @@ internal class DeprecationImpl(
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.Deprecation(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class TypealiasExpansionDeprecationErrorImpl(
|
||||
override val alias: KtSymbol,
|
||||
override val reference: KtSymbol,
|
||||
override val message: String,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.TypealiasExpansionDeprecationError(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class TypealiasExpansionDeprecationImpl(
|
||||
override val alias: KtSymbol,
|
||||
override val reference: KtSymbol,
|
||||
override val message: String,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: KtLifetimeToken,
|
||||
) : KtFirDiagnostic.TypealiasExpansionDeprecation(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class ApiNotAvailableImpl(
|
||||
override val sinceKotlinVersion: ApiVersion,
|
||||
override val currentVersion: ApiVersion,
|
||||
|
||||
Reference in New Issue
Block a user