FE: add more tests around KT-56061
This commit is contained in:
committed by
Space Team
parent
17500b225d
commit
5fc0aa769b
+22
-1
@@ -9,6 +9,12 @@ public class Container<E> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setWrapper(Wrapper<E> wrapper) {}
|
public void setWrapper(Wrapper<E> wrapper) {}
|
||||||
|
|
||||||
|
public E getSimple() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSimple(E e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILE: Wrapper.java
|
// FILE: Wrapper.java
|
||||||
@@ -22,19 +28,28 @@ fun foo(container: Container<*>, wrapper: Wrapper<String>) {
|
|||||||
container.w = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.w = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
|
||||||
|
container.simple = <!ASSIGNMENT_TYPE_MISMATCH!>"123"<!>
|
||||||
|
container.setSimple(<!ARGUMENT_TYPE_MISMATCH!>"123"<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bar(container: Container<String>, wrapper: Wrapper<String>) {
|
fun bar(container: Container<String>, wrapper: Wrapper<String>) {
|
||||||
container.wrapper = wrapper
|
container.wrapper = wrapper
|
||||||
container.setWrapper(wrapper)
|
container.setWrapper(wrapper)
|
||||||
|
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple("123")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun baz(container: Container<Any>, wrapper: Wrapper<String>) {
|
fun baz(container: Container<Any>, wrapper: Wrapper<String>) {
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple("123")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun gau(container: Container<String>, wrapper: Wrapper<Any>) {
|
fun gau(container: Container<String>, wrapper: Wrapper<Any>) {
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
|
container.simple = <!ASSIGNMENT_TYPE_MISMATCH!>456<!>
|
||||||
}
|
}
|
||||||
|
|
||||||
fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
||||||
@@ -44,14 +59,20 @@ fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
|||||||
fun out(container: Container<out Any>, wrapper: Wrapper<String>) {
|
fun out(container: Container<out Any>, wrapper: Wrapper<String>) {
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = <!ASSIGNMENT_TYPE_MISMATCH!>"123"<!>
|
||||||
|
container.setSimple(<!ARGUMENT_TYPE_MISMATCH!>"123"<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun inn(container: Container<in String>, wrapper: Wrapper<Any>) {
|
fun inn(container: Container<in String>, wrapper: Wrapper<Any>) {
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = <!ASSIGNMENT_TYPE_MISMATCH!>456<!>
|
||||||
|
container.setSimple(<!ARGUMENT_TYPE_MISMATCH!>456<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> generic(container: Container<out T>, wrapper: Wrapper<out T>) {
|
fun <T> generic(container: Container<out T>, wrapper: Wrapper<out T>, arg: T) {
|
||||||
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!ASSIGNMENT_TYPE_MISMATCH!>wrapper<!>
|
||||||
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!ARGUMENT_TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = <!ASSIGNMENT_TYPE_MISMATCH!>arg<!>
|
||||||
|
container.setSimple(<!ARGUMENT_TYPE_MISMATCH!>arg<!>)
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-1
@@ -9,6 +9,12 @@ public class Container<E> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setWrapper(Wrapper<E> wrapper) {}
|
public void setWrapper(Wrapper<E> wrapper) {}
|
||||||
|
|
||||||
|
public E getSimple() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSimple(E e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILE: Wrapper.java
|
// FILE: Wrapper.java
|
||||||
@@ -22,19 +28,28 @@ fun foo(container: Container<*>, wrapper: Wrapper<String>) {
|
|||||||
container.w = <!TYPE_MISMATCH!>wrapper<!>
|
container.w = <!TYPE_MISMATCH!>wrapper<!>
|
||||||
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
||||||
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple(<!TYPE_MISMATCH!>"123"<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bar(container: Container<String>, wrapper: Wrapper<String>) {
|
fun bar(container: Container<String>, wrapper: Wrapper<String>) {
|
||||||
container.wrapper = wrapper
|
container.wrapper = wrapper
|
||||||
container.setWrapper(wrapper)
|
container.setWrapper(wrapper)
|
||||||
|
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple("123")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun baz(container: Container<Any>, wrapper: Wrapper<String>) {
|
fun baz(container: Container<Any>, wrapper: Wrapper<String>) {
|
||||||
container.wrapper = <!TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!TYPE_MISMATCH!>wrapper<!>
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple("123")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun gau(container: Container<String>, wrapper: Wrapper<Any>) {
|
fun gau(container: Container<String>, wrapper: Wrapper<Any>) {
|
||||||
container.wrapper = <!TYPE_MISMATCH!>wrapper<!>
|
container.wrapper = <!TYPE_MISMATCH!>wrapper<!>
|
||||||
|
container.simple = <!CONSTANT_EXPECTED_TYPE_MISMATCH!>456<!>
|
||||||
}
|
}
|
||||||
|
|
||||||
fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
||||||
@@ -44,14 +59,20 @@ fun dif(container: Container<String>, wrapper: Wrapper<Int>) {
|
|||||||
fun out(container: Container<out Any>, wrapper: Wrapper<String>) {
|
fun out(container: Container<out Any>, wrapper: Wrapper<String>) {
|
||||||
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
||||||
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = "123"
|
||||||
|
container.setSimple(<!TYPE_MISMATCH!>"123"<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun inn(container: Container<in String>, wrapper: Wrapper<Any>) {
|
fun inn(container: Container<in String>, wrapper: Wrapper<Any>) {
|
||||||
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
||||||
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = 456
|
||||||
|
container.setSimple(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>456<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> generic(container: Container<out T>, wrapper: Wrapper<out T>) {
|
fun <T> generic(container: Container<out T>, wrapper: Wrapper<out T>, arg: T) {
|
||||||
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
<!SYNTHETIC_SETTER_PROJECTED_OUT!>container.wrapper<!> = wrapper
|
||||||
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
container.setWrapper(<!TYPE_MISMATCH!>wrapper<!>)
|
||||||
|
container.simple = arg
|
||||||
|
container.setSimple(<!TYPE_MISMATCH!>arg<!>)
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -5,7 +5,7 @@ public fun baz(/*0*/ container: Container<kotlin.Any>, /*1*/ wrapper: Wrapper<ko
|
|||||||
public fun dif(/*0*/ container: Container<kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Int>): kotlin.Unit
|
public fun dif(/*0*/ container: Container<kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Int>): kotlin.Unit
|
||||||
public fun foo(/*0*/ container: Container<*>, /*1*/ wrapper: Wrapper<kotlin.String>): kotlin.Unit
|
public fun foo(/*0*/ container: Container<*>, /*1*/ wrapper: Wrapper<kotlin.String>): kotlin.Unit
|
||||||
public fun gau(/*0*/ container: Container<kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Any>): kotlin.Unit
|
public fun gau(/*0*/ container: Container<kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Any>): kotlin.Unit
|
||||||
public fun </*0*/ T> generic(/*0*/ container: Container<out T>, /*1*/ wrapper: Wrapper<out T>): kotlin.Unit
|
public fun </*0*/ T> generic(/*0*/ container: Container<out T>, /*1*/ wrapper: Wrapper<out T>, /*2*/ arg: T): kotlin.Unit
|
||||||
public fun inn(/*0*/ container: Container<in kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Any>): kotlin.Unit
|
public fun inn(/*0*/ container: Container<in kotlin.String>, /*1*/ wrapper: Wrapper<kotlin.Any>): kotlin.Unit
|
||||||
public fun out(/*0*/ container: Container<out kotlin.Any>, /*1*/ wrapper: Wrapper<kotlin.String>): kotlin.Unit
|
public fun out(/*0*/ container: Container<out kotlin.Any>, /*1*/ wrapper: Wrapper<kotlin.String>): kotlin.Unit
|
||||||
|
|
||||||
@@ -13,8 +13,10 @@ public open class Container</*0*/ E : kotlin.Any!> {
|
|||||||
public constructor Container</*0*/ E : kotlin.Any!>()
|
public constructor Container</*0*/ E : kotlin.Any!>()
|
||||||
public/*package*/ final var w: Wrapper<E!>!
|
public/*package*/ final var w: Wrapper<E!>!
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open fun getSimple(): E!
|
||||||
public open fun getWrapper(): Wrapper<E!>!
|
public open fun getWrapper(): Wrapper<E!>!
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open fun setSimple(/*0*/ e: E!): kotlin.Unit
|
||||||
public open fun setWrapper(/*0*/ wrapper: Wrapper<E!>!): kotlin.Unit
|
public open fun setWrapper(/*0*/ wrapper: Wrapper<E!>!): kotlin.Unit
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user