[FIR] Don't remove subsumed members from intersection overrides's overriddens
This fixes a bunch of missing overridden symbols in IR. This is also required for fixing KT-59921 in the following commit where we need to keep all overridden symbols of intersection overrides so that we can enhance them properly. #KT-57300 Fixed #KT-57299 Fixed #KT-59921 #KT-57300 #KT-62788 #KT-64271 #KT-64382
This commit is contained in:
committed by
Space Team
parent
d80dee6e1c
commit
3b841dcb98
-26
@@ -1,26 +0,0 @@
|
||||
MODULE main
|
||||
CLASS A.class
|
||||
K1
|
||||
contains(I)Z [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
contains(Ljava/lang/Integer;)Z [public, bridge]
|
||||
K1
|
||||
indexOf(I)I [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
indexOf(Ljava/lang/Integer;)I [public, bridge]
|
||||
K1
|
||||
lastIndexOf(I)I [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
lastIndexOf(Ljava/lang/Integer;)I [public, bridge]
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
// WITH_STDLIB
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57300
|
||||
|
||||
abstract class A : AbstractMutableList<Int>()
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
|
||||
// FIR status: different structure of fake overrides. Fixed in the IR fake override builder.
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// ^ NSME: java.util.AbstractMap.remove
|
||||
// FULL_JDK
|
||||
// JVM_ABI_K1_K2_DIFF: KT-65095
|
||||
|
||||
class Test : Map<String, String>, java.util.AbstractMap<String, String>() {
|
||||
override val entries: MutableSet<MutableMap.MutableEntry<String, String>>
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
|
||||
// FIR status: different structure of fake overrides. Fixed in the IR fake override builder.
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// ^ NSME: java.util.AbstractMap.remove
|
||||
// FULL_JDK
|
||||
// JVM_ABI_K1_K2_DIFF: KT-65095
|
||||
|
||||
interface MSS : Map<String, String>
|
||||
|
||||
class Test : MSS, java.util.AbstractMap<String, String>() {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
|
||||
// FIR status: different structure of fake overrides. Fixed in the IR fake override builder.
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// ^ NSME: java.util.AbstractMap.remove
|
||||
// FULL_JDK
|
||||
// JVM_ABI_K1_K2_DIFF: KT-65095
|
||||
|
||||
// FILE: kt48945b.kt
|
||||
interface MSS : Map<String, String>
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
|
||||
// FIR status: different structure of fake overrides. Fixed in the IR fake override builder.
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// ^ NSME: java.util.AbstractMap.remove
|
||||
// FULL_JDK
|
||||
// JVM_ABI_K1_K2_DIFF: KT-65095
|
||||
|
||||
// FILE: kt48945b.kt
|
||||
interface MSS : Map<String, String>
|
||||
|
||||
-24
@@ -7,30 +7,6 @@ MODULE main
|
||||
public open
|
||||
K2
|
||||
public open operator
|
||||
K1
|
||||
contains(I)Z [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
contains(Ljava/lang/Integer;)Z [public, bridge]
|
||||
K1
|
||||
indexOf(I)I [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
indexOf(Ljava/lang/Integer;)I [public, bridge]
|
||||
K1
|
||||
lastIndexOf(I)I [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
lastIndexOf(Ljava/lang/Integer;)I [public, bridge]
|
||||
CLASS D.class
|
||||
CLASS METADATA
|
||||
FUNCTION removeAt(I)Ljava/lang/Integer;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57300, KT-63857
|
||||
// JVM_ABI_K1_K2_DIFF: KT-63857
|
||||
|
||||
// FILE: A.java
|
||||
abstract public class A extends B {
|
||||
|
||||
Reference in New Issue
Block a user