[FIR] Report errors about type arguments on resolved qualifiers

^KT-56186 Fixed
^KT-56187 Fixed
^KT-59553
This commit is contained in:
Dmitriy Novozhilov
2023-06-08 13:50:16 +03:00
committed by Space Team
parent 1b24b95cde
commit 6c7eb0167c
20 changed files with 730 additions and 27 deletions
@@ -0,0 +1,13 @@
// FIR_IDENTICAL
// WITH_STDLIB
// ISSUE: KT-56187
class Foo<T : Number> {
val value: String = "OK"
val genericValue: T = null!!
}
fun main() {
val a = Foo<<!UPPER_BOUND_VIOLATED!>String<!>>::value
val b = Foo<<!UPPER_BOUND_VIOLATED!>String<!>>::genericValue
}
@@ -0,0 +1,14 @@
// WITH_STDLIB
// ISSUE: KT-56186
class Foo<I, J : Number, K> {
val value: String = "OK"
val genericValue: Triple<I, J, K> = TODO()
}
fun test_1() {
val a = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<!>::value
val b = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<String><!>::value
val c = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<!>::genericValue
val d = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<String><!>::genericValue
}
@@ -0,0 +1,14 @@
// WITH_STDLIB
// ISSUE: KT-56186
class Foo<I, J : Number, K> {
val value: String = "OK"
val genericValue: Triple<I, J, K> = TODO()
}
fun test_1() {
val a = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<!>::value
val b = Foo<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><String><!>::<!OVERLOAD_RESOLUTION_AMBIGUITY!>value<!>
val c = <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Foo<!>::genericValue
val d = Foo<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><String><!>::<!OVERLOAD_RESOLUTION_AMBIGUITY!>genericValue<!>
}