[FIR] Extract LHS receiver of assignment operator statements

#KT-53490 Fixed
This commit is contained in:
Brian Norman
2023-06-30 17:13:05 +03:00
committed by Space Team
parent 14276642d4
commit 10ed26991d
45 changed files with 1894 additions and 124 deletions
@@ -0,0 +1,54 @@
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
package foo
class A {
var prop: Int = 0
}
object B {
var prop: Int = 0
}
val array: Array<Int> = arrayOf(0)
fun <T> id(t: T): T {
return t
}
fun main() {
val a = A()
id(a).prop = 10
id(a).prop += 20
id(a).prop -= 20
id(a).prop *= 2
id(a).prop /= 5
id(a).prop %= 3
id(a).prop++
id(a).prop--
++id(a).prop
--id(a).prop
B.prop++
B.prop--
++B.prop
--B.prop
id(array)[0] = 10
id(array)[0] += 20
id(array)[0] -= 20
id(array)[0] *= 2
id(array)[0] /= 5
id(array)[0] %= 3
id(array)[0]++
id(array)[0]--
++id(array)[0]
--id(array)[0]
array[0]++
array[0]--
++array[0]
--array[0]
}