KT-715. T.javaClass & TypeInfo.javaClassForType

This commit is contained in:
Alex Tkachman
2012-01-04 10:17:40 +02:00
parent c85be68047
commit b2593b268e
4 changed files with 30 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
package std
import java.lang.Class
import java.lang.Object
val <T> T.javaClass : Class<T>
get() = jet.runtime.Intrinsics.getJavaClass(this) as Class<T>
val <T> TypeInfo<T>.javaClassForType : Class<T>
get() = (this as org.jetbrains.jet.rt.TypeInfoImpl<T>).getJavaClass().sure()
+5
View File
@@ -1,6 +1,7 @@
package jet.runtime;
import jet.Function0;
import jet.TypeInfo;
import java.util.ArrayList;
@@ -18,6 +19,10 @@ public class Intrinsics {
public static void throwNpe() {
throw new JetNullPointerException();
}
public static <T> Class<T> getJavaClass(T self) {
return (Class<T>) self.getClass();
}
public static int compare(long thisVal, long anotherVal) {
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));