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 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/main/java/org') 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) { -- cgit v1.2.3