package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.types.Type; import org.zwobble.couscous.interpreter.Environment; import org.zwobble.couscous.interpreter.PositionalArguments; import java.util.List; import java.util.function.BiFunction; public final class StaticMethodValue implements Callable { private final List argumentTypes; private final BiFunction apply; public InterpreterValue apply(Environment environment, PositionalArguments arguments) { return apply.apply(environment, arguments); } public StaticMethodValue(final List argumentTypes, final BiFunction apply) { this.argumentTypes = argumentTypes; this.apply = apply; } public List getArgumentTypes() { return this.argumentTypes; } }