KtSimpleNameReference: cleanup code

This commit is contained in:
Dmitry Gridin
2019-08-27 12:30:56 +07:00
parent dd2bd320ba
commit 2e781a7a27
@@ -104,8 +104,7 @@ class KtSimpleNameReference(expression: KtSimpleNameExpression) : KtSimpleRefere
if (!canRename()) throw IncorrectOperationException() if (!canRename()) throw IncorrectOperationException()
if (newElementName.unquote() == "") { if (newElementName.unquote() == "") {
val qualifiedElement = expression.getQualifiedElement() return when (val qualifiedElement = expression.getQualifiedElement()) {
return when (qualifiedElement) {
is KtQualifiedExpression -> { is KtQualifiedExpression -> {
expression.replace(qualifiedElement.receiverExpression) expression.replace(qualifiedElement.receiverExpression)
qualifiedElement.replaced(qualifiedElement.selectorExpression!!) qualifiedElement.replaced(qualifiedElement.selectorExpression!!)
@@ -145,8 +144,7 @@ class KtSimpleNameReference(expression: KtSimpleNameExpression) : KtSimpleRefere
if (element.node.elementType == KtTokens.IDENTIFIER) { if (element.node.elementType == KtTokens.IDENTIFIER) {
nameElement.astReplace(element) nameElement.astReplace(element)
} } else {
else {
nameElement.replace(element) nameElement.replace(element)
} }
return expression return expression
@@ -165,7 +163,11 @@ class KtSimpleNameReference(expression: KtSimpleNameExpression) : KtSimpleRefere
fun bindToElement(element: PsiElement, shorteningMode: ShorteningMode): PsiElement = fun bindToElement(element: PsiElement, shorteningMode: ShorteningMode): PsiElement =
element.getKotlinFqName()?.let { fqName -> bindToFqName(fqName, shorteningMode, element) } ?: expression element.getKotlinFqName()?.let { fqName -> bindToFqName(fqName, shorteningMode, element) } ?: expression
fun bindToFqName(fqName: FqName, shorteningMode: ShorteningMode = ShorteningMode.DELAYED_SHORTENING, targetElement: PsiElement? = null): PsiElement { fun bindToFqName(
fqName: FqName,
shorteningMode: ShorteningMode = ShorteningMode.DELAYED_SHORTENING,
targetElement: PsiElement? = null
): PsiElement {
val expression = expression val expression = expression
if (fqName.isRoot) return expression if (fqName.isRoot) return expression
@@ -197,7 +199,10 @@ class KtSimpleNameReference(expression: KtSimpleNameExpression) : KtSimpleRefere
* Result is either the same as original element, or [[KtQualifiedExpression]], or [[KtUserType]] * Result is either the same as original element, or [[KtQualifiedExpression]], or [[KtUserType]]
* Note that FqName may not be empty * Note that FqName may not be empty
*/ */
private fun KtNameReferenceExpression.changeQualifiedName(fqName: FqName, targetElement: PsiElement? = null): KtNameReferenceExpression { private fun KtNameReferenceExpression.changeQualifiedName(
fqName: FqName,
targetElement: PsiElement? = null
): KtNameReferenceExpression {
assert(!fqName.isRoot) { "Can't set empty FqName for element $this" } assert(!fqName.isRoot) { "Can't set empty FqName for element $this" }
val shortName = fqName.shortName().asString() val shortName = fqName.shortName().asString()
@@ -276,8 +281,7 @@ class KtSimpleNameReference(expression: KtSimpleNameExpression) : KtSimpleRefere
return if (counterpart != null) { return if (counterpart != null) {
val counterpartName = OperatorConventions.getNameForOperationSymbol(counterpart, false, true)!! val counterpartName = OperatorConventions.getNameForOperationSymbol(counterpart, false, true)!!
listOf(name, counterpartName) listOf(name, counterpartName)
} } else {
else {
listOf(name) listOf(name)
} }
} }