| // TARGET_BACKEND: JVM |
| // JVM_TARGET: 1.8 |
| // WITH_STDLIB |
| // FULL_JDK |
| |
| // FILE: TestMap.java |
| |
| import java.util.Collection; |
| import java.util.Map; |
| import java.util.Set; |
| |
| |
| public class TestMap implements Map<String, Object> { |
| @Override |
| public int size() { |
| return 0; |
| } |
| |
| @Override |
| public boolean isEmpty() { |
| return false; |
| } |
| |
| @Override |
| public boolean containsKey(Object key) { |
| return false; |
| } |
| |
| @Override |
| public boolean containsValue(Object value) { |
| return false; |
| } |
| |
| @Override |
| public Object get(Object key) { |
| return null; |
| } |
| |
| |
| @Override |
| public Object put(String key, Object value) { |
| return null; |
| } |
| |
| @Override |
| public Object remove(Object key) { |
| return null; |
| } |
| |
| @Override |
| public void putAll(Map<? extends String, ?> m) { |
| |
| } |
| |
| @Override |
| public void clear() { |
| |
| } |
| |
| |
| @Override |
| public Set<String> keySet() { |
| return null; |
| } |
| |
| |
| @Override |
| public Collection<Object> values() { |
| return null; |
| } |
| |
| |
| @Override |
| public Set<Entry<String, Object>> entrySet() { |
| return null; |
| } |
| } |
| |
| // FILE: main.kt |
| |
| class MyMap: TestMap() |
| |
| fun box(): String { |
| val map = MyMap() |
| if (map.remove("aaa", 42)) return "fail 1" |
| if (map.getOrDefault("aaa", 42) != 42) return "fail 2" |
| |
| return "OK" |
| } |