[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:
+4
-4
@@ -9,19 +9,19 @@ interface B {
|
||||
}
|
||||
|
||||
class X: A {
|
||||
val a: A_ = <!UNRESOLVED_REFERENCE!>A_<!>()
|
||||
val a: <!OTHER_ERROR, OTHER_ERROR!>A_<!> = <!UNRESOLVED_REFERENCE!>A_<!>()
|
||||
val b: A.A_ = A.A_()
|
||||
|
||||
companion object {
|
||||
val a: A_ = <!UNRESOLVED_REFERENCE!>A_<!>()
|
||||
val a: <!OTHER_ERROR, OTHER_ERROR!>A_<!> = <!UNRESOLVED_REFERENCE!>A_<!>()
|
||||
}
|
||||
}
|
||||
|
||||
class Y: B {
|
||||
val a: B_ = <!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
val a: <!OTHER_ERROR, OTHER_ERROR!>B_<!> = <!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
val b: B.B_ = B.B_()
|
||||
|
||||
companion object {
|
||||
val b: B_ = <!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
val b: <!OTHER_ERROR, OTHER_ERROR!>B_<!> = <!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -7,14 +7,14 @@ open class A {
|
||||
}
|
||||
|
||||
class C: A() {
|
||||
val b: B = null!!
|
||||
val b: <!OTHER_ERROR, OTHER_ERROR!>B<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
}
|
||||
|
||||
object O {
|
||||
val b: B = null!!
|
||||
val b: <!OTHER_ERROR, OTHER_ERROR!>B<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
@@ -22,7 +22,7 @@ class C: A() {
|
||||
}
|
||||
|
||||
class K {
|
||||
val b: B = null!!
|
||||
val b: <!OTHER_ERROR, OTHER_ERROR!>B<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
@@ -30,7 +30,7 @@ class C: A() {
|
||||
}
|
||||
|
||||
inner class I {
|
||||
val b: B = null!!
|
||||
val b: <!OTHER_ERROR, OTHER_ERROR!>B<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>B<!>()
|
||||
|
||||
+4
-4
@@ -23,7 +23,7 @@ public class C extends B implements A {
|
||||
// FILE: 1.kt
|
||||
|
||||
class X: A {
|
||||
val a_s: A_S = null!!
|
||||
val a_s: <!OTHER_ERROR, OTHER_ERROR!>A_S<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
@@ -32,7 +32,7 @@ class X: A {
|
||||
}
|
||||
|
||||
object xD {
|
||||
val a_: A_S = null!!
|
||||
val a_: <!OTHER_ERROR, OTHER_ERROR!>A_S<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
@@ -66,7 +66,7 @@ class Y: B() {
|
||||
}
|
||||
|
||||
class Z: C() {
|
||||
val a_s: A_S = null!!
|
||||
val a_s: <!OTHER_ERROR, OTHER_ERROR!>A_S<!> = null!!
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
@@ -77,7 +77,7 @@ class Z: C() {
|
||||
}
|
||||
|
||||
object X {
|
||||
val a_s: A_S = null!!
|
||||
val a_s: <!OTHER_ERROR, OTHER_ERROR!>A_S<!> = null!!
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@ open class A<T> : J() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,14 +39,14 @@ open class A<T> : J() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
|
||||
fun test() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
|
||||
fun bar() {}
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@ open class A<T> : J() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,14 +39,14 @@ open class A<T> : J() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
|
||||
fun test() {
|
||||
foo()
|
||||
bar()
|
||||
val a: Int = baz()
|
||||
val b: T = baz()
|
||||
val b: <!OTHER_ERROR!>T<!> = baz()
|
||||
}
|
||||
|
||||
fun bar() {}
|
||||
|
||||
Reference in New Issue
Block a user