javaClass<T>() function

This commit is contained in:
Alex Tkachman
2012-02-03 09:46:40 +02:00
parent 36203e5e17
commit 948ccc5205
2 changed files with 14 additions and 1 deletions
+2 -1
View File
@@ -6,8 +6,9 @@ import java.lang.Object
val <erased T> T.javaClass : Class<T>
get() = jet.runtime.Intrinsics.getJavaClass(this) as Class<T>
fun <T> javaClass() : Class<T> = (typeinfo<T>() as org.jetbrains.jet.rt.TypeInfoImpl<T>).getJavaClass().sure()
val <erased T> TypeInfo<T>.javaClassForType : Class<T>
get() {
println(this)
return (this as org.jetbrains.jet.rt.TypeInfoImpl<T>).getJavaClass().sure()
}
+12
View File
@@ -0,0 +1,12 @@
package testjc
import stdhack.test.*
class C()
class JavaClassTest() : TestSupport() {
fun testMe () {
assertEquals("java.util.ArrayList", javaClass<java.util.ArrayList<Any>>().getName())
assertEquals("testjc.C", javaClass<C>().getName())
}
}