Skip to content

Commit 03e7df5

Browse files
committed
Make dynamic maps return empty immutable collections instead of throwing
1 parent 6fa3e64 commit 03e7df5

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
44
import it.unimi.dsi.fastutil.ints.IntSet;
5+
import it.unimi.dsi.fastutil.ints.IntSets;
56
import it.unimi.dsi.fastutil.objects.ObjectCollection;
7+
import it.unimi.dsi.fastutil.objects.ObjectLists;
68
import it.unimi.dsi.fastutil.objects.ObjectSet;
9+
import it.unimi.dsi.fastutil.objects.ObjectSets;
710

811
import java.util.Map;
912
import java.util.function.Function;
@@ -15,17 +18,17 @@ public DynamicInt2ObjectMap(Function<Integer, V> function) {
1518

1619
@Override
1720
public IntSet keySet() {
18-
throw new UnsupportedOperationException();
21+
return IntSets.EMPTY_SET;
1922
}
2023

2124
@Override
2225
public ObjectCollection<V> values() {
23-
throw new UnsupportedOperationException();
26+
return ObjectLists.emptyList();
2427
}
2528

2629
@Override
2730
public ObjectSet<Map.Entry<Integer, V>> entrySet() {
28-
throw new UnsupportedOperationException();
31+
return ObjectSets.emptySet();
2932
}
3033

3134
@Override

common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.jetbrains.annotations.Nullable;
55

66
import java.util.Collection;
7+
import java.util.Collections;
78
import java.util.Map;
89
import java.util.Set;
910
import java.util.function.Function;
@@ -64,18 +65,18 @@ public void clear() {
6465
@NotNull
6566
@Override
6667
public Set<K> keySet() {
67-
throw new UnsupportedOperationException();
68+
return Collections.emptySet();
6869
}
6970

7071
@NotNull
7172
@Override
7273
public Collection<V> values() {
73-
throw new UnsupportedOperationException();
74+
return Collections.emptyList();
7475
}
7576

7677
@NotNull
7778
@Override
7879
public Set<Entry<K, V>> entrySet() {
79-
throw new UnsupportedOperationException();
80+
return Collections.emptySet();
8081
}
8182
}

0 commit comments

Comments
 (0)