[FIR] Add UNCHECKED_CAST

Regenerate diagnostics code
This commit is contained in:
Ivan Kochurkin
2021-09-16 23:24:58 +03:00
committed by TeamCityServer
parent 1fbccff1bd
commit d0a4ca199d
70 changed files with 118 additions and 933 deletions
@@ -11,7 +11,7 @@ class B<T> {
fun <Y> foo(c: A<Y>): Y = TODO()
fun <E> main(a: A<E>) {
a as A<B<*>>
a <!UNCHECKED_CAST!>as A<B<*>><!>
foo(a).b()
}
@@ -21,7 +21,7 @@ class AOut<out X>
fun <Y> foo(c: AOut<Y>): Y = TODO()
fun <E> mainOut(a: AOut<E>) {
a as AOut<B<*>>
a <!UNCHECKED_CAST!>as AOut<B<*>><!>
foo(a).b()
}
@@ -1,14 +0,0 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
class Inv<T>
fun <T> materializeInv() = Inv<T>()
fun <X> foo(x: Inv<X>, y: X) = materializeInv<X>()
fun <X> foo(x: Inv<X>, y: () -> X) = materializeInv<X>()
fun <R> main(fn: () -> R) {
fun bar(): R = null as R
val x1 = foo<R>(materializeInv()) { fn() } // OVERLOAD_RESOLUTION_AMBIGUITY only in NI
val x2 = foo<R>(materializeInv(), fn) // OK
val x3 = foo<R>(materializeInv(), ::bar) // OK
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE