diff options
Diffstat (limited to 'Mammoth')
| -rw-r--r-- | Mammoth/Couscous/java/util/HashMap.cs | 2 | ||||
| -rw-r--r-- | Mammoth/Couscous/java/util/Optional.cs | 7 | ||||
| -rw-r--r-- | Mammoth/Couscous/mammoth/internal/util/Casts.cs | 2 | ||||
| -rw-r--r-- | Mammoth/Couscous/mammoth/internal/util/Iterables.cs | 2 | ||||
| -rw-r--r-- | Mammoth/Couscous/mammoth/internal/util/Lists.cs | 2 |
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)); } |
