[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 X : S
class X : <!OTHER_ERROR!>S<!>
fun f(l: List<X>) {}
+1 -1
View File
@@ -1,6 +1,6 @@
//KT-304: Resolve supertype reference to class anyway
open class Foo() : Bar() {
open class Foo() : <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Bar<!>() {
}
open class Bar<T>() {
@@ -1,7 +1,7 @@
interface A1 : B
interface A1 : <!OTHER_ERROR!>B<!>
interface A2 : B()
interface A2 : <!OTHER_ERROR!>B<!>()
class A3 : B, B
class A3 : <!OTHER_ERROR!>B<!>, <!OTHER_ERROR!>B<!>
enum class A4 : B
enum class A4 : <!OTHER_ERROR!>B<!>