[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,7 +1,7 @@
FILE: LinkedList.kt
public final class LinkedList<T> : R|ERROR CLASS: Symbol not found, for `java.util.LinkedList<R|T|>`| {
public final class LinkedList<T> : R|java/util/LinkedList<T>| {
public constructor<T>(): R|foo/LinkedList<T>| {
super<R|ERROR CLASS: Symbol not found, for `java.util.LinkedList<R|T|>`|>()
super<R|java/util/LinkedList<T>|>()
}
}
@@ -13,9 +13,9 @@ FILE: HashSet.kt
}
FILE: main.kt
public final class LinkedHashMap<K, V> : R|ERROR CLASS: Symbol not found, for `java.util.LinkedHashMap<R|K|, R|V|>`| {
public final class LinkedHashMap<K, V> : R|java/util/LinkedHashMap<K, V>| {
public constructor<K, V>(): R|foo/LinkedHashMap<K, V>| {
super<R|ERROR CLASS: Symbol not found, for `java.util.LinkedHashMap<R|K|, R|V|>`|>()
super<R|java/util/LinkedHashMap<K, V>|>()
}
}