aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Interpreter.java1
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java5
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;
}