JVM_IR KT-48945 generate special bridge with unsubstituted signature

This commit is contained in:
Dmitry Petrov
2021-11-15 15:51:28 +03:00
committed by TeamCityServer
parent 4c3404888a
commit 30ceb49442
36 changed files with 809 additions and 42 deletions
+16
View File
@@ -0,0 +1,16 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: ANDROID
// ^ NSME: java.util.AbstractMap.remove
// FULL_JDK
class Test : Map<String, String>, java.util.AbstractMap<String, String>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, String>>
get() = throw Exception()
}
fun box(): String {
Test().remove(null, "")
return "OK"
}
+17
View File
@@ -0,0 +1,17 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: ANDROID
// ^ NSME: java.util.AbstractMap.remove
// FULL_JDK
interface MSS : Map<String, String>
class Test : MSS, java.util.AbstractMap<String, String>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, String>>
get() = throw Exception()
}
fun box(): String {
Test().remove(null, "")
return "OK"
}
+27
View File
@@ -0,0 +1,27 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: ANDROID
// ^ NSME: java.util.AbstractMap.remove
// FULL_JDK
// FILE: kt48945b.kt
interface MSS : Map<String, String>
class Test : MSS, JASM<String>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, String>>
get() = throw Exception()
}
fun box(): String {
Test().remove(null, "")
return "OK"
}
// FILE: JASM.java
public abstract class JASM<V> extends java.util.AbstractMap<String, V> {
@Override
public V get(Object key) {
return super.get(key);
}
}
+23
View File
@@ -0,0 +1,23 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: ANDROID
// ^ NSME: java.util.AbstractMap.remove
// FULL_JDK
// FILE: kt48945b.kt
interface MSS : Map<String, String>
class Test : MSS, JASM<String>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, String>>
get() = throw Exception()
}
fun box(): String {
Test().remove(null, "")
return "OK"
}
// FILE: JASM.java
public abstract class JASM<V> extends java.util.AbstractMap<String, V> {
}