[FIR Java] Soften rules for matching types for may-be-special-builtins
This commit is workaround for cases like MyJavaMap<KK : Bound, V> : java.util.Map<K, V>. After signature changing and substitution we have MyJavaMap.get(Object) declared and MyJavaMap.get(KK) from supertype, which can't be otherwise matched as overriding one another.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
// FULL_JDK
|
||||
|
||||
import java.util.EnumMap
|
||||
|
||||
typealias SomeEnumMap = EnumMap<String, String?>
|
||||
|
||||
fun test(map: SomeEnumMap, qualifier: String?) {
|
||||
val result = map[qualifier]
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
FILE: EnumMapGet.kt
|
||||
public final typealias SomeEnumMap = R|java/util/EnumMap<kotlin/String, kotlin/String?>|
|
||||
public final fun test(map: R|SomeEnumMap|, qualifier: R|kotlin/String?|): R|kotlin/Unit| {
|
||||
lval result: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<java/util/EnumMap.get: R|kotlin/String?|>|(R|<local>/qualifier|)
|
||||
}
|
||||
Reference in New Issue
Block a user