added tests for function literals faster resolve

This commit is contained in:
Svetlana Isakova
2013-02-06 15:35:20 +04:00
parent 3eee19578a
commit d447c90b13
3 changed files with 75 additions and 0 deletions
@@ -0,0 +1,31 @@
object A {
val iii = 42
}
//inappropriate but participating in resolve functions
fun foo(s: String, a: Any) = s + a
fun foo(a: Any) = a
fun foo(i: Int) = i
fun foo(a: Any, i: Int, f: ()-> Int) = "$a$i${f()}"
fun foo(f: (Int)->Int, i: Int) = f(i)
fun foo(f: (String)->Int, s: String) = f(s)
fun foo(f: (Any)->Int, a: Any) = f(a)
fun foo(s: String, f: (String, String)->Int) = f(s, s)
//appropriate function
fun foo(i: Int, f: (Int)->Int) = f(i)
fun id<T>(t: T) = t
fun test() {
foo(1, id { x1 ->
foo(2, id { x2 ->
foo(3, id { x3 ->
foo(4, id { x4 ->
foo(5, id { x5 ->
x1 + x2 + x3 + x4 + x5 + A.iii
})
})
})
})
})
}