Add Map.getOrDefault method as PlatformDependent declaration with refined signature
- First parameter should have type of K instead of Any - Special bridge should return second parameter if a key has wrong type - Special bridge may throw an exception if defaultValue has wrong type #KT-13209 Fixed
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
abstract class A : Map<Int, String>
|
||||
|
||||
fun foo(x: Map<Int, String>, a: A, b: java.util.HashMap<Int, String>) {
|
||||
x.getOrDefault(1, "")
|
||||
x.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
|
||||
x.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
x.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
|
||||
a.getOrDefault(1, "")
|
||||
a.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
|
||||
a.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
a.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
|
||||
b.getOrDefault(1, "")
|
||||
b.getOrDefault(<!TYPE_MISMATCH!>""<!>, "")
|
||||
b.getOrDefault(1, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
b.getOrDefault(<!TYPE_MISMATCH!>""<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH!>2<!>)
|
||||
}
|
||||
Reference in New Issue
Block a user