Missing tests added

This commit is contained in:
Andrey Breslav
2013-12-05 21:06:29 +04:00
parent c70a54306f
commit bb6ceffbbb
12 changed files with 108 additions and 0 deletions
@@ -0,0 +1,4 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
tailRecursive fun Int.foo(x: Int) {
return 1.foo(2)
}
@@ -0,0 +1,4 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
tailRecursive fun Int.foo(x: Int) {
return 1 foo 2
}
@@ -0,0 +1,8 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
<!NO_TAIL_CALLS_FOUND!>tailRecursive fun foo()<!> {
run {
<!NON_TAIL_RECURSIVE_CALL!>foo<!>()
}
}
fun run(a: Any) {}
@@ -0,0 +1,5 @@
<!NO_TAIL_CALLS_FOUND!>tailRecursive fun foo()<!> {
fun bar() {
<!NON_TAIL_RECURSIVE_CALL!>foo<!>()
}
}
@@ -0,0 +1,3 @@
tailRecursive fun foo() {
(return foo())
}
@@ -0,0 +1,6 @@
tailRecursive fun foo() {
return if (true) {
(foo())
}
else Unit.VALUE
}
@@ -0,0 +1,3 @@
tailRecursive fun foo() {
return (foo())
}