call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

Implementation

@override
Object? call(Interpreter interpreter, List<Object?> arguments,
    Map<Symbol, Object?> namedArguments) {
  if (arguments.length < 2) {
    throw "arguments required in Timer";
  }
  return Timer.periodic(arguments.first as Duration, (timer) {
    (arguments[1] as LoxFunction).call(interpreter, [TimerIns(timer)], {});
  });
}