mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Fix package quotations in move refactoring
GitOrigin-RevId: f886c7212f4ef4a631375703b9e490dcd3e25e83
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8e03ba21ca
commit
5ba0910bee
+3
-5
@@ -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)
|
||||
}
|
||||
|
||||
+2
-1
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user