[JS_IR] Enable RangeContainsLowering optimizations.

This commit is contained in:
Mark Punzalan
2020-09-03 00:49:14 -07:00
committed by Roman
parent 88755a8d20
commit 16ab11289c
11 changed files with 105 additions and 137 deletions
@@ -1,23 +1,19 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// WITH_RUNTIME
import kotlin.test.*
operator fun Int.rangeTo(right: String): ClosedRange<Int> = this..this + 1
operator fun Long.rangeTo(right: Double): ClosedRange<Long> = this..right.toLong() + 1
operator fun String.rangeTo(right: Int): ClosedRange<String> = this..this
fun box(): String {
assert(0 !in 1.."a")
assert(1 in 1.."a")
assertTrue(0 !in 1.."a")
assertTrue(1 in 1.."a")
assert(0L !in 1L..2.0)
assert(2L in 1L..3.0)
assertTrue(0L !in 1L..2.0)
assertTrue(2L in 1L..3.0)
assert("a" !in "b"..1)
assert("a" in "a"..1)
assertTrue("a" !in "b"..1)
assertTrue("a" in "a"..1)
return "OK"
}