FIR checker: report KClass with incorrect type argument
This commit is contained in:
committed by
Mikhail Glukhikh
parent
bc2228d434
commit
7fff4108b6
+10
-3
@@ -1,10 +1,10 @@
|
||||
// !DIAGNOSTICS: -TYPE_PARAMETER_AS_REIFIED -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
fun <T> test1() = T::class
|
||||
fun <T> <!KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE!>test1<!>() = T::class
|
||||
fun <T : Any> test2() = T::class
|
||||
|
||||
val <T> test3 = T::class
|
||||
val <T> test4 get() = T::class
|
||||
val <T> <!KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE!>test3<!> = T::class
|
||||
val <T> <!KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE!>test4<!> get() = T::class
|
||||
|
||||
fun <T> test5() = listOf(T::class)
|
||||
|
||||
@@ -12,6 +12,8 @@ fun <T> test6(): kotlin.reflect.KClass<T> = T::class
|
||||
fun <T> test7(): kotlin.reflect.KClass<*> = T::class
|
||||
fun test8() = <!NULLABLE_TYPE_IN_CLASS_LITERAL_LHS!>String?::class<!>
|
||||
|
||||
fun <T> test9() where T : Any?, T : Comparable<T> = T::class
|
||||
|
||||
fun <T> listOf(e: T): List<T> = null!!
|
||||
|
||||
fun <L> locals() {
|
||||
@@ -21,3 +23,8 @@ fun <L> locals() {
|
||||
val test3 = L::class
|
||||
fun test4() = L::class
|
||||
}
|
||||
|
||||
class Foo<T> {
|
||||
val p = T::class
|
||||
fun f() = T::class
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ fun <T> test6(): kotlin.reflect.KClass<<!UPPER_BOUND_VIOLATED!>T<!>> = T::class
|
||||
fun <T> test7(): kotlin.reflect.KClass<*> = T::class
|
||||
fun test8() = <!NULLABLE_TYPE_IN_CLASS_LITERAL_LHS!>String?::class<!>
|
||||
|
||||
fun <T> test9() where T : Any?, T : Comparable<T> = T::class
|
||||
|
||||
fun <T> listOf(e: T): List<T> = null!!
|
||||
|
||||
fun <L> locals() {
|
||||
@@ -21,3 +23,8 @@ fun <L> locals() {
|
||||
val test3 = L::class
|
||||
fun test4() = L::class
|
||||
}
|
||||
|
||||
class Foo<T> {
|
||||
val p = T::class
|
||||
fun f() = T::class
|
||||
}
|
||||
|
||||
@@ -10,3 +10,14 @@ public fun </*0*/ T> test5(): kotlin.collections.List<kotlin.reflect.KClass<T>>
|
||||
public fun </*0*/ T> test6(): kotlin.reflect.KClass<T>
|
||||
public fun </*0*/ T> test7(): kotlin.reflect.KClass<*>
|
||||
public fun test8(): kotlin.reflect.KClass<kotlin.String?>
|
||||
public fun </*0*/ T> test9(): kotlin.reflect.KClass<T> where T : kotlin.Comparable<T>
|
||||
|
||||
public final class Foo</*0*/ T> {
|
||||
public constructor Foo</*0*/ T>()
|
||||
public final val p: kotlin.reflect.KClass<T>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun f(): kotlin.reflect.KClass<T>
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user