Fix SAM conversions for derived classes
#KT-39535 Fixed #KT-37149 Fixed
This commit is contained in:
-18
@@ -1,18 +0,0 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// FILE: J.java
|
||||
public interface J<T> {
|
||||
public void foo(T r1, T r2);
|
||||
}
|
||||
|
||||
// FILE: Runnable.java
|
||||
public interface Runnable {
|
||||
void run();
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
fun test(j: J<Runnable>, r: Runnable) {
|
||||
j.foo(r, r)
|
||||
j.foo(r, {})
|
||||
j.foo({}, r)
|
||||
j.foo({}, {})
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference
|
||||
// FILE: J.java
|
||||
public interface J<T> {
|
||||
@@ -12,7 +13,7 @@ public interface Runnable {
|
||||
// FILE: 1.kt
|
||||
fun test(j: J<Runnable>, r: Runnable) {
|
||||
j.foo(r, r)
|
||||
j.foo(r, <!TYPE_MISMATCH!>{}<!>)
|
||||
j.foo(<!TYPE_MISMATCH!>{}<!>, r)
|
||||
j.foo(<!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>)
|
||||
j.foo(r, {})
|
||||
j.foo({}, r)
|
||||
j.foo({}, {})
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions
|
||||
// FILE: Runnable.java
|
||||
public interface Runnable {
|
||||
void run();
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
interface K<T> {
|
||||
fun foo(t1: T, t2: T)
|
||||
}
|
||||
|
||||
fun test(k: K<Runnable>, r: Runnable) {
|
||||
k.foo(r, r)
|
||||
k.foo(r, {})
|
||||
k.foo({}, r)
|
||||
k.foo({}, {})
|
||||
}
|
||||
+4
-3
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions
|
||||
// FILE: Runnable.java
|
||||
public interface Runnable {
|
||||
@@ -11,7 +12,7 @@ interface K<T> {
|
||||
|
||||
fun test(k: K<Runnable>, r: Runnable) {
|
||||
k.foo(r, r)
|
||||
k.foo(r, <!TYPE_MISMATCH!>{}<!>)
|
||||
k.foo(<!TYPE_MISMATCH!>{}<!>, r)
|
||||
k.foo(<!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>)
|
||||
k.foo(r, {})
|
||||
k.foo({}, r)
|
||||
k.foo({}, {})
|
||||
}
|
||||
Reference in New Issue
Block a user