diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/values/MethodValue.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/values/MethodValue.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/values/MethodValue.java b/src/main/java/org/zwobble/couscous/values/MethodValue.java index fe23f94..df53722 100644 --- a/src/main/java/org/zwobble/couscous/values/MethodValue.java +++ b/src/main/java/org/zwobble/couscous/values/MethodValue.java @@ -2,6 +2,7 @@ package org.zwobble.couscous.values; import java.util.List; import java.util.function.BiFunction; +import java.util.function.Supplier; import org.zwobble.couscous.interpreter.Arguments; @@ -10,11 +11,17 @@ import lombok.Getter; import lombok.Value; @Value -public class MethodValue<T> { - List<ConcreteType<?>> argumentTypes; +public class MethodValue<T> implements Callable { + @Getter(value=AccessLevel.NONE) + Supplier<List<ConcreteType<?>>> argumentTypes; @Getter(value=AccessLevel.NONE) BiFunction<T, Arguments, InterpreterValue> apply; + @Override + public List<ConcreteType<?>> getArgumentTypes() { + return argumentTypes.get(); + } + public InterpreterValue apply(T receiver, Arguments arguments) { return apply.apply(receiver, arguments); } |
