[FIR] Fix incorrect work of K2 expect-actual matcher when actual is Java
...field, which is fake override. This was failing in Stdlib with `expect HashMap` + actual typealias to `java.util.HashMap`. ^KT-63624 Fixed
This commit is contained in:
committed by
Space Team
parent
3d2a37ee41
commit
ee1ee965a1
Vendored
+1
-1
@@ -12,4 +12,4 @@
|
||||
|
||||
import java.util.AbstractMap
|
||||
|
||||
public actual abstract class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS, NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>AbstractMutableMap<!><K, V>() : MutableMap<K, V>, AbstractMap<K, V>()
|
||||
public actual abstract class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>AbstractMutableMap<!><K, V>() : MutableMap<K, V>, AbstractMap<K, V>()
|
||||
|
||||
Vendored
+1
-1
@@ -12,4 +12,4 @@ public expect abstract class AbstractMutableMap<K, V> : MutableMap<K, V> {
|
||||
|
||||
import java.util.AbstractMap
|
||||
|
||||
public actual abstract class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS, NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>AbstractMutableMap<!><K, V>() : MutableMap<K, V>, AbstractMap<K, V>()
|
||||
public actual abstract class <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>AbstractMutableMap<!><K, V>() : MutableMap<K, V>, AbstractMap<K, V>()
|
||||
|
||||
compiler/testData/diagnostics/tests/multiplatform/java/propertyAgainstFakeOverrideOfJavaField.fir.kt
Vendored
-28
@@ -1,28 +0,0 @@
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
expect class MyHashMap<K, V> {
|
||||
val values: Collection<V>
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
interface MyMap<K, V> {
|
||||
val values: Collection<V>
|
||||
}
|
||||
|
||||
actual typealias <!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>MyHashMap<!><K, V> = MyHashMapJava<K, V>
|
||||
|
||||
// FILE: MyHashMapJava.java
|
||||
import java.util.Collection;
|
||||
|
||||
public final class MyHashMapJava<K, V> extends AbstractMyHashMap<K, V> {
|
||||
// fake override of field AbstractMyHashMap.values
|
||||
}
|
||||
abstract class AbstractMyHashMap<K, V> implements MyMap<K, V> {
|
||||
protected Collection<V> values;
|
||||
|
||||
@Override
|
||||
public Collection<V> getValues() {
|
||||
return values;
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
expect class MyHashMap<K, V> {
|
||||
|
||||
Reference in New Issue
Block a user