JS backend: tests for reflection support

This commit is contained in:
Michael Nedzelsky
2014-07-22 15:21:35 +04:00
parent cc98664832
commit 145aa5a276
70 changed files with 1464 additions and 0 deletions
@@ -0,0 +1,25 @@
// This test was adapted from compiler/testData/codegen/boxWithStdlib/callableReference/function/.
package foo
fun <T> run(arg1: A, arg2: T, funRef:A.(T) -> T): T {
return arg1.funRef(arg2)
}
class A {
var xx: Int = 100
}
fun A.bar(x: Int): Int {
this.xx = this.xx * 2
return x
}
fun box(): Boolean {
val funRef = A::bar
val obj = A()
var result = obj.(funRef)(25)
if (result != 25 || obj.xx != 200) return false
result = run(A(), 25, funRef)
return result == 25 && obj.xx == 200
}