Remove unused/deprecated ReadWriteAccess util
The usage in KtFirCallResolver for resolving compound accessor calls is
fully rewritten recently, and this util is no longer used.
This is partial revert of cd4a08cb18
This commit is contained in:
committed by
Ilya Kirillov
parent
ea86d52faf
commit
08d062dcf9
@@ -6,12 +6,9 @@
|
||||
package org.jetbrains.kotlin.idea.references
|
||||
|
||||
import org.jetbrains.kotlin.kdoc.psi.impl.KDocName
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getAssignmentByLHS
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedExpressionForSelectorOrThis
|
||||
import org.jetbrains.kotlin.resolve.references.ReferenceAccess
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.constant
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtReferenceExpression
|
||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
|
||||
@@ -30,37 +27,3 @@ val KtElement.mainReference: KtReference?
|
||||
is KDocName -> mainReference
|
||||
else -> references.firstIsInstanceOrNull()
|
||||
}
|
||||
|
||||
@Deprecated(
|
||||
"Not for the IDE usage",
|
||||
replaceWith = ReplaceWith("readWriteAccessWithFullExpression", "org.jetbrains.kotlin.idea.references")
|
||||
)
|
||||
fun KtExpression.readWriteAccessWithFullExpressionWithPossibleResolve(
|
||||
readWriteAccessWithFullExpressionByResolve: (KtBinaryExpression) -> Pair<ReferenceAccess, KtExpression>?,
|
||||
): Pair<ReferenceAccess, KtExpression> {
|
||||
var expression = getQualifiedExpressionForSelectorOrThis()
|
||||
loop@ while (true) {
|
||||
when (val parent = expression.parent) {
|
||||
is KtParenthesizedExpression, is KtAnnotatedExpression, is KtLabeledExpression -> expression = parent as KtExpression
|
||||
else -> break@loop
|
||||
}
|
||||
}
|
||||
|
||||
val assignment = expression.getAssignmentByLHS()
|
||||
if (assignment != null) {
|
||||
return when (assignment.operationToken) {
|
||||
KtTokens.EQ -> ReferenceAccess.WRITE to assignment
|
||||
|
||||
else -> {
|
||||
readWriteAccessWithFullExpressionByResolve(assignment)
|
||||
?: (ReferenceAccess.READ_WRITE to assignment)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val unaryExpression = expression.parent as? KtUnaryExpression
|
||||
return if (unaryExpression != null && unaryExpression.operationToken in constant { setOf(KtTokens.PLUSPLUS, KtTokens.MINUSMINUS) })
|
||||
ReferenceAccess.READ_WRITE to unaryExpression
|
||||
else
|
||||
ReferenceAccess.READ to expression
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user