FIR: add implementation of reified type parameter references
This adds support of T::class.java for reified type parameters
This commit is contained in:
+2
-2
@@ -36,10 +36,10 @@ fun test8() {}
|
||||
|
||||
inline val <reified T> T.test9
|
||||
get() = @AnnArray(arrayOf(
|
||||
<!OTHER_ERROR!>T<!>::class,
|
||||
T::class,
|
||||
Array<T>::class,
|
||||
Array<Array<Array<T>>>::class
|
||||
)) object {}
|
||||
|
||||
inline val <reified T> T.test10
|
||||
get() = @AnnArray([<!OTHER_ERROR!>T<!>::class]) object {}
|
||||
get() = @AnnArray([T::class]) object {}
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ annotation class Ann(vararg val k: KClass<*>)
|
||||
|
||||
inline val <reified T> T.test
|
||||
get() = @Ann(
|
||||
<!OTHER_ERROR!>T<!>::class,
|
||||
T::class,
|
||||
Array<T>::class,
|
||||
Array<Array<Array<T>>>::class
|
||||
) object {}
|
||||
|
||||
@@ -14,7 +14,7 @@ fun <T : Any> foo() {
|
||||
}
|
||||
|
||||
inline fun <reified T : Any> bar() {
|
||||
val t3 = <!OTHER_ERROR!>T<!>?::class
|
||||
val t3 = T?::class
|
||||
}
|
||||
|
||||
val m = Map<String>::class
|
||||
|
||||
@@ -17,11 +17,11 @@ public class A {
|
||||
// types checked by txt file
|
||||
|
||||
// FILE: 1.kt
|
||||
inline fun <reified X> test1() = <!OTHER_ERROR!>X<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified X : Any> test2() = <!OTHER_ERROR!>X<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified X : Any?> test3() = <!OTHER_ERROR!>X<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified X : Number> test4() = <!OTHER_ERROR!>X<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified X : Number?> test5() = <!OTHER_ERROR!>X<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified X> test1() = X::class.java
|
||||
inline fun <reified X : Any> test2() = X::class.java
|
||||
inline fun <reified X : Any?> test3() = X::class.java
|
||||
inline fun <reified X : Number> test4() = X::class.java
|
||||
inline fun <reified X : Number?> test5() = X::class.java
|
||||
|
||||
fun test6() = A.getA()::class.java
|
||||
fun test7() = A.getKClass().java
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
inline fun<reified T> foo(block: () -> T): String = block().toString()
|
||||
|
||||
inline fun <reified T: Any> javaClass(): Class<T> = <!OTHER_ERROR!>T<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
inline fun <reified T: Any> javaClass(): Class<T> = T::class.java
|
||||
|
||||
fun box() {
|
||||
val a = arrayOf(null!!)
|
||||
|
||||
Reference in New Issue
Block a user