Prohibit Array::class, require type arguments for reified parameters

This commit is contained in:
Alexander Udalov
2015-04-08 16:35:39 +03:00
parent a0d2b00287
commit 6182b3ff5c
17 changed files with 137 additions and 39 deletions
@@ -0,0 +1,5 @@
val a01 = <!ARRAY_CLASS_LITERAL_REQUIRES_ARGUMENT!>Array::class<!>
val a02 = Array<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Array<!>>::class
val a03 = Array<Any?>::class
val a04 = Array<Array<Any?>?>::class
val a05 = Array<IntArray?>::class
@@ -0,0 +1,7 @@
package
internal val a01: [ERROR : Unresolved class]
internal val a02: kotlin.reflect.KClass<kotlin.Array<[ERROR : Array]>>
internal val a03: kotlin.reflect.KClass<kotlin.Array<kotlin.Any?>>
internal val a04: kotlin.reflect.KClass<kotlin.Array<kotlin.Array<kotlin.Any?>?>>
internal val a05: kotlin.reflect.KClass<kotlin.Array<kotlin.IntArray?>>
@@ -12,3 +12,5 @@ fun foo<T : Any>() {
val t1 = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>T::class<!>
val t2 = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>T?::class<!>
}
val m = <!CLASS_LITERAL_LHS_NOT_A_CLASS!>Map<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><String><!>::class<!>
@@ -4,6 +4,7 @@ internal val a1: [ERROR : Unresolved class]
internal val a2: [ERROR : Unresolved class]
internal val l1: [ERROR : Unresolved class]
internal val l2: [ERROR : Unresolved class]
internal val m: [ERROR : Unresolved class]
internal fun </*0*/ T : kotlin.Any> foo(): kotlin.Unit
internal final class A {