JS backend: add the ability to get JS constructor function by class name and from instance. Support it for reified type parameters too. Add ability to get name of class.

#KT-5987 Fixed
 #KT-4115 Fixed
This commit is contained in:
Zalim Bashorov
2016-08-03 22:22:15 +03:00
parent e7eb35b169
commit 88ad00b0bc
13 changed files with 253 additions and 11 deletions
@@ -0,0 +1,26 @@
package foo
fun testWithInstance() {
assertEquals("A", A().jsClass.name)
assertEquals("B", B().jsClass.name)
assertEquals("O", O.jsClass.name)
assertEquals("E", E.X.jsClass.name)
assertEquals("Y", E.Y.jsClass.name)
// TODO uncomment after KT-13338 is fixed
// assertEquals("E", E.Z.jsClass.name)
}
fun testWithClassReference() {
assertEquals("A", jsClass<A>().name)
assertEquals("B", jsClass<B>().name)
assertEquals("O", jsClass<O>().name)
assertEquals("I", jsClass<I>().name)
assertEquals("E", jsClass<E>().name)
}
fun box(): String {
testWithInstance()
testWithClassReference()
return "OK"
}