[JS FIR] Generate FIR checker components

Generate components for JSCODE_ARGUMENT_NON_CONST_EXPRESSION

^KT-59435
This commit is contained in:
Alexander Korepanov
2023-10-16 12:51:14 +02:00
committed by Space Team
parent 720fe2ac89
commit 2d934f6357
7 changed files with 25 additions and 0 deletions
@@ -150,4 +150,8 @@ object JS_DIAGNOSTICS_LIST : DiagnosticList("FirJsErrors") {
parameter<String>("operation")
}
}
val JSCODE by object : DiagnosticGroup("JsCode") {
val JSCODE_ARGUMENT_NON_CONST_EXPRESSION by error<KtElement>()
}
}
@@ -103,6 +103,9 @@ object FirJsErrors {
val SPREAD_OPERATOR_IN_DYNAMIC_CALL by error0<KtElement>(SourceElementPositioningStrategies.SPREAD_OPERATOR)
val WRONG_OPERATION_WITH_DYNAMIC by error1<KtElement, String>()
// JsCode
val JSCODE_ARGUMENT_NON_CONST_EXPRESSION by error0<KtElement>()
init {
RootDiagnosticRendererFactory.registerFactory(FirJsErrorsDefaultMessages)
}
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.ENUM_CLASS_I
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_EXTERNAL_INHERITORS_ONLY
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.INLINE_EXTERNAL_DECLARATION
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JSCODE_ARGUMENT_NON_CONST_EXPRESSION
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_BUILTIN_NAME_CLASH
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_EXTERNAL_ARGUMENT
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors.JS_MODULE_PROHIBITED_ON_NON_NATIVE
@@ -247,5 +248,6 @@ object FirJsErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
"Exported declaration contains non-consumable identifier ''{0}'', which cannot be represented inside TS definitions and ESM.",
CommonRenderers.STRING,
)
map.put(JSCODE_ARGUMENT_NON_CONST_EXPRESSION, "An argument for the 'js()' function must be a constant string expression.")
}
}
@@ -650,6 +650,7 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set<String> = setOf(
"PROPERTY_DELEGATION_BY_DYNAMIC",
"SPREAD_OPERATOR_IN_DYNAMIC_CALL",
"WRONG_OPERATION_WITH_DYNAMIC",
"JSCODE_ARGUMENT_NON_CONST_EXPRESSION",
"THROWS_LIST_EMPTY",
"INCOMPATIBLE_THROWS_OVERRIDE",
"INCOMPATIBLE_THROWS_INHERITED",