[FIR JS] Generate diagnostic componentss for JS FIR FE checks
Generate components for JS_NAME_CLASH and JS_FAKE_NAME_CLASH ^KT-59425 Related ^KT-59370 Related
This commit is contained in:
committed by
Space Team
parent
f5307173b5
commit
5ac277d058
+9
@@ -58,6 +58,15 @@ object JS_DIAGNOSTICS_LIST : DiagnosticList("FirJsErrors") {
|
||||
parameter<String>("name")
|
||||
}
|
||||
val NAME_CONTAINS_ILLEGAL_CHARS by error<KtElement>(PositioningStrategy.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val JS_NAME_CLASH by error<KtElement>(PositioningStrategy.DECLARATION_SIGNATURE_OR_DEFAULT) {
|
||||
parameter<String>("name")
|
||||
parameter<Collection<FirBasedSymbol<*>>>("existing")
|
||||
}
|
||||
val JS_FAKE_NAME_CLASH by error<KtElement>(PositioningStrategy.DECLARATION_SIGNATURE_OR_DEFAULT) {
|
||||
parameter<String>("name")
|
||||
parameter<FirBasedSymbol<*>>("override")
|
||||
parameter<Collection<FirBasedSymbol<*>>>("existing")
|
||||
}
|
||||
}
|
||||
|
||||
val SUPERTYPES by object : DiagnosticGroup("Supertypes") {
|
||||
|
||||
+2
@@ -52,6 +52,8 @@ object FirJsErrors {
|
||||
val JS_NAME_PROHIBITED_FOR_EXTENSION_PROPERTY by error0<KtElement>()
|
||||
val JS_BUILTIN_NAME_CLASH by error1<KtElement, String>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val NAME_CONTAINS_ILLEGAL_CHARS by error0<KtElement>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val JS_NAME_CLASH by error2<KtElement, String, Collection<FirBasedSymbol<*>>>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val JS_FAKE_NAME_CLASH by error3<KtElement, String, FirBasedSymbol<*>, Collection<FirBasedSymbol<*>>>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
|
||||
// Supertypes
|
||||
val WRONG_MULTIPLE_INHERITANCE by error1<KtElement, FirCallableSymbol<*>>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
|
||||
+15
@@ -37,6 +37,8 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_EXTERNAL_
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_MODULE_PROHIBITED_ON_NON_NATIVE
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_MODULE_PROHIBITED_ON_VAR
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.NESTED_JS_MODULE_PROHIBITED
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_FAKE_NAME_CLASH
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_NAME_CLASH
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_NAME_IS_NOT_ON_ALL_ACCESSORS
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_NAME_ON_ACCESSOR_AND_PROPERTY
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_NAME_ON_PRIMARY_CONSTRUCTOR_PROHIBITED
|
||||
@@ -201,6 +203,19 @@ object FirJsErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
|
||||
CommonRenderers.STRING
|
||||
)
|
||||
map.put(NAME_CONTAINS_ILLEGAL_CHARS, "Name contains illegal chars that cannot appear in JavaScript identifier.")
|
||||
map.put(
|
||||
JS_NAME_CLASH,
|
||||
"JavaScript name ({0}) generated for this declaration clashes with another declarations: {1}",
|
||||
CommonRenderers.STRING,
|
||||
FirDiagnosticRenderers.SYMBOLS
|
||||
)
|
||||
map.put(
|
||||
JS_FAKE_NAME_CLASH,
|
||||
"JavaScript name {0} is generated for different inherited members: {1} and {2}",
|
||||
CommonRenderers.STRING,
|
||||
FirDiagnosticRenderers.SYMBOL,
|
||||
FirDiagnosticRenderers.SYMBOLS
|
||||
)
|
||||
|
||||
map.put(JS_NAME_IS_NOT_ON_ALL_ACCESSORS, "'@JsName' should be on all the property accessors.")
|
||||
map.put(JS_NAME_PROHIBITED_FOR_NAMED_NATIVE, "'@JsName' is prohibited for external declaration with explicit name.")
|
||||
|
||||
+2
@@ -179,6 +179,8 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set<String> = setOf(
|
||||
"JS_NAME_PROHIBITED_FOR_EXTENSION_PROPERTY",
|
||||
"JS_BUILTIN_NAME_CLASH",
|
||||
"NAME_CONTAINS_ILLEGAL_CHARS",
|
||||
"JS_NAME_CLASH",
|
||||
"JS_FAKE_NAME_CLASH",
|
||||
"OPT_IN_USAGE_ERROR",
|
||||
"OPT_IN_OVERRIDE_ERROR",
|
||||
"OPT_IN_CAN_ONLY_BE_USED_AS_ANNOTATION",
|
||||
|
||||
Reference in New Issue
Block a user