FIR: Ensure that the array set argument (on RHS of =) is always mapped

to the last parameter of the set operator function, even if there are
missing or too many index arguments.
This commit is contained in:
Mark Punzalan
2021-08-31 07:31:50 +00:00
committed by teamcityserver
parent 2bb3e94ef7
commit 34e6459014
26 changed files with 205 additions and 21 deletions
@@ -642,6 +642,9 @@ object PositioningStrategies {
@JvmField
val VALUE_ARGUMENTS: PositioningStrategy<KtElement> = object : PositioningStrategy<KtElement>() {
override fun mark(element: KtElement): List<TextRange> {
if (element is KtBinaryExpression && element.operationToken in KtTokens.ALL_ASSIGNMENTS) {
element.left.let { left -> left.unwrapParenthesesLabelsAndAnnotations()?.let { return markElement(it) } }
}
val qualifiedAccess = when (element) {
is KtQualifiedExpression -> element.selectorExpression ?: element
else -> element