Add optional inc/dec bytecode tests

This commit is contained in:
Sergey Chernov 2026-02-09 10:06:39 +03:00
parent 473a5dd6ed
commit cde7cf2caf

View File

@ -88,4 +88,42 @@ class BytecodeRecentOpsTest {
""".trimIndent()
)
}
@Test
fun optionalIndexIncDecSkipsOnNullReceiver() = runTest {
eval(
"""
var count = 0
fun idx() { count = count + 1; return 1 }
var a: List<Int>? = null
val r = a?[idx()]++
assertEquals(null, r)
assertEquals(0, count)
""".trimIndent()
)
}
@Test
fun optionalIndexIncDecUpdatesOnNonNullReceiver() = runTest {
eval(
"""
var a = [1, 2, 3]
val r = a?[1]++
assertEquals(2, r)
assertEquals(3, a[1])
""".trimIndent()
)
}
@Test
fun optionalClassScopeIncDec() = runTest {
eval(
"""
class C { static var x = 1 }
val r = C?.x++
assertEquals(1, r)
assertEquals(2, C.x)
""".trimIndent()
)
}
}