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/main | |
| parent | f17d45931c79198b31781a5f0e761b4bb4caefec (diff) | |
Remove C# runtime from main, use for tests only
Diffstat (limited to 'src/main')
6 files changed, 3 insertions, 103 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java index bccbe98..a086fe2 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java @@ -1,13 +1,9 @@ package org.zwobble.couscous.backends.csharp; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.io.Resources; import org.zwobble.couscous.Backend; import org.zwobble.couscous.ast.TypeNode; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; @@ -15,14 +11,6 @@ import java.util.List; import static com.google.common.collect.Iterables.transform; public class CsharpBackend implements Backend { - private static final List<String> RUNTIME_FILES = ImmutableList.of( - "java/lang/Integer.cs", - "java/lang/Object.cs", - "java/util/Arrays.cs", - // TODO: implement Iterable/Iterator in Java - "java/lang/Iterable.cs", - "java/util/Iterator.cs"); - private final Path outputFilePath; private final String namespace; @@ -36,22 +24,9 @@ public class CsharpBackend implements Backend { outputFilePath.getParent().toFile().mkdirs(); Files.write( outputFilePath, - Iterables.<String>concat( - transform( - classes, - classNode -> compileClass(classNode)), - transform( - RUNTIME_FILES, - runtimeFile -> readRuntimeFile(runtimeFile)))); - } - - private String readRuntimeFile(String runtimeFile) { - try { - return Resources.toString(Resources.getResource("csharp/runtime/" + runtimeFile), StandardCharsets.UTF_8) - .replace("namespace Couscous", "namespace " + namespace); - } catch (IOException exception) { - throw new RuntimeException(exception); - } + transform( + classes, + classNode -> compileClass(classNode))); } private String compileClass(TypeNode classNode) { diff --git a/src/main/resources/csharp/runtime/java/lang/Integer.cs b/src/main/resources/csharp/runtime/java/lang/Integer.cs deleted file mode 100644 index 6ed87db..0000000 --- a/src/main/resources/csharp/runtime/java/lang/Integer.cs +++ /dev/null @@ -1,14 +0,0 @@ -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/main/resources/csharp/runtime/java/lang/Iterable.cs b/src/main/resources/csharp/runtime/java/lang/Iterable.cs deleted file mode 100644 index 314dbce..0000000 --- a/src/main/resources/csharp/runtime/java/lang/Iterable.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Couscous.java.lang { - // TODO: implement in Java - internal interface Iterable<out T> { - java.util.Iterator<T> iterator(); - } -} diff --git a/src/main/resources/csharp/runtime/java/lang/Object.cs b/src/main/resources/csharp/runtime/java/lang/Object.cs deleted file mode 100644 index 14a8f44..0000000 --- a/src/main/resources/csharp/runtime/java/lang/Object.cs +++ /dev/null @@ -1,11 +0,0 @@ -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/main/resources/csharp/runtime/java/util/Arrays.cs b/src/main/resources/csharp/runtime/java/util/Arrays.cs deleted file mode 100644 index 96b31d4..0000000 --- a/src/main/resources/csharp/runtime/java/util/Arrays.cs +++ /dev/null @@ -1,37 +0,0 @@ -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/main/resources/csharp/runtime/java/util/Iterator.cs b/src/main/resources/csharp/runtime/java/util/Iterator.cs deleted file mode 100644 index 9c0098a..0000000 --- a/src/main/resources/csharp/runtime/java/util/Iterator.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Couscous.java.util { - // TODO: implement in Java - internal interface Iterator<out T> { - bool hasNext(); - T next(); - } -} |
