aboutsummaryrefslogtreecommitdiff
path: root/Mammoth/Couscous/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2018-01-28 12:36:26 +0000
committerMichael Williamson <mike@zwobble.org>2018-01-28 12:36:26 +0000
commit56e424be69f5728d36ed59509284e6592ee374ce (patch)
treec66d20ce4bb0d68518bf7d5fff839913f0fe4866 /Mammoth/Couscous/java
parentc5f9b5e6971da9611b599991858e9c4dd23ee008 (diff)
Update java-mammoth
Diffstat (limited to 'Mammoth/Couscous/java')
-rw-r--r--Mammoth/Couscous/java/util/ArrayList.cs13
-rw-r--r--Mammoth/Couscous/java/util/List.cs2
-rw-r--r--Mammoth/Couscous/java/util/OptionalInt.cs9
-rw-r--r--Mammoth/Couscous/java/util/function/IntFunction.cs5
4 files changed, 29 insertions, 0 deletions
diff --git a/Mammoth/Couscous/java/util/ArrayList.cs b/Mammoth/Couscous/java/util/ArrayList.cs
index 81d180c..2bd3031 100644
--- a/Mammoth/Couscous/java/util/ArrayList.cs
+++ b/Mammoth/Couscous/java/util/ArrayList.cs
@@ -39,6 +39,15 @@ namespace Mammoth.Couscous.java.util {
}
}
+ public List<T> subList(int fromIndex, int toIndex) {
+ var list = _list as System.Collections.Generic.List<T>;
+ if (list == null) {
+ throw new System.NotImplementedException();
+ } else {
+ return new ArrayList<T>(list.GetRange(fromIndex, toIndex - fromIndex));
+ }
+ }
+
public void add(T value) {
_list.Add(value);
}
@@ -52,5 +61,9 @@ namespace Mammoth.Couscous.java.util {
public void set(int index, T value) {
_list[index] = value;
}
+
+ public void clear() {
+ _list.Clear();
+ }
}
}
diff --git a/Mammoth/Couscous/java/util/List.cs b/Mammoth/Couscous/java/util/List.cs
index 38641e3..5082968 100644
--- a/Mammoth/Couscous/java/util/List.cs
+++ b/Mammoth/Couscous/java/util/List.cs
@@ -3,7 +3,9 @@ using Mammoth.Couscous.java.lang;
namespace Mammoth.Couscous.java.util {
interface List<T> : Collection<T> {
T get(int index);
+ List<T> subList(int fromIndex, int toIndex);
T remove(int index);
void set(int index, T value);
+ void clear();
}
}
diff --git a/Mammoth/Couscous/java/util/OptionalInt.cs b/Mammoth/Couscous/java/util/OptionalInt.cs
index 4dfca2f..fb92624 100644
--- a/Mammoth/Couscous/java/util/OptionalInt.cs
+++ b/Mammoth/Couscous/java/util/OptionalInt.cs
@@ -6,6 +6,7 @@ namespace Mammoth.Couscous.java.util
{
bool isPresent();
int getAsInt();
+ int orElse(int elseValue);
}
internal struct NoneInt : OptionalInt {
@@ -18,6 +19,10 @@ namespace Mammoth.Couscous.java.util
public int getAsInt() {
throw new NoSuchElementException();
}
+
+ public int orElse(int elseValue) {
+ return elseValue;
+ }
}
internal struct SomeInt : OptionalInt {
@@ -34,5 +39,9 @@ namespace Mammoth.Couscous.java.util
public int getAsInt() {
return _value;
}
+
+ public int orElse(int elseValue) {
+ return _value;
+ }
}
}
diff --git a/Mammoth/Couscous/java/util/function/IntFunction.cs b/Mammoth/Couscous/java/util/function/IntFunction.cs
new file mode 100644
index 0000000..7190cee
--- /dev/null
+++ b/Mammoth/Couscous/java/util/function/IntFunction.cs
@@ -0,0 +1,5 @@
+namespace Mammoth.Couscous.java.util.function {
+ internal interface IntFunction<R> {
+ R apply(int arg);
+ }
+}