[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:
+2
-2
@@ -1,6 +1,6 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
class A<T : Nested, F: Inner, G: Interface> {
|
||||
class A<T : <!OTHER_ERROR!>Nested<!>, F: <!OTHER_ERROR!>Inner<!>, G: <!OTHER_ERROR!>Interface<!>> {
|
||||
|
||||
class Nested
|
||||
|
||||
@@ -9,7 +9,7 @@ class A<T : Nested, F: Inner, G: Interface> {
|
||||
interface Interface
|
||||
}
|
||||
|
||||
class B<T, F, G> where T : Nested, F: Inner, G: Interface {
|
||||
class B<T, F, G> where T : <!OTHER_ERROR!>Nested<!>, F: <!OTHER_ERROR!>Inner<!>, G: <!OTHER_ERROR!>Interface<!> {
|
||||
|
||||
class Nested
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
interface I<F, G, H>
|
||||
|
||||
class A(impl: Interface) : Nested(), Interface by impl, Inner, I<Nested, Interface, Inner> {
|
||||
class A(impl: Interface) : <!OTHER_ERROR!>Nested<!>(), <!OTHER_ERROR!>Interface<!> by impl, <!OTHER_ERROR!>Inner<!>, <!OTHER_ERROR!>I<Nested, Interface, Inner><!> {
|
||||
|
||||
class Nested
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ interface I<F, G>
|
||||
val aImpl: A.Interface
|
||||
get() = null!!
|
||||
|
||||
object A : Nested(), Interface by aImpl, I<Nested, Interface> {
|
||||
object A : <!OTHER_ERROR!>Nested<!>(), <!OTHER_ERROR!>Interface<!> by aImpl, <!OTHER_ERROR!>I<Nested, Interface><!> {
|
||||
|
||||
class Nested
|
||||
|
||||
|
||||
Reference in New Issue
Block a user