From 5e64358224731d9b167fd155c481166d36b1fddd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 14 Jan 2016 21:26:14 +0000 Subject: Add initial method runner for C# --- .../couscous/backends/csharp/CsharpBackend.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java (limited to 'src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java') diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java new file mode 100644 index 0000000..3f6c8a7 --- /dev/null +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java @@ -0,0 +1,34 @@ +package org.zwobble.couscous.backends.csharp; + +import org.zwobble.couscous.Backend; +import org.zwobble.couscous.ast.ClassNode; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import static org.zwobble.couscous.util.ExtraLists.list; + +public class CsharpBackend implements Backend { + private final Path directoryPath; + private final String namespace; + + public CsharpBackend(Path directoryPath, String namespace) { + this.directoryPath = directoryPath; + this.namespace = namespace; + } + + @Override + public void compile(List classes) throws IOException { + Files.write(directoryPath.resolve("Program.cs"), list( + "namespace " + namespace + "{" + + " class Program {" + + " public static string run() {" + + " return \"T\";" + + " }" + + " }" + + "}" + )); + } +} -- cgit v1.2.3