aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-31 15:35:00 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-31 15:35:00 +0100
commit0ca0aaab2e2f38d25d96a9661ee95f33f9054467 (patch)
treec685437607220ec6bd810e431a390cf83f88fc41 /src/main
parent4a8a8993b6b959a2018f462de6fb9384ba15d8ea (diff)
Remove _couscous.cs in C# backend
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java3
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java11
-rw-r--r--src/main/resources/csharp/runtime/_couscous.cs7
3 files changed, 12 insertions, 9 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 3c58dae..cc8b62c 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpBackend.java
@@ -18,8 +18,7 @@ public class CsharpBackend implements Backend {
private static final List<String> RUNTIME_FILES = ImmutableList.of(
"java/lang/Integer.cs",
"java/lang/Object.cs",
- "java/lang/String.cs",
- "_couscous.cs");
+ "java/lang/String.cs");
private final Path directoryPath;
private final String namespace;
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
index 96f8c00..dcd09ff 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
@@ -2,8 +2,10 @@ package org.zwobble.couscous.backends.csharp;
import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.ExpressionNode;
+import org.zwobble.couscous.ast.Operator;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Types;
+import org.zwobble.couscous.values.InternalCouscousValue;
import java.util.List;
import java.util.Map;
@@ -12,6 +14,7 @@ import java.util.Optional;
import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess;
import static org.zwobble.couscous.ast.MethodCallNode.methodCall;
import static org.zwobble.couscous.ast.MethodCallNode.staticMethodCall;
+import static org.zwobble.couscous.ast.OperationNode.operation;
import static org.zwobble.couscous.ast.Operations.integerSubtract;
import static org.zwobble.couscous.util.ExtraLists.list;
@@ -82,9 +85,17 @@ public class CsharpPrimitiveMethods {
.build();
+ private static final Map<String, PrimitiveStaticMethodGenerator> STATIC_INTERNAL_METHODS =
+ ImmutableMap.<String, PrimitiveStaticMethodGenerator>builder()
+
+ .put("same", arguments -> operation(Operator.EQUALS, arguments, Types.BOOLEAN))
+
+ .build();
+
private static final Map<ScalarType, Map<String, PrimitiveStaticMethodGenerator>> STATIC_METHODS =
ImmutableMap.<ScalarType, Map<String, PrimitiveStaticMethodGenerator>>builder()
.put(Types.BOXED_INT, STATIC_INT_METHODS)
+ .put(InternalCouscousValue.REF, STATIC_INTERNAL_METHODS)
.build();
public static Optional<PrimitiveMethodGenerator> getPrimitiveMethod(ScalarType type, String methodName) {
diff --git a/src/main/resources/csharp/runtime/_couscous.cs b/src/main/resources/csharp/runtime/_couscous.cs
deleted file mode 100644
index 2666c9d..0000000
--- a/src/main/resources/csharp/runtime/_couscous.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Couscous {
- internal class _couscous {
- internal static bool same__java_lang_Object__java_lang_Object__boolean(object first, object second) {
- return object.ReferenceEquals(first, second);
- }
- }
-}