K2/Java: implement platform-dependent function filtering in JvmMappedScope
We drop Kotlin function 'remove' or 'getOrDefault' from JvmMappedScope, if it has platform-dependent annotation, and the bound Java class scope does not contain a function with the same signature. #KT-57268 Fixed
This commit is contained in:
committed by
Space Team
parent
7d584e0eb4
commit
672b5ba0d7
@@ -1,6 +0,0 @@
|
||||
MODULE main
|
||||
CLASS EmptyMap.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
@@ -1,5 +1,3 @@
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
private object EmptyMap : Map<Any, Nothing> {
|
||||
override val size: Int get() = 0
|
||||
override fun isEmpty(): Boolean = true
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
MODULE main
|
||||
CLASS EmptyStringMap.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
@@ -1,5 +1,3 @@
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
private object EmptyStringMap : Map<String, Nothing> {
|
||||
override val size: Int get() = 0
|
||||
override fun isEmpty(): Boolean = true
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
MODULE main
|
||||
CLASS Map1.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; [public, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/String;Ljava/lang/Object;)Z [public, bridge]
|
||||
@@ -2,7 +2,6 @@
|
||||
// WASM_MUTE_REASON: STDLIB_COLLECTION_INHERITANCE
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// DONT_TARGET_EXACT_BACKEND: NATIVE
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
open class Map1 : HashMap<String, Any?>()
|
||||
class Map2 : Map1()
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
MODULE main
|
||||
CLASS A.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
@@ -1,5 +1,3 @@
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
class A : Map<String, String> {
|
||||
override val size: Int get() = 56
|
||||
|
||||
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
MODULE main
|
||||
CLASS AbstractFoo.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
CLASS StringFoo.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; [public, bridge]
|
||||
CLASS IntFoo.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(ILjava/lang/Object;)Ljava/lang/Object; [public, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
|
||||
@@ -1,5 +1,3 @@
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
var result = ""
|
||||
|
||||
public abstract class AbstractFoo<K, V> : Map<K, V> {
|
||||
|
||||
Reference in New Issue
Block a user