Update Range and Progression built-in implementations in js library.

No need to define special method mapping for js ranges/progressions.
Support progression companion objects' function fromClosedRange as intrinsic
This commit is contained in:
Ilya Gorbunov
2015-11-06 22:32:27 +03:00
parent 55d4d17dc3
commit af9020a010
9 changed files with 296 additions and 128 deletions
@@ -0,0 +1,22 @@
package foo
fun box(): Boolean {
val intProgression = IntProgression.fromClosedRange(0, 10, 2)
assertEquals(10, intProgression.last)
val longProgression = LongProgression.fromClosedRange(0, 420004200042000L, 420004200042000L)
assertEquals(420004200042000L, longProgression.last)
val charProgression = CharProgression.fromClosedRange('a', 'z', 2)
assertEquals('y', charProgression.last)
// deprecated
val byteProgression = ByteProgression.fromClosedRange(1, 127, 2)
assertEquals(127.toByte(), byteProgression.last)
val shortProgression = ShortProgression.fromClosedRange(1, 32767, 2)
assertEquals(32767.toShort(), shortProgression.last)
return true
}