[FIR/JS] Fix package name check in FirJsPackageDirectiveChecker

#KT-66491 Fixed
This commit is contained in:
Kirill Rakhman
2024-03-19 14:31:30 +01:00
committed by Space Team
parent 813630d468
commit e69d6d2d05
2 changed files with 5 additions and 1 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.analysis.forEachChildOfType
import org.jetbrains.kotlin.fir.analysis.js.checkers.sanitizeName
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.packageFqName
import org.jetbrains.kotlin.psi.KtPsiUtil
import org.jetbrains.kotlin.text
object FirJsPackageDirectiveChecker: FirFileChecker(MppCheckerKind.Common) {
@@ -26,7 +27,7 @@ object FirJsPackageDirectiveChecker: FirFileChecker(MppCheckerKind.Common) {
if (context.languageVersionSettings.supportsFeature(LanguageFeature.JsAllowInvalidCharsIdentifiersEscaping)) return
declaration.packageDirective.source?.forEachChildOfType(setOf(KtNodeTypes.REFERENCE_EXPRESSION)) {
val name = it.text.toString()
val name = KtPsiUtil.unquoteIdentifier(it.text.toString())
if (sanitizeName(name) != name) {
reporter.reportOn(
it,
@@ -23,3 +23,6 @@ class Dash
// FILE: question.kt
package <!INVALID_CHARACTERS!>`?`<!>
class Question
// FILE: backticks.kt
package com.spacesandtabs.`foo`