[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:
Mikhail Glukhikh
2020-07-22 10:29:59 +03:00
parent c744dfba9c
commit 0804c6a0f3
196 changed files with 774 additions and 484 deletions
@@ -1,3 +1,3 @@
class C : Base1 by <!UNRESOLVED_REFERENCE!>Base2<!>(1) {
class C : <!OTHER_ERROR, OTHER_ERROR!>Base1<!> by <!UNRESOLVED_REFERENCE!>Base2<!>(1) {
fun test() { }
}
@@ -1,9 +1,9 @@
package test
open class A {
open fun foo(a: E) {}
open fun foo(a: <!OTHER_ERROR!>E<!>) {}
}
class B : A() {
override fun foo(a: E) {}
override fun foo(a: <!OTHER_ERROR!>E<!>) {}
}