aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-06 17:45:34 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-06 17:45:34 +0000
commitfd7c556c3050b94f4d6727ade7878107c79f267a (patch)
tree9dff948e896c4cd203b5772481b4f8e12ace0656 /src/main/java
parentb92265e3900119455c76053bebf4911c58d654f5 (diff)
Include return type when generating method names
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodSignature.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/Names.java8
2 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
index d7bc725..908e673 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
@@ -21,6 +21,10 @@ public class MethodSignature {
return arguments;
}
+ public TypeName getReturnType() {
+ return returnType;
+ }
+
@Override
public String toString() {
return "MethodSignature(" +
diff --git a/src/main/java/org/zwobble/couscous/backends/Names.java b/src/main/java/org/zwobble/couscous/backends/Names.java
index fc8072f..d467296 100644
--- a/src/main/java/org/zwobble/couscous/backends/Names.java
+++ b/src/main/java/org/zwobble/couscous/backends/Names.java
@@ -3,6 +3,7 @@ package org.zwobble.couscous.backends;
import com.google.common.base.Joiner;
import com.google.common.collect.Iterables;
import org.zwobble.couscous.ast.MethodSignature;
+import org.zwobble.couscous.ast.TypeName;
import static com.google.common.collect.Iterables.transform;
import static org.zwobble.couscous.util.ExtraLists.list;
@@ -11,6 +12,11 @@ public class Names {
public static String toUniqueName(MethodSignature signature) {
return Joiner.on("__").join(Iterables.concat(
list(signature.getName()),
- transform(signature.getArguments(), argument -> argument.getQualifiedName().replace('.', '_'))));
+ transform(signature.getArguments(), Names::typeToString),
+ list(typeToString(signature.getReturnType()))));
+ }
+
+ private static String typeToString(TypeName argument) {
+ return argument.getQualifiedName().replace('.', '_');
}
}