mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Backtick only uncommon package name parts
#KTIJ-30095 GitOrigin-RevId: 15c6498a403d35777158263e21e482502bee058e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2aff652d0a
commit
ea06bf5246
+4
-12
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
|
||||
import org.jetbrains.kotlin.psi.KtUserType
|
||||
import org.jetbrains.kotlin.psi.createExpressionByPattern
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getPrevSiblingIgnoringWhitespaceAndComments
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isIdentifier
|
||||
import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
|
||||
import java.lang.RuntimeException
|
||||
|
||||
@@ -91,7 +90,7 @@ object AddQualifiersUtil {
|
||||
is KtCallableReferenceExpression -> addOrReplaceQualifier(psiFactory, parent, qualifier)
|
||||
is KtCallExpression -> replaceExpressionWithDotQualifier(psiFactory, parent, qualifier)
|
||||
is KtUserType -> addQualifierToType(psiFactory, parent, qualifier)
|
||||
else -> replaceExpressionWithQualifier(psiFactory, referenceExpression, fqName)
|
||||
else -> replaceExpressionWithQualifier(psiFactory, referenceExpression, qualifier, fqName)
|
||||
}
|
||||
}
|
||||
if (referenceExpression.isPhysical) {
|
||||
@@ -148,20 +147,13 @@ object AddQualifiersUtil {
|
||||
private fun replaceExpressionWithQualifier(
|
||||
psiFactory: KtPsiFactory,
|
||||
referenceExpression: KtNameReferenceExpression,
|
||||
packageQualifier: String,
|
||||
fqName: FqName
|
||||
): KtElement {
|
||||
val fqNameUnsafe = fqName.toUnsafe()
|
||||
val shortName = fqNameUnsafe.shortName().asString().quoteIfNeeded()
|
||||
val parent = fqNameUnsafe.parent()
|
||||
val parentQuotedIfNeeded =
|
||||
if (parent.isRoot) {
|
||||
""
|
||||
} else {
|
||||
val quotesAreNeeded = parent.pathSegments().any { !it.identifier.isIdentifier() }
|
||||
val asString = parent.asString()
|
||||
"${if (quotesAreNeeded) asString.quoteIfNeeded() else asString}."
|
||||
}
|
||||
val expressionWithQualifier = psiFactory.createExpression(parentQuotedIfNeeded + shortName)
|
||||
val packageSeparator = ".".takeUnless { packageQualifier.isEmpty() } ?: ""
|
||||
val expressionWithQualifier = psiFactory.createExpression(packageQualifier + packageSeparator + shortName)
|
||||
return referenceExpression.replace(expressionWithQualifier) as KtElement
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
package foo.`b ar`
|
||||
|
||||
object Clazz {
|
||||
val foo = 0
|
||||
val zoo = 0
|
||||
}
|
||||
|
||||
fun Clazz.foo() = <caret>Clazz.foo
|
||||
fun Clazz.zoo() = <caret>Clazz.zoo
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
package foo.`b ar`
|
||||
|
||||
object Clazz {
|
||||
val foo = 0
|
||||
val zoo = 0
|
||||
}
|
||||
|
||||
fun Clazz.foo() = `foo.b ar`.Clazz.foo
|
||||
fun Clazz.zoo() = foo.`b ar`.Clazz.zoo
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
package foo.`b ar`
|
||||
|
||||
object `Cla zz` {
|
||||
val foo = 0
|
||||
val zoo = 0
|
||||
}
|
||||
|
||||
fun `Cla zz`.foo() = <caret>`Cla zz`.foo
|
||||
fun `Cla zz`.zoo() = <caret>`Cla zz`.zoo
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
package foo.`b ar`
|
||||
|
||||
object `Cla zz` {
|
||||
val foo = 0
|
||||
val zoo = 0
|
||||
}
|
||||
|
||||
fun `Cla zz`.foo() = `foo.b ar`.`Cla zz`.foo
|
||||
fun `Cla zz`.zoo() = foo.`b ar`.`Cla zz`.zoo
|
||||
|
||||
Reference in New Issue
Block a user