Ensure that {Collection, CharSequence}.indices intrinsic works with 'in'

This commit is contained in:
Dmitry Petrov
2017-06-30 18:11:44 +03:00
parent ec99fa2142
commit 36cbc0defd
9 changed files with 107 additions and 0 deletions
@@ -0,0 +1,16 @@
// WITH_RUNTIME
val cs = "123"
val i1 = 1
fun box(): String {
// NB partially const-folded in JVM BE
if (!(1 in cs.indices)) return "Fail 1 in CharSequence.indices"
if (1 !in cs.indices) return "Fail 1 !in CharSequence.indices"
if (!(i1 in cs.indices)) return "Fail i1 in CharSequence.indices"
if (i1 !in cs.indices) return "Fail i1 !in CharSequence.indices"
return "OK"
}
@@ -0,0 +1,16 @@
// WITH_RUNTIME
val xs = listOf(1, 2, 3)
val i1 = 1
fun box(): String {
// NB partially const-folded in JVM BE
if (!(1 in xs.indices)) return "Fail 1 in Collection.indices"
if (1 !in xs.indices) return "Fail 1 !in Collection.indices"
if (!(i1 in xs.indices)) return "Fail i1 in Collection.indices"
if (i1 !in xs.indices) return "Fail i1 !in Collection.indices"
return "OK"
}