[JS FIR] Support JS module system FE diagnostics
Support CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM diagnostic ^KT-59377 Fixed Support CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM diagnostic ^KT-59381 Fixed Support CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE diagnostic ^KT-59417 Fixed
This commit is contained in:
committed by
Space Team
parent
30b012839c
commit
08d158f901
+20
@@ -1118,6 +1118,26 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE) { firDiagnostic ->
|
||||
CallFromUmdMustBeJsModuleAndJsNonModuleImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM) { firDiagnostic ->
|
||||
CallToJsModuleWithoutModuleSystemImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM) { firDiagnostic ->
|
||||
CallToJsNonModuleWithModuleSystemImpl(
|
||||
firSymbolBuilder.buildSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirJsErrors.RUNTIME_ANNOTATION_NOT_SUPPORTED) { firDiagnostic ->
|
||||
RuntimeAnnotationNotSupportedImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
|
||||
+14
@@ -806,6 +806,20 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
override val diagnosticClass get() = NestedJsModuleProhibited::class
|
||||
}
|
||||
|
||||
interface CallFromUmdMustBeJsModuleAndJsNonModule : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = CallFromUmdMustBeJsModuleAndJsNonModule::class
|
||||
}
|
||||
|
||||
interface CallToJsModuleWithoutModuleSystem : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = CallToJsModuleWithoutModuleSystem::class
|
||||
val callee: KtSymbol
|
||||
}
|
||||
|
||||
interface CallToJsNonModuleWithModuleSystem : KtFirDiagnostic<KtElement> {
|
||||
override val diagnosticClass get() = CallToJsNonModuleWithModuleSystem::class
|
||||
val callee: KtSymbol
|
||||
}
|
||||
|
||||
interface RuntimeAnnotationNotSupported : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = RuntimeAnnotationNotSupported::class
|
||||
}
|
||||
|
||||
+17
@@ -967,6 +967,23 @@ internal class NestedJsModuleProhibitedImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.NestedJsModuleProhibited
|
||||
|
||||
internal class CallFromUmdMustBeJsModuleAndJsNonModuleImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.CallFromUmdMustBeJsModuleAndJsNonModule
|
||||
|
||||
internal class CallToJsModuleWithoutModuleSystemImpl(
|
||||
override val callee: KtSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.CallToJsModuleWithoutModuleSystem
|
||||
|
||||
internal class CallToJsNonModuleWithModuleSystemImpl(
|
||||
override val callee: KtSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<KtElement>(firDiagnostic, token), KtFirDiagnostic.CallToJsNonModuleWithModuleSystem
|
||||
|
||||
internal class RuntimeAnnotationNotSupportedImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
|
||||
Reference in New Issue
Block a user