diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-26 20:54:03 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-26 20:54:03 +0100 |
| commit | caa7e3a069fa0dfe81834d48850384c38594dd3a (patch) | |
| tree | a3f89b7c2c1c9f8351dc4808be0d1e29b127200c /src/test/resources/org | |
| parent | f17d45931c79198b31781a5f0e761b4bb4caefec (diff) | |
Remove C# runtime from main, use for tests only
Diffstat (limited to 'src/test/resources/org')
5 files changed, 75 insertions, 0 deletions
diff --git a/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Integer.cs b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Integer.cs new file mode 100644 index 0000000..6ed87db --- /dev/null +++ b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Integer.cs @@ -0,0 +1,14 @@ +namespace Couscous.java.lang { + internal class Integer : Object { + private readonly int _value; + + internal Integer(int value) { + _value = value; + } + + internal override bool equals(Object other) { + var integer = other as Integer; + return integer != null && integer._value == _value; + } + } +} diff --git a/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Iterable.cs b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Iterable.cs new file mode 100644 index 0000000..314dbce --- /dev/null +++ b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Iterable.cs @@ -0,0 +1,6 @@ +namespace Couscous.java.lang { + // TODO: implement in Java + internal interface Iterable<out T> { + java.util.Iterator<T> iterator(); + } +} diff --git a/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Object.cs b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Object.cs new file mode 100644 index 0000000..14a8f44 --- /dev/null +++ b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/lang/Object.cs @@ -0,0 +1,11 @@ +namespace Couscous.java.lang { + internal class Object { + internal virtual bool equals(Object other) { + return System.Object.ReferenceEquals(this, other); + } + + public static implicit operator Object(int value) { + return new Integer(value); + } + } +} diff --git a/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Arrays.cs b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Arrays.cs new file mode 100644 index 0000000..96b31d4 --- /dev/null +++ b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Arrays.cs @@ -0,0 +1,37 @@ +namespace Couscous.java.util { + internal static class Arrays { + internal static java.lang.Iterable<T> asList<T>(T[] values) { + return new _ArrayList<T>(values); + } + } + + internal class _ArrayList<T> : java.lang.Iterable<T> { + private readonly T[] values; + + internal _ArrayList(T[] values) { + this.values = values; + } + + public java.util.Iterator<T> iterator() { + return new _ArrayIterator<T>(values); + } + } + + internal class _ArrayIterator<T> : java.util.Iterator<T> { + private readonly T[] values; + private int nextIndex; + + internal _ArrayIterator(T[] values) { + this.values = values; + this.nextIndex = 0; + } + + public bool hasNext() { + return nextIndex < values.Length; + } + + public T next() { + return values[nextIndex++]; + } + } +} diff --git a/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Iterator.cs b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Iterator.cs new file mode 100644 index 0000000..9c0098a --- /dev/null +++ b/src/test/resources/org/zwobble/couscous/tests/backends/csharp/runtime/java/util/Iterator.cs @@ -0,0 +1,7 @@ +namespace Couscous.java.util { + // TODO: implement in Java + internal interface Iterator<out T> { + bool hasNext(); + T next(); + } +} |
