aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
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/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
parent4a8a8993b6b959a2018f462de6fb9384ba15d8ea (diff)
Remove _couscous.cs in C# backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java11
1 files changed, 11 insertions, 0 deletions
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) {