diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-05 22:51:25 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-05 22:51:25 +0100 |
| commit | 8fe29f6add04fb9c2dbc3ad1d13d582787aa6e88 (patch) | |
| tree | ddfaa3d0dd651e2ad26def00119773529677d8b7 /src/main/java/org/zwobble/couscous/interpreter | |
| parent | 63fc003231e92e8f5ea2af29a04ba5507c212325 (diff) | |
Add MethodTypeParameter
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Interpreter.java | 1 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java | 5 |
2 files changed, 4 insertions, 2 deletions
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<Environment, MethodCallArguments<T>, 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<Environment, Arguments, InterpreterValue> method) { - staticMethods.put(new MethodSignature(name, argumentsTypes, returnType), new StaticMethodValue(argumentsTypes, method)); + staticMethods.put(signature(name, argumentsTypes, returnType), new StaticMethodValue(argumentsTypes, method)); return this; } |
