[FIR/JS] Fix package name check in FirJsPackageDirectiveChecker
#KT-66491 Fixed
This commit is contained in:
committed by
Space Team
parent
813630d468
commit
e69d6d2d05
+2
-1
@@ -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.analysis.js.checkers.sanitizeName
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.packageFqName
|
import org.jetbrains.kotlin.fir.packageFqName
|
||||||
|
import org.jetbrains.kotlin.psi.KtPsiUtil
|
||||||
import org.jetbrains.kotlin.text
|
import org.jetbrains.kotlin.text
|
||||||
|
|
||||||
object FirJsPackageDirectiveChecker: FirFileChecker(MppCheckerKind.Common) {
|
object FirJsPackageDirectiveChecker: FirFileChecker(MppCheckerKind.Common) {
|
||||||
@@ -26,7 +27,7 @@ object FirJsPackageDirectiveChecker: FirFileChecker(MppCheckerKind.Common) {
|
|||||||
if (context.languageVersionSettings.supportsFeature(LanguageFeature.JsAllowInvalidCharsIdentifiersEscaping)) return
|
if (context.languageVersionSettings.supportsFeature(LanguageFeature.JsAllowInvalidCharsIdentifiersEscaping)) return
|
||||||
|
|
||||||
declaration.packageDirective.source?.forEachChildOfType(setOf(KtNodeTypes.REFERENCE_EXPRESSION)) {
|
declaration.packageDirective.source?.forEachChildOfType(setOf(KtNodeTypes.REFERENCE_EXPRESSION)) {
|
||||||
val name = it.text.toString()
|
val name = KtPsiUtil.unquoteIdentifier(it.text.toString())
|
||||||
if (sanitizeName(name) != name) {
|
if (sanitizeName(name) != name) {
|
||||||
reporter.reportOn(
|
reporter.reportOn(
|
||||||
it,
|
it,
|
||||||
|
|||||||
@@ -23,3 +23,6 @@ class Dash
|
|||||||
// FILE: question.kt
|
// FILE: question.kt
|
||||||
package <!INVALID_CHARACTERS!>`?`<!>
|
package <!INVALID_CHARACTERS!>`?`<!>
|
||||||
class Question
|
class Question
|
||||||
|
|
||||||
|
// FILE: backticks.kt
|
||||||
|
package com.spacesandtabs.`foo`
|
||||||
|
|||||||
Reference in New Issue
Block a user