diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-31 15:28:17 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-31 15:28:53 +0100 |
| commit | 4a8a8993b6b959a2018f462de6fb9384ba15d8ea (patch) | |
| tree | 21bce36f13deec60f7a443c62ee4bcc8a73606e2 /src/main/java/org/zwobble/couscous/backends/csharp | |
| parent | a69580c1771f02eaaeeda5f210f3d714e83a2c29 (diff) | |
Add interface for generating method names, use in C# backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/csharp')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java index 1b64293..5f00f85 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java @@ -1,9 +1,12 @@ package org.zwobble.couscous.backends.csharp; import com.google.common.collect.ImmutableMap; -import org.zwobble.couscous.ast.*; +import org.zwobble.couscous.ast.ExpressionNode; +import org.zwobble.couscous.ast.MethodCallNode; +import org.zwobble.couscous.ast.Node; +import org.zwobble.couscous.ast.Receiver; import org.zwobble.couscous.ast.visitors.NodeTransformer; -import org.zwobble.couscous.backends.Names; +import org.zwobble.couscous.backends.Naming; import org.zwobble.couscous.types.*; import java.util.Map; @@ -26,15 +29,15 @@ public class CsharpCodeGenerator { private final NodeTransformer nodeTransformer; public static Node generateCode(Node node, String namespace) { - return new CsharpCodeGenerator(namespace).generateCode(node); + return new CsharpCodeGenerator(Naming.signaturesContainsSimpleNames(), namespace).generateCode(node); } - private CsharpCodeGenerator(String namespace) { + private CsharpCodeGenerator(Naming naming, String namespace) { this.namespace = namespace; nodeTransformer = NodeTransformer.builder() .transformType(this::transformType) .transformExpression(this::transformExpression) - .transformMethodName(this::transformMethodName) + .transformMethodName(naming::methodName) .build(); } @@ -78,10 +81,6 @@ public class CsharpCodeGenerator { }); } - private String transformMethodName(MethodSignature signature) { - return Names.toUniqueName(signature); - } - private Optional<ExpressionNode> transformExpression(ExpressionNode expression) { return tryCast(MethodCallNode.class, expression) .flatMap(this::transformMethodCall); |
