diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-06 17:45:34 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-06 17:45:34 +0000 |
| commit | fd7c556c3050b94f4d6727ade7878107c79f267a (patch) | |
| tree | 9dff948e896c4cd203b5772481b4f8e12ace0656 /src/main/java | |
| parent | b92265e3900119455c76053bebf4911c58d654f5 (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.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/Names.java | 8 |
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('.', '_'); } } |
