From 37968a7c65eaf96ff0ab937f0a7827e0891c8880 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 30 Sep 2015 20:14:04 +0100 Subject: Throw error on wrong number of arguments --- .../java/org/zwobble/couscous/values/MethodValue.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/values/MethodValue.java') diff --git a/src/main/java/org/zwobble/couscous/values/MethodValue.java b/src/main/java/org/zwobble/couscous/values/MethodValue.java index 38ef1d5..fe23f94 100644 --- a/src/main/java/org/zwobble/couscous/values/MethodValue.java +++ b/src/main/java/org/zwobble/couscous/values/MethodValue.java @@ -1,7 +1,21 @@ package org.zwobble.couscous.values; import java.util.List; +import java.util.function.BiFunction; -public interface MethodValue { - InterpreterValue call(List arguments); +import org.zwobble.couscous.interpreter.Arguments; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.Value; + +@Value +public class MethodValue { + List> argumentTypes; + @Getter(value=AccessLevel.NONE) + BiFunction apply; + + public InterpreterValue apply(T receiver, Arguments arguments) { + return apply.apply(receiver, arguments); + } } -- cgit v1.2.3