[kotlin] Fix package quotations in move refactoring

GitOrigin-RevId: f886c7212f4ef4a631375703b9e490dcd3e25e83
This commit is contained in:
Bart van Helvert
2024-03-29 21:00:34 +00:00
committed by intellij-monorepo-bot
parent 8e03ba21ca
commit 5ba0910bee
2 changed files with 5 additions and 6 deletions
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester
import org.jetbrains.kotlin.idea.base.psi.imports.addImport
import org.jetbrains.kotlin.idea.base.psi.kotlinFqName
import org.jetbrains.kotlin.idea.base.psi.replaced
import org.jetbrains.kotlin.idea.base.util.quoteIfNeeded
import org.jetbrains.kotlin.idea.kdoc.KDocElementFactory
import org.jetbrains.kotlin.idea.refactoring.rename.KtReferenceMutateServiceBase
import org.jetbrains.kotlin.idea.references.KDocReference
@@ -28,10 +29,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getPossiblyQualifiedCallExpression
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElementOrCallableRef
import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration
import org.jetbrains.kotlin.psi.psiUtil.isTopLevelKtOrJavaMember
import org.jetbrains.kotlin.psi.psiUtil.*
/**
* At the moment, this implementation of [org.jetbrains.kotlin.idea.references.KtReferenceMutateService] is not able to do some of the
@@ -168,7 +166,7 @@ internal class K2ReferenceMutateService : KtReferenceMutateServiceBase() {
private fun KtExpression.replaceWithQualified(fqName: FqName, selectorExpression: KtExpression): KtExpression {
val parentFqName = fqName.parent()
if (parentFqName.isRoot) return replaced(selectorExpression)
val packageName = fqName.parent().asString()
val packageName = fqName.parent().quoteIfNeeded().asString()
val newQualifiedExpression = KtPsiFactory(project).createExpression("$packageName.${selectorExpression.text}")
return replaced(newQualifiedExpression)
}
@@ -6,6 +6,7 @@ import com.intellij.psi.JavaDirectoryService
import com.intellij.psi.PsiDirectory
import com.intellij.refactoring.move.MoveMultipleElementsViewDescriptor
import org.jetbrains.kotlin.idea.base.psi.kotlinFqName
import org.jetbrains.kotlin.idea.base.util.quoteIfNeeded
import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2ChangePackageDescriptor
import org.jetbrains.kotlin.idea.k2.refactoring.move.descriptor.K2MoveDescriptor
import org.jetbrains.kotlin.name.FqName
@@ -33,7 +34,7 @@ internal fun KtFile.updatePackageDirective(pkgName: FqName) {
if (pkgName.isRoot) {
packageDirective?.delete()
} else {
val newPackageDirective = KtPsiFactory(project).createPackageDirective(pkgName)
val newPackageDirective = KtPsiFactory(project).createPackageDirective(pkgName.quoteIfNeeded())
packageDirective?.replace(newPackageDirective)
}
}