FIR: add implementation of reified type parameter references

This adds support of T::class.java for reified type parameters
This commit is contained in:
Mikhail Glukhikh
2019-12-16 17:34:12 +03:00
parent cccb95465e
commit 684bdc44bb
22 changed files with 184 additions and 64 deletions
@@ -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 {}
@@ -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