aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-31 22:19:02 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-31 22:19:02 +0100
commit9ff78407129e7a1fbc96848ca09a5f28cf7080ed (patch)
treef33e3a5c8f8972c756fb980a60ac03f4a98424d3 /src/main/java/org/zwobble/couscous/ast/MethodSignature.java
parent63186372abb41771c7a78c34ad3d17c458fa25e1 (diff)
Improve generic support in the interpreter
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/MethodSignature.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodSignature.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
index 060d2bc..715dade 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
@@ -1,9 +1,12 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.types.Types;
import java.util.List;
+import static org.zwobble.couscous.util.ExtraLists.eagerMap;
+
public class MethodSignature {
public static MethodSignature signature(String name, List<Type> arguments, Type returnType) {
return new MethodSignature(name, arguments, returnType);
@@ -31,6 +34,13 @@ public class MethodSignature {
return returnType;
}
+ public MethodSignature generic() {
+ return new MethodSignature(
+ name,
+ eagerMap(arguments, Types::generic),
+ Types.generic(returnType));
+ }
+
@Override
public String toString() {
return "MethodSignature(" +