Initial version of RangeContainsLowering, which optimizes calls to

contains() on ClosedRanges.
This commit is contained in:
Mark Punzalan
2020-08-04 23:44:04 -07:00
committed by Alexander Udalov
parent ca541337d1
commit 1c1b1b4b0f
36 changed files with 1194 additions and 57 deletions
@@ -0,0 +1,25 @@
// WITH_RUNTIME
fun box(): String {
val charBound = Char.MIN_VALUE
if ('b' in 'a' until charBound) return "Fail in Char.MIN_VALUE"
if (!('b' !in 'a' until charBound)) return "Fail !in Char.MIN_VALUE"
val intBound = Int.MIN_VALUE
if (1 in 0 until intBound) return "Fail in Int.MIN_VALUE"
if (!(1 !in 0 until intBound)) return "Fail !in Int.MIN_VALUE"
val longBound = Long.MIN_VALUE
if (1L in 0L until longBound) return "Fail in Long.MIN_VALUE"
if (!(1L !in 0L until longBound)) return "Fail !in Long.MIN_VALUE"
val uIntBound = UInt.MIN_VALUE
if (1u in 0u until uIntBound) return "Fail in UInt.MIN_VALUE"
if (!(1u !in 0u until uIntBound)) return "Fail !in UInt.MIN_VALUE"
val uLongBound = ULong.MIN_VALUE
if (1uL in 0uL until uLongBound) return "Fail in ULong.MIN_VALUE"
if (!(1uL !in 0uL until uLongBound)) return "Fail !in ULong.MIN_VALUE"
return "OK"
}