[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
This commit introduces several different things, in particular: - check type arguments in expressions - new TypeArgumentList node to deal with diagnostic source - ConeDiagnostic was moved to fir:cones - ConeIntermediateDiagnostic to use in inference (?) without reporting - detailed diagnostics on error type
This commit is contained in:
Vendored
+1
-1
@@ -27,7 +27,7 @@ class Test {
|
||||
fun <T> List<T>.testClassLiteral3() = b<T, Any>::class
|
||||
|
||||
fun <T> List<T>.testUnresolved1() = <!UNRESOLVED_REFERENCE!>unresolved<!><T>::foo
|
||||
fun <T> List<T>.testUnresolved2() = a<unresolved>::foo
|
||||
fun <T> List<T>.testUnresolved2() = a<<!OTHER_ERROR, UPPER_BOUND_VIOLATED!>unresolved<!>>::foo
|
||||
fun <T> List<T>.testUnresolved3() = a<<!SYNTAX!><!>>::foo
|
||||
fun <T> List<T>.testUnresolved4() = <!UNRESOLVED_REFERENCE!>unresolved<!>?::foo
|
||||
}
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
// MODULE: m1
|
||||
// FILE: bar.kt
|
||||
|
||||
fun <T> bar(ff: Err.() -> Unit) {
|
||||
fun <T> bar(ff: <!OTHER_ERROR!>Err<!>.() -> Unit) {
|
||||
}
|
||||
|
||||
// MODULE: m2(m1)
|
||||
|
||||
Vendored
+2
-2
@@ -2,10 +2,10 @@
|
||||
|
||||
class DTO {
|
||||
val q: Int = 0
|
||||
operator fun get(prop: KProperty1<*, Int>): Int = 0
|
||||
operator fun get(prop: <!OTHER_ERROR!>KProperty1<*, Int><!>): Int = 0
|
||||
}
|
||||
|
||||
fun foo(intDTO: DTO?, p: KProperty1<*, Int>) {
|
||||
fun foo(intDTO: DTO?, p: <!OTHER_ERROR!>KProperty1<*, Int><!>) {
|
||||
if (intDTO != null) {
|
||||
intDTO[DTO::q]
|
||||
intDTO.q
|
||||
|
||||
Reference in New Issue
Block a user