aboutsummaryrefslogtreecommitdiff
path: root/Mammoth
diff options
context:
space:
mode:
Diffstat (limited to 'Mammoth')
-rw-r--r--Mammoth/Couscous/java/util/HashMap.cs2
-rw-r--r--Mammoth/Couscous/java/util/Optional.cs7
-rw-r--r--Mammoth/Couscous/mammoth/internal/util/Casts.cs2
-rw-r--r--Mammoth/Couscous/mammoth/internal/util/Iterables.cs2
-rw-r--r--Mammoth/Couscous/mammoth/internal/util/Lists.cs2
5 files changed, 10 insertions, 5 deletions
diff --git a/Mammoth/Couscous/java/util/HashMap.cs b/Mammoth/Couscous/java/util/HashMap.cs
index 38e516e..10070fc 100644
--- a/Mammoth/Couscous/java/util/HashMap.cs
+++ b/Mammoth/Couscous/java/util/HashMap.cs
@@ -30,7 +30,7 @@ namespace Mammoth.Couscous.java.util {
if (_dictionary.ContainsKey(key)) {
return new Some<TValue>(_dictionary[key]);
} else {
- return new None<TValue>();
+ return None<TValue>.Instance;
}
}
diff --git a/Mammoth/Couscous/java/util/Optional.cs b/Mammoth/Couscous/java/util/Optional.cs
index f295688..b5be056 100644
--- a/Mammoth/Couscous/java/util/Optional.cs
+++ b/Mammoth/Couscous/java/util/Optional.cs
@@ -16,6 +16,11 @@ namespace Mammoth.Couscous.java.util
}
internal class None<T> : Optional<T> {
+ internal static readonly None<T> Instance = new None<T>();
+
+ private None() {
+ }
+
public bool isPresent() {
return false;
}
@@ -92,7 +97,7 @@ namespace Mammoth.Couscous.java.util
{
internal static Optional<T> empty<T>()
{
- return new None<T>();
+ return None<T>.Instance;
}
internal static Optional<T> of<T>(T value)
diff --git a/Mammoth/Couscous/mammoth/internal/util/Casts.cs b/Mammoth/Couscous/mammoth/internal/util/Casts.cs
index c342e20..29af07a 100644
--- a/Mammoth/Couscous/mammoth/internal/util/Casts.cs
+++ b/Mammoth/Couscous/mammoth/internal/util/Casts.cs
@@ -6,7 +6,7 @@ namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util {
if (value is T) {
return new Some<T>((T) value);
} else {
- return new None<T>();
+ return None<T>.Instance;
}
}
}
diff --git a/Mammoth/Couscous/mammoth/internal/util/Iterables.cs b/Mammoth/Couscous/mammoth/internal/util/Iterables.cs
index b1e1477..ac571bc 100644
--- a/Mammoth/Couscous/mammoth/internal/util/Iterables.cs
+++ b/Mammoth/Couscous/mammoth/internal/util/Iterables.cs
@@ -25,7 +25,7 @@ namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util
return new Some<T>(value);
}
}
- return new None<T>();
+ return None<T>.Instance;
}
internal static Iterable<T> lazyFilter<T>(Iterable<T> iterable, Predicate<T> predicate) {
diff --git a/Mammoth/Couscous/mammoth/internal/util/Lists.cs b/Mammoth/Couscous/mammoth/internal/util/Lists.cs
index b914a34..db18a21 100644
--- a/Mammoth/Couscous/mammoth/internal/util/Lists.cs
+++ b/Mammoth/Couscous/mammoth/internal/util/Lists.cs
@@ -50,7 +50,7 @@ namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util {
internal static Optional<T> tryGetLast<T>(List<T> list) {
if (list.isEmpty()) {
- return new None<T>();
+ return None<T>.Instance;
} else {
return new Some<T>(list.get(list.size() - 1));
}