KT-8408 Prohibit Array<T>::class for non-reified T

This commit is contained in:
Dmitry Petrov
2015-07-10 12:13:59 +03:00
committed by Alexander Udalov
parent a0cc313156
commit 9bf0211152
6 changed files with 67 additions and 1 deletions
@@ -0,0 +1,8 @@
import kotlin.reflect.KClass
fun f1<T>(): KClass<Array<T>> = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>Array<T>::class<!>
fun f2<T>(): KClass<Array<Array<T>>> = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>Array<Array<T>>::class<!>
inline fun f3<reified T>() = Array<T>::class
inline fun f4<reified T>() = Array<Array<T>>::class
fun f5(): KClass<Array<Any>> = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>Array<*>::class<!>
fun f6(): KClass<Array<Int?>> = Array<Int?>::class
@@ -0,0 +1,8 @@
package
internal fun </*0*/ T> f1(): kotlin.reflect.KClass<kotlin.Array<T>>
internal fun </*0*/ T> f2(): kotlin.reflect.KClass<kotlin.Array<kotlin.Array<T>>>
kotlin.inline() internal fun </*0*/ reified T> f3(): kotlin.reflect.KClass<kotlin.Array<T>>
kotlin.inline() internal fun </*0*/ reified T> f4(): kotlin.reflect.KClass<kotlin.Array<kotlin.Array<T>>>
internal fun f5(): kotlin.reflect.KClass<kotlin.Array<kotlin.Any>>
internal fun f6(): kotlin.reflect.KClass<kotlin.Array<kotlin.Int?>>