Remove OI/NI attributes from test data

This commit is contained in:
Denis.Zharkov
2021-05-24 12:42:39 +03:00
committed by teamcityserver
parent 2ecba6ac39
commit ddbdfafa79
441 changed files with 1005 additions and 1037 deletions
@@ -36,13 +36,13 @@ fun testInOut() {
Inv<Int>().f(1)
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<in Int>).f(1)
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<out Int>).<!MEMBER_PROJECTED_OUT{OI}!>f<!>(<!CONSTANT_EXPECTED_TYPE_MISMATCH{NI}!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<*>).<!MEMBER_PROJECTED_OUT{OI}!>f<!>(<!CONSTANT_EXPECTED_TYPE_MISMATCH{NI}!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<out Int>).f(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<*>).f(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>) // !!
Inv<Int>().inf(1)
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<in Int>).inf(1)
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<out Int>).<!MEMBER_PROJECTED_OUT{OI}!>inf<!>(<!CONSTANT_EXPECTED_TYPE_MISMATCH{NI}!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<*>).<!MEMBER_PROJECTED_OUT{OI}!>inf<!>(<!CONSTANT_EXPECTED_TYPE_MISMATCH{NI}!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<out Int>).inf(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>) // !!
(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<*>).inf(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>) // !!
Inv<Int>().outf()
checkSubtype<Int>(<!TYPE_MISMATCH!>(null <!CAST_NEVER_SUCCEEDS!>as<!> Inv<in Int>).outf()<!>) // Type mismatch
@@ -46,7 +46,7 @@ class Outer<T> {
x().bar() checkType { _<A<T, F, String, Double, Short, Char>>() }
x = <!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>foobar<Int>()<!>
x = <!TYPE_MISMATCH!>z.<!TYPE_MISMATCH{NI}!>foobar<String>()<!><!>
x = <!TYPE_MISMATCH!>z.<!TYPE_MISMATCH!>foobar<String>()<!><!>
var y = noParameters()
y = noParameters()
@@ -31,7 +31,7 @@ fun main() {
checkSubtype<Outer<*>.Inner<*>>(outer.Inner<Int>())
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH!>outer.bar()<!>)
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH{NI}!>outer.<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH{OI}!>Inner()<!><!>)
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH!>outer.Inner()<!>)
outer.set(outer.bar())
outer.set(outer.Inner())
@@ -14,7 +14,7 @@ class Outer<E> {
if (y is <!NO_TYPE_ARGUMENTS_ON_RHS!>Inner<!>) return
if (z is Inner) {
<!DEBUG_INFO_SMARTCAST{OI}!>z<!>.prop.checkType { _<Any?>() }
z.prop.checkType { _<Any?>() }
return
}
@@ -32,5 +32,5 @@ fun foo() {
val csIt: Iterator<CharSequence> = A<String>().iterator()
commonSupertype(A<String>().iterator(), A<Int>().iterator()).checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER{NI}!>_<!><A<out Any>.MyIt>() }
commonSupertype(A<String>().iterator(), A<Int>().iterator()).checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><A<out Any>.MyIt>() }
}
@@ -5,7 +5,7 @@ class Outer<T> {
inner class Inner
fun foo(x: Outer<String>.Inner, y: <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Outer<!>.Inner, z: Inner) {
var inner = Inner()
x.checkType { <!TYPE_MISMATCH{OI}, UNRESOLVED_REFERENCE_WRONG_RECEIVER{NI}!>_<!><Inner>() }
x.checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>_<!><Inner>() }
x.checkType { _<Outer<String>.Inner>() }
z.checkType { _<Inner>() }
z.checkType { _<Outer<T>.Inner>() }
@@ -28,9 +28,9 @@ fun main() {
checkSubtype<Outer<out CharSequence>.Inner>(outer.bar())
checkSubtype<Outer<out CharSequence>.Inner>(outer.Inner())
outer.<!MEMBER_PROJECTED_OUT{OI}!>set<!>(<!TYPE_MISMATCH{NI}!>outer.bar()<!>)
outer.<!MEMBER_PROJECTED_OUT{OI}!>set<!>(<!TYPE_MISMATCH{NI}!>outer.Inner()<!>)
outer.set(<!TYPE_MISMATCH!>outer.bar()<!>)
outer.set(<!TYPE_MISMATCH!>outer.Inner()<!>)
val x: Outer<String>.Inner = factoryString()
outer.<!MEMBER_PROJECTED_OUT{OI}!>set<!>(<!TYPE_MISMATCH{NI}!>x<!>)
outer.set(<!TYPE_MISMATCH!>x<!>)
}
+1 -1
View File
@@ -5,4 +5,4 @@ interface A
fun <T: A, R: T> emptyStrangeMap(): Map<T, R> = TODO()
fun test7() : Map<A, A> = emptyStrangeMap()
fun test() = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>emptyStrangeMap<!>()
fun test() = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>emptyStrangeMap<!>()
+2 -2
View File
@@ -13,6 +13,6 @@ fun <T : ILength> bar(a: (Int) -> T) {
}
fun test() {
foo<String> <!TYPE_MISMATCH{NI}!>{ <!TYPE_MISMATCH{OI}!><!>}<!>
bar<Impl> <!TYPE_MISMATCH{NI}, TYPE_MISMATCH{NI}!>{ <!TYPE_MISMATCH{OI}!><!>}<!>
foo<String> <!TYPE_MISMATCH!>{ }<!>
bar<Impl> <!TYPE_MISMATCH, TYPE_MISMATCH!>{ }<!>
}
@@ -6,13 +6,12 @@ fun <E : CharSequence> foo1(x: E) {}
fun <E : CharSequence> E.foo2() {}
fun <F : String?> bar(x: F) {
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>A<!>(<!TYPE_MISMATCH{NI}!>x<!>)
A(<!TYPE_MISMATCH!>x<!>)
A<<!UPPER_BOUND_VIOLATED!>F<!>>(x)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo1<!>(<!TYPE_MISMATCH{NI}!>x<!>)
foo1(<!TYPE_MISMATCH!>x<!>)
foo1<<!UPPER_BOUND_VIOLATED!>F<!>>(x)
x<!UNSAFE_CALL{NI}!>.<!><!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo2<!>()
x<!UNSAFE_CALL!>.<!>foo2()
x.foo2<<!UPPER_BOUND_VIOLATED!>F<!>>()
}
@@ -14,9 +14,9 @@ fun <T : CharSequence?> foo(x: T) {
<!DEBUG_INFO_SMARTCAST!>x<!>.length
x<!UNNECESSARY_SAFE_CALL!>?.<!>length
<!DEBUG_INFO_SMARTCAST{NI}!>x<!>.bar1()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar1()
x.bar2()
<!DEBUG_INFO_SMARTCAST{NI}!>x<!>.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar3<!>()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar3()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar4()
@@ -29,7 +29,7 @@ fun <T : CharSequence?> foo(x: T) {
<!DEBUG_INFO_SMARTCAST!>x<!>.length
x<!UNNECESSARY_SAFE_CALL!>?.<!>length
<!DEBUG_INFO_SMARTCAST{NI}!>x<!>.bar1()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar1()
x.bar2()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar3()
}
@@ -38,7 +38,7 @@ fun <T : CharSequence?> foo(x: T) {
<!DEBUG_INFO_SMARTCAST!>x<!>.length
x<!UNNECESSARY_SAFE_CALL!>?.<!>length
<!DEBUG_INFO_SMARTCAST{NI}!>x<!>.bar1()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar1()
x.bar2()
<!DEBUG_INFO_SMARTCAST!>x<!>.bar3()
}
@@ -10,13 +10,13 @@ fun <T : String?> T.foo() {
if (this != null) {
if (<!SENSELESS_COMPARISON!>this != null<!>) {}
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}!>length<!>
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>length<!>
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}!>bar1<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar1<!>()
bar2()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}, TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar3<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}!>bar4<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar3<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar4<!>()
this<!UNNECESSARY_SAFE_CALL!>?.<!>bar1()
@@ -28,8 +28,8 @@ fun <T : String?> T.foo() {
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>length<!>
this<!UNNECESSARY_SAFE_CALL!>?.<!>length
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}!>bar1<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar1<!>()
bar2()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST{NI}, TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar3<!>()
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bar3<!>()
}
}
@@ -13,7 +13,7 @@ fun <T : CharSequence?> foo(x: T) {
y1 = <!DEBUG_INFO_SMARTCAST!>x<!>
y2 = <!TYPE_MISMATCH!>x<!>
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar1<!>(<!DEBUG_INFO_SMARTCAST{NI}!>x<!>)
bar1(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar1<CharSequence>(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar2(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar3(<!TYPE_MISMATCH!>x<!>)
@@ -39,13 +39,13 @@ fun <T : CharSequence?> foo(x: T) {
if (1 == 1) {
val y = x!!
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar1<!>(<!DEBUG_INFO_SMARTCAST{NI}!>x<!>)
bar1(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar1<CharSequence>(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar2(<!DEBUG_INFO_SMARTCAST!>x<!>)
bar3(<!TYPE_MISMATCH!>x<!>)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar1<!>(y)
bar2(<!DEBUG_INFO_SMARTCAST{OI}!>y<!>)
bar1(y)
bar2(y)
bar3(<!TYPE_MISMATCH!>y<!>)
}
}
@@ -17,7 +17,7 @@ class A<F> {
x2.checkType { _<F>() }
foo1<<!UPPER_BOUND_VIOLATED!>F?<!>>(y)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo1<!>(<!TYPE_MISMATCH{NI}!>y<!>)
foo1(<!TYPE_MISMATCH!>y<!>)
foo2<F?>(y)
val x3 = foo2(y)
@@ -37,7 +37,7 @@ class A<F> {
x4.checkType { _<Z>() }
foo1<<!UPPER_BOUND_VIOLATED!>W<!>>(w)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo1<!>(<!TYPE_MISMATCH{NI}!>w<!>)
foo1(<!TYPE_MISMATCH!>w<!>)
foo2<W>(w)
val x6 = foo2(w)
@@ -19,7 +19,7 @@ class A<F> {
fooInv1<Inv<F>>(Inv<F>())
fooInv2<<!UPPER_BOUND_VIOLATED!>Inv<F><!>>(Inv<F>())
fooInv1(Inv<F>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooInv2<!>(<!TYPE_MISMATCH{NI}!>Inv<F>()<!>)
fooInv2(<!TYPE_MISMATCH!>Inv<F>()<!>)
fooIn1<In<F?>>(In<F?>())
fooIn2<In<F?>>(In<F?>())
@@ -34,13 +34,13 @@ class A<F> {
// Z
fooInv1<<!UPPER_BOUND_VIOLATED!>Inv<Z><!>>(Inv<Z>())
fooInv2<<!UPPER_BOUND_VIOLATED!>Inv<Z><!>>(Inv<Z>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooInv1<!>(<!TYPE_MISMATCH{NI}!>Inv<Z>()<!>)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooInv2<!>(<!TYPE_MISMATCH{NI}!>Inv<Z>()<!>)
fooInv1(<!TYPE_MISMATCH!>Inv<Z>()<!>)
fooInv2(<!TYPE_MISMATCH!>Inv<Z>()<!>)
fooIn1<<!UPPER_BOUND_VIOLATED!>In<Z?><!>>(In<Z?>())
fooIn2<<!UPPER_BOUND_VIOLATED!>In<Z?><!>>(In<Z?>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooIn1<!>(<!TYPE_MISMATCH{NI}!>In<Z?>()<!>)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooIn2<!>(<!TYPE_MISMATCH{NI}!>In<Z?>()<!>)
fooIn1(<!TYPE_MISMATCH!>In<Z?>()<!>)
fooIn2(<!TYPE_MISMATCH!>In<Z?>()<!>)
fooOut1<Out<Z>>(Out<Z>())
fooOut2<Out<Z>>(Out<Z>())
@@ -50,17 +50,17 @@ class A<F> {
// W
fooInv1<<!UPPER_BOUND_VIOLATED!>Inv<W><!>>(Inv<W>())
fooInv2<<!UPPER_BOUND_VIOLATED!>Inv<W><!>>(Inv<W>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooInv1<!>(<!TYPE_MISMATCH{NI}!>Inv<W>()<!>)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooInv2<!>(<!TYPE_MISMATCH{NI}!>Inv<W>()<!>)
fooInv1(<!TYPE_MISMATCH!>Inv<W>()<!>)
fooInv2(<!TYPE_MISMATCH!>Inv<W>()<!>)
fooIn1<<!UPPER_BOUND_VIOLATED!>In<W?><!>>(In<W?>())
fooIn2<<!UPPER_BOUND_VIOLATED!>In<W?><!>>(In<W?>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooIn1<!>(<!TYPE_MISMATCH{NI}!>In<W?>()<!>)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooIn2<!>(<!TYPE_MISMATCH{NI}!>In<W?>()<!>)
fooIn1(<!TYPE_MISMATCH!>In<W?>()<!>)
fooIn2(<!TYPE_MISMATCH!>In<W?>()<!>)
fooOut1<<!UPPER_BOUND_VIOLATED!>Out<W><!>>(Out<W>())
fooOut2<Out<W>>(Out<W>())
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>fooOut1<!>(<!TYPE_MISMATCH{NI}!>Out<W>()<!>)
fooOut1(<!TYPE_MISMATCH!>Out<W>()<!>)
fooOut2(Out<W>())
}
}
@@ -20,7 +20,7 @@ fun <T : String?> foo(x: T) {
x?.bar1()
x?.bar2()
x<!UNSAFE_CALL{NI}!>.<!><!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar3<!>()
x<!UNSAFE_CALL!>.<!>bar3()
x?.let { it<!UNSAFE_CALL{OI}!>.<!>length }
x?.let { it.length }
}
@@ -12,6 +12,6 @@ fun <T : String?> foo(x: T) {
bar1(x)
bar2(x)
<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>bar3<!>(<!TYPE_MISMATCH{NI}!>x<!>)
bar3(<!TYPE_MISMATCH!>x<!>)
bar4(<!TYPE_MISMATCH!>x<!>)
}
@@ -14,18 +14,18 @@ fun <T> mc(): MC<T> = null!!
fun <T> c(): C<T> = null!!
fun foo(x: MC<out Open>) {
x.addAll(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>x<!>)
x.addAllMC(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>x<!>)
x.addAll(<!TYPE_MISMATCH!>x<!>)
x.addAllMC(<!TYPE_MISMATCH!>x<!>)
x.addAll(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>mc<Open>()<!>)
x.addAllMC(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>mc<Open>()<!>)
x.addAll(<!TYPE_MISMATCH!>mc<Open>()<!>)
x.addAllMC(<!TYPE_MISMATCH!>mc<Open>()<!>)
x.addAll(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>mc<Derived>()<!>)
x.addAllMC(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>mc<Derived>()<!>)
x.addAll(<!TYPE_MISMATCH!>mc<Derived>()<!>)
x.addAllMC(<!TYPE_MISMATCH!>mc<Derived>()<!>)
x.addAll(c())
x.addAll(c<Nothing>())
x.<!MEMBER_PROJECTED_OUT{OI}!>addAllInv<!>(<!TYPE_MISMATCH{NI}!>mc<Open>()<!>)
x.addAllInv(<!TYPE_MISMATCH!>mc<Open>()<!>)
x.addAll(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
}
@@ -8,10 +8,10 @@ fun test(x: A<out CharSequence>, y: Out<CharSequence>) {
with(x) {
// TODO: this diagnostic could be replaced with TYPE_MISMATCH_DUE_TO_TYPE_PROJECTION
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
<!TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER{NI}!>bar<!>()
y.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!>()
with(y) {
<!TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}, UNRESOLVED_REFERENCE_WRONG_RECEIVER{NI}!>bar<!>()
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>bar<!>()
}
}
}
@@ -4,5 +4,5 @@ interface B<E> {
}
fun foo(x: B<in CharSequence>, y: A<CharSequence>) {
x.foo(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>)
x.foo(<!TYPE_MISMATCH!>y<!>)
}
@@ -5,5 +5,5 @@ class A<T> {
}
fun test(a: A<out CharSequence>) {
a.<!MEMBER_PROJECTED_OUT{OI}!>foo<!>(<!TYPE_MISMATCH{NI}!>""<!>, <!TYPE_MISMATCH{NI}!>""<!>)
a.foo(<!TYPE_MISMATCH!>""<!>, <!TYPE_MISMATCH!>""<!>)
}
@@ -7,7 +7,7 @@ class A<T> {
}
fun test(a: A<out CharSequence>) {
a <!MEMBER_PROJECTED_OUT{OI}!>+<!> <!TYPE_MISMATCH{NI}!>""<!>
<!MEMBER_PROJECTED_OUT{OI}!>a[1]<!> = <!TYPE_MISMATCH{NI}!>""<!>
<!MEMBER_PROJECTED_OUT{OI}!>a[<!TYPE_MISMATCH{NI}!>""<!>]<!>
a + <!TYPE_MISMATCH!>""<!>
a[1] = <!TYPE_MISMATCH!>""<!>
a[<!TYPE_MISMATCH!>""<!>]
}
@@ -5,18 +5,18 @@ class C<R> {
}
fun foo(x: Any?, y: C<*>) {
y.<!MEMBER_PROJECTED_OUT{OI}!>bindTo<!>(<!TYPE_MISMATCH{NI}!>""<!>)
y.bindTo(<!TYPE_MISMATCH!>""<!>)
if (x is C<*>) {
<!DEBUG_INFO_SMARTCAST!>x<!>.<!MEMBER_PROJECTED_OUT{OI}!>bindTo<!>(<!TYPE_MISMATCH{NI}!>""<!>)
<!DEBUG_INFO_SMARTCAST!>x<!>.bindTo(<!TYPE_MISMATCH!>""<!>)
with(<!DEBUG_INFO_SMARTCAST!>x<!>) {
<!MEMBER_PROJECTED_OUT{OI}!>bindTo<!>(<!TYPE_MISMATCH{NI}!>""<!>)
bindTo(<!TYPE_MISMATCH!>""<!>)
}
}
with(x) {
if (this is C<*>) {
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST, MEMBER_PROJECTED_OUT{OI}!>bindTo<!>(<!TYPE_MISMATCH{NI}!>""<!>)
<!DEBUG_INFO_IMPLICIT_RECEIVER_SMARTCAST!>bindTo<!>(<!TYPE_MISMATCH!>""<!>)
}
}
}
@@ -9,9 +9,9 @@ class A<T> {
class Out<out F>
fun test(a: A<out CharSequence>, y: Out<CharSequence>) {
a + <!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>
a[1] = <!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>
a[<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>]
a + <!TYPE_MISMATCH!>y<!>
a[1] = <!TYPE_MISMATCH!>y<!>
a[<!TYPE_MISMATCH!>y<!>]
a + Out<Nothing>()
a[1] = Out<Nothing>()
@@ -12,15 +12,15 @@ class A<T> {
}
fun foo2(a: A<out CharSequence>, b: A<in CharSequence>) {
a.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo1<!>(<!TYPE_MISMATCH{NI}!>Out<CharSequence>()<!>)
a.foo1<<!UPPER_BOUND_VIOLATED!>Out<CharSequence><!>>(<!TYPE_MISMATCH{NI}!>Out()<!>)
a.foo1(<!TYPE_MISMATCH!>Out<CharSequence>()<!>)
a.foo1<<!UPPER_BOUND_VIOLATED!>Out<CharSequence><!>>(<!TYPE_MISMATCH!>Out()<!>)
a.foo1(Out())
a.foo1(Out<Nothing>())
a.<!TYPE_INFERENCE_INCORPORATION_ERROR{OI}!>foo2<!>(<!TYPE_MISMATCH{NI}!><!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>Inv<!>()<!>)
a.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo2<!>(<!TYPE_MISMATCH{NI}!>Inv<CharSequence>()<!>)
a.foo2<<!UPPER_BOUND_VIOLATED!>Inv<CharSequence><!>>(<!TYPE_MISMATCH{NI}!>Inv()<!>)
a.foo2(<!TYPE_MISMATCH!>Inv()<!>)
a.foo2(<!TYPE_MISMATCH!>Inv<CharSequence>()<!>)
a.foo2<<!UPPER_BOUND_VIOLATED!>Inv<CharSequence><!>>(<!TYPE_MISMATCH!>Inv()<!>)
a.foo3(In())
a.foo3(In<CharSequence>())
@@ -30,13 +30,13 @@ fun foo2(a: A<out CharSequence>, b: A<in CharSequence>) {
b.foo1(Out<CharSequence>())
b.foo1<Out<CharSequence>>(Out())
b.<!TYPE_INFERENCE_INCORPORATION_ERROR{OI}!>foo2<!>(<!TYPE_MISMATCH{NI}!><!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>Inv<!>()<!>)
b.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo2<!>(<!TYPE_MISMATCH{NI}!>Inv<CharSequence>()<!>)
b.foo2<<!UPPER_BOUND_VIOLATED!>Inv<CharSequence><!>>(<!TYPE_MISMATCH{NI}!>Inv()<!>)
b.foo2(<!TYPE_MISMATCH!>Inv()<!>)
b.foo2(<!TYPE_MISMATCH!>Inv<CharSequence>()<!>)
b.foo2<<!UPPER_BOUND_VIOLATED!>Inv<CharSequence><!>>(<!TYPE_MISMATCH!>Inv()<!>)
b.<!TYPE_INFERENCE_UPPER_BOUND_VIOLATED{OI}!>foo3<!>(<!TYPE_MISMATCH{NI}!>In<CharSequence>()<!>)
b.foo3<<!UPPER_BOUND_VIOLATED!>In<CharSequence><!>>(<!TYPE_MISMATCH{NI}!>In()<!>)
b.foo3(<!TYPE_MISMATCH!>In<CharSequence>()<!>)
b.foo3<<!UPPER_BOUND_VIOLATED!>In<CharSequence><!>>(<!TYPE_MISMATCH!>In()<!>)
b.foo3(In<Any?>())
b.foo3(In())
@@ -5,8 +5,8 @@ class A<T> {
}
fun test(a: A<out CharSequence>, y: Array<out CharSequence>) {
a.<!MEMBER_PROJECTED_OUT{OI}!>foo<!>(<!TYPE_MISMATCH{NI}!>""<!>, <!TYPE_MISMATCH{NI}!>""<!>, <!TYPE_MISMATCH{NI}!>""<!>)
a.foo(*<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>)
a.foo(<!TYPE_MISMATCH!>""<!>, <!TYPE_MISMATCH!>""<!>, <!TYPE_MISMATCH!>""<!>)
a.foo(*<!TYPE_MISMATCH!>y<!>)
// TODO: TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS probably redundant
a.<!MEMBER_PROJECTED_OUT{OI}!>foo<!>(*<!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>y<!>, <!TYPE_MISMATCH{NI}!>""<!>)
a.foo(*<!TYPE_MISMATCH!>y<!>, <!TYPE_MISMATCH!>""<!>)
}
@@ -16,7 +16,7 @@ fun main(a: A<*>, j: JavaClass<*>, i2: Inv2<*>) {
j.foo() checkType { _<Any?>() }
i2.x checkType { _<Any?>() }
j.bar(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>, <!TYPE_MISMATCH{NI}, TYPE_MISMATCH_DUE_TO_TYPE_PROJECTIONS{OI}!>Any()<!>)
j.bar(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>, <!TYPE_MISMATCH!>Any()<!>)
j.bar(null)
}
@@ -3,7 +3,7 @@ class C<<!REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T>
fun <T> id(p: T): T = p
fun <A> main() {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>C<!>()
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>C<!>()
val a: C<A> = <!TYPE_PARAMETER_AS_REIFIED!>C<!>()
C<<!TYPE_PARAMETER_AS_REIFIED!>A<!>>()
@@ -9,7 +9,7 @@ inline fun <reified T> f(): T = throw UnsupportedOperationException()
fun <T> id(p: T): T = p
fun <A> main() {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>f<!>()
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>f<!>()
val a: A = <!TYPE_PARAMETER_AS_REIFIED!>f<!>()
f<<!TYPE_PARAMETER_AS_REIFIED!>A<!>>()
@@ -4,12 +4,12 @@ fun myFun(i : String) {}
fun myFun(i : Int) {}
fun test1() {
<!NONE_APPLICABLE{NI}!>myFun<!><!WRONG_NUMBER_OF_TYPE_ARGUMENTS{OI}!><Int><!>(3)
<!NONE_APPLICABLE!>myFun<!><Int>(3)
<!NONE_APPLICABLE!>myFun<!><String>('a')
}
fun test2() {
val m0 = java.util.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>HashMap<!>()
val m0 = java.util.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>HashMap<!>()
val m1 = java.util.HashMap<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><String, String, String><!>()
val m2 = java.util.HashMap<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><String><!>()
}