FIR IDE: resolve call to property accessors

This commit is contained in:
Jinseong Jeon
2021-08-25 00:24:06 -07:00
committed by Ilya Kirillov
parent cd4a08cb18
commit 8e242655f9
27 changed files with 278 additions and 13 deletions
@@ -381,6 +381,14 @@ fun KtExpression.getAssignmentByLHS(): KtBinaryExpression? {
return if (KtPsiUtil.isAssignment(parent) && parent.left == this) parent else null
}
tailrec fun findAssignment(element: PsiElement?): KtBinaryExpression? =
when (val parent = element?.parent) {
is KtBinaryExpression -> if (parent.left == element && parent.operationToken == KtTokens.EQ) parent else null
is KtQualifiedExpression -> findAssignment(element.parent)
is KtSimpleNameExpression -> findAssignment(element.parent)
else -> null
}
fun KtStringTemplateExpression.getContentRange(): TextRange {
val start = node.firstChildNode.textLength
val lastChild = node.lastChildNode