From 0ca0aaab2e2f38d25d96a9661ee95f33f9054467 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 31 Mar 2016 15:35:00 +0100 Subject: Remove _couscous.cs in C# backend --- .../org/zwobble/couscous/backends/csharp/CsharpBackend.java | 3 +-- .../couscous/backends/csharp/CsharpPrimitiveMethods.java | 11 +++++++++++ src/main/resources/csharp/runtime/_couscous.cs | 7 ------- 3 files changed, 12 insertions(+), 9 deletions(-) delete mode 100644 src/main/resources/csharp/runtime/_couscous.cs 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 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 STATIC_INTERNAL_METHODS = + ImmutableMap.builder() + + .put("same", arguments -> operation(Operator.EQUALS, arguments, Types.BOOLEAN)) + + .build(); + private static final Map> STATIC_METHODS = ImmutableMap.>builder() .put(Types.BOXED_INT, STATIC_INT_METHODS) + .put(InternalCouscousValue.REF, STATIC_INTERNAL_METHODS) .build(); public static Optional 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); - } - } -} -- cgit v1.2.3