FIR: Fix ambiguity on Int2IntMap in IC
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
// FILE: Int2IntFunction.java
|
||||
public interface Int2IntFunction {
|
||||
boolean containsKey(int key);
|
||||
|
||||
@Deprecated
|
||||
default boolean containsKey(Object key) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// FILE: Int2IntMap.java
|
||||
public interface Int2IntMap extends Int2IntFunction, java.util.Map<Integer, Integer> {
|
||||
boolean containsKey(int var1);
|
||||
|
||||
@Deprecated
|
||||
default boolean containsKey(Object key) {
|
||||
return Int2IntFunction.super.containsKey(key);
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: Int2IntMapImpl.java
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class Int2IntMapImpl implements Int2IntMap {
|
||||
@Override
|
||||
public boolean containsKey(int var1) {
|
||||
return var1 == 56;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsValue(Object value) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer get(Object key) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer put(Integer key, Integer value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer remove(Object key) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putAll(Map<? extends Integer, ? extends Integer> m) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Integer> keySet() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Integer> values() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Entry<Integer, Integer>> entrySet() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: m.kt
|
||||
fun foo(x: Int2IntMap): String {
|
||||
if (!x.containsKey(56)) return "fail 1"
|
||||
if (x.containsKey(239)) return "fail 1"
|
||||
return "OK"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return foo(Int2IntMapImpl())
|
||||
}
|
||||
Reference in New Issue
Block a user