[FIR] Fix creating DefinitelyNotNullTypes

Also fix substitutions to them
This commit is contained in:
Dmitriy Novozhilov
2020-01-27 16:59:08 +03:00
parent 4303cd2fc7
commit 57a1342aac
28 changed files with 117 additions and 94 deletions
@@ -7,10 +7,10 @@ fun <E : CharSequence> foo1(x: E) {}
fun <E : CharSequence> E.foo2() {}
fun <F : String?> bar(x: F) {
<!INAPPLICABLE_CANDIDATE!>A<!>(x)
A(x)
<!INAPPLICABLE_CANDIDATE!>A<!><F>(x)
<!INAPPLICABLE_CANDIDATE!>foo1<!>(x)
foo1(x)
<!INAPPLICABLE_CANDIDATE!>foo1<!><F>(x)
x.<!INAPPLICABLE_CANDIDATE!>foo2<!>()
@@ -45,7 +45,7 @@ fun <T : CharSequence?> foo(x: T) {
bar2(x)
<!INAPPLICABLE_CANDIDATE!>bar3<!>(x)
<!INAPPLICABLE_CANDIDATE!>bar1<!>(y)
bar1(y)
bar2(y)
<!INAPPLICABLE_CANDIDATE!>bar3<!>(y)
}
@@ -38,7 +38,7 @@ class A<F> {
x4.checkType { _<Z>() }
<!INAPPLICABLE_CANDIDATE!>foo1<!><W>(w)
<!INAPPLICABLE_CANDIDATE!>foo1<!>(w)
foo1(w)
foo2<W>(w)
val x6 = foo2(w)
@@ -13,6 +13,6 @@ fun <T : String?> foo(x: T) {
bar1(x)
bar2(x)
<!INAPPLICABLE_CANDIDATE!>bar3<!>(x)
bar3(x)
bar4(x)
}
@@ -1,5 +1,5 @@
fun <S : Any> foo(x: Array<out S?>, y: Array<in S?>) {
val xo = <!INAPPLICABLE_CANDIDATE!>outA<!>(x)
val xo = outA(x)
val yo = inA(y)
var f: Array<S> = xo
@@ -16,5 +16,5 @@ fun <T : Any> test() {
value = JClass.getNotNullT()
}
value.<!INAPPLICABLE_CANDIDATE!>hashCode<!>() // unsafe call error
value.hashCode() // unsafe call error
}
@@ -36,6 +36,6 @@ fun test() {
B1().bar(null)
B2().bar(null)
C1().<!AMBIGUITY!>bar<!>(null)
C1().bar(null)
}