[JS FIR] Support JS_BUILTIN_NAME_CLASH diagnostic
^KT-59391 Fixed
This commit is contained in:
committed by
Space Team
parent
f061215ee9
commit
37c8ec1e51
+7
@@ -1227,6 +1227,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.JS_BUILTIN_NAME_CLASH) { firDiagnostic ->
|
||||
JsBuiltinNameClashImpl(
|
||||
firDiagnostic.a,
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.OPT_IN_USAGE) { firDiagnostic ->
|
||||
OptInUsageImpl(
|
||||
firDiagnostic.a,
|
||||
|
||||
+5
@@ -881,6 +881,11 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = JsNameProhibitedForExtensionProperty::class
|
||||
}
|
||||
|
||||
interface JsBuiltinNameClash : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = JsBuiltinNameClash::class
|
||||
val name: String
|
||||
}
|
||||
|
||||
interface OptInUsage : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = OptInUsage::class
|
||||
val optInMarkerFqName: FqName
|
||||
|
||||
+6
@@ -1059,6 +1059,12 @@ internal class JsNameProhibitedForExtensionPropertyImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.JsNameProhibitedForExtensionProperty
|
||||
|
||||
internal class JsBuiltinNameClashImpl(
|
||||
override val name: String,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.JsBuiltinNameClash
|
||||
|
||||
internal class OptInUsageImpl(
|
||||
override val optInMarkerFqName: FqName,
|
||||
override val message: String,
|
||||
|
||||
Reference in New Issue
Block a user