From 03e7df5308fc0bc597904ced4876b44ed13650e6 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:28:34 -0500 Subject: [PATCH] Make dynamic maps return empty immutable collections instead of throwing --- .../embeddedt/modernfix/util/DynamicInt2ObjectMap.java | 9 ++++++--- .../java/org/embeddedt/modernfix/util/DynamicMap.java | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java b/common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java index 5c44208e..7046d4a1 100644 --- a/common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java +++ b/common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java @@ -2,8 +2,11 @@ package org.embeddedt.modernfix.util; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.IntSet; +import it.unimi.dsi.fastutil.ints.IntSets; import it.unimi.dsi.fastutil.objects.ObjectCollection; +import it.unimi.dsi.fastutil.objects.ObjectLists; import it.unimi.dsi.fastutil.objects.ObjectSet; +import it.unimi.dsi.fastutil.objects.ObjectSets; import java.util.Map; import java.util.function.Function; @@ -15,17 +18,17 @@ public class DynamicInt2ObjectMap extends DynamicMap implements I @Override public IntSet keySet() { - throw new UnsupportedOperationException(); + return IntSets.EMPTY_SET; } @Override public ObjectCollection values() { - throw new UnsupportedOperationException(); + return ObjectLists.emptyList(); } @Override public ObjectSet> entrySet() { - throw new UnsupportedOperationException(); + return ObjectSets.emptySet(); } @Override diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java b/common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java index e8803770..07efab65 100644 --- a/common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java +++ b/common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java @@ -4,6 +4,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Collection; +import java.util.Collections; import java.util.Map; import java.util.Set; import java.util.function.Function; @@ -64,18 +65,18 @@ public class DynamicMap implements Map { @NotNull @Override public Set keySet() { - throw new UnsupportedOperationException(); + return Collections.emptySet(); } @NotNull @Override public Collection values() { - throw new UnsupportedOperationException(); + return Collections.emptyList(); } @NotNull @Override public Set> entrySet() { - throw new UnsupportedOperationException(); + return Collections.emptySet(); } }