Introduce a workaround in interpreter tests to make them pass

There is a problem with ranges and iterators. To work properly
they must be resolved firstly, before operator rangeTo.
This commit is contained in:
Ivan Kylchik
2021-08-04 14:16:18 +03:00
committed by TeamCityServer
parent 44e1b61e6c
commit 4f15bd4817
6 changed files with 26 additions and 2 deletions
@@ -1,3 +1,7 @@
// this hack is used to ensure that iterator will be resolved first
@CompileTimeCalculation internal class LongProgressionIterator(first: Long, last: Long, val step: Long) : LongIterator()
@CompileTimeCalculation public class LongRange(start: Long, endInclusive: Long) : LongProgression(start, endInclusive, 1), ClosedRange<Long>
@CompileTimeCalculation fun compareTo(value: Long, other: Byte) = value.compareTo(other)
@CompileTimeCalculation fun compareTo(value: Long, other: Short) = value.compareTo(other)
@CompileTimeCalculation fun compareTo(value: Long, other: Int) = value.compareTo(other)