Revert "[Native] Fix tailrec test."

This reverts commit 67c501e0b6.
This commit is contained in:
Igor Chevdar
2023-10-19 15:25:28 +03:00
committed by Space Team
parent d5001fb7dd
commit 254b5b1934
3 changed files with 46 additions and 1 deletions
@@ -3165,7 +3165,8 @@ tasks.register("vararg_of_literals", KonanLocalTest) {
}
standaloneTest('tailrec') {
disabled = isAggressiveGC // TODO: Investigate why too slow
disabled = isAggressiveGC || // TODO: Investigate why too slow
isK2(project) // KT-56269
useGoldenData = true
source = "lower/tailrec.kt"
flags = ['-XXLanguage:-ProhibitTailrecOnVirtualMember', '-e', 'lower.tailrec.main']
@@ -18,6 +18,12 @@ fun main() {
println(listOf(1, 2, 3).indexOf(3))
println(listOf(1, 2, 3).indexOf(4))
println(Integer(5).isLessOrEqualThan(7))
println(Integer(42).isLessOrEqualThan(1))
println(DefaultArgGetter().foo("non-default"))
println(EitherDelegatedOrNot(NotDelegated()).get42())
}
tailrec fun add(x: Int, y: Int): Int = if (x > 0) add(x - 1, y + 1) else y
@@ -55,3 +61,37 @@ tailrec fun <T> List<T>.indexOf(x: T, startIndex: Int = 0): Int {
return startIndex
}
open class Integer(val value: Int) {
open tailrec fun isLessOrEqualThan(value: Int): Boolean {
if (this.value == value) {
return true
} else if (value > 0) {
return this.isLessOrEqualThan(value - 1)
} else {
return false
}
}
}
open class DefaultArgHolder {
open fun foo(s: String = "default") = s
}
class DefaultArgGetter : DefaultArgHolder() {
override tailrec fun foo(s: String): String {
return if (s == "default") s else foo()
}
}
open class EitherDelegatedOrNot(val delegate: EitherDelegatedOrNot?) {
open tailrec fun get42(): Int = if (delegate != null) {
delegate.get42()
} else {
throw Error()
}
}
class NotDelegated : EitherDelegatedOrNot(null) {
override fun get42() = 42
}
@@ -8,3 +8,7 @@
ready!
2
-1
true
false
default
42