From 8fe29f6add04fb9c2dbc3ad1d13d582787aa6e88 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 5 Apr 2016 22:51:25 +0100 Subject: Add MethodTypeParameter --- src/main/java/org/zwobble/couscous/interpreter/Interpreter.java | 1 + .../zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter') diff --git a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java index a87b203..3df2540 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java @@ -29,6 +29,7 @@ public class Interpreter { StaticReceiverValue clazz = environment.findClass(className); MethodSignature signature = new MethodSignature( methodName, + list(), eagerMap(arguments, argument -> argument.getType().getType()), returnType); return clazz.callMethod(environment, signature, new Arguments(list(), arguments)); diff --git a/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java b/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java index 01418fa..b53b274 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java +++ b/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java @@ -17,6 +17,7 @@ import java.util.Optional; import java.util.Set; import java.util.function.BiFunction; +import static org.zwobble.couscous.ast.MethodSignature.signature; import static org.zwobble.couscous.util.Casts.tryCast; import static org.zwobble.couscous.util.ExtraLists.list; import static org.zwobble.couscous.util.ExtraSets.set; @@ -63,7 +64,7 @@ public class IntrinsicInterpreterType implements InterpreterType { Type returnType, BiFunction, InterpreterValue> method) { - methods.put(new MethodSignature(name, argumentsTypes, returnType), toMethodValue(argumentsTypes, method)); + methods.put(signature(name, argumentsTypes, returnType), toMethodValue(argumentsTypes, method)); return this; } @@ -82,7 +83,7 @@ public class IntrinsicInterpreterType implements InterpreterType { Type returnType, BiFunction method) { - staticMethods.put(new MethodSignature(name, argumentsTypes, returnType), new StaticMethodValue(argumentsTypes, method)); + staticMethods.put(signature(name, argumentsTypes, returnType), new StaticMethodValue(argumentsTypes, method)); return this; } -- cgit v1.2.3