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) {
  Color? color;
  var colorParsed = namedArguments[const Symbol('color')];
  if (colorParsed != null) {
    color = colorParsed as Color;
  }
  Function()? onPressed;
  var onPressedParsed = namedArguments[const Symbol('onPressed')];
  if (onPressedParsed != null) {
    onPressed = () {
      (onPressedParsed as LoxFunction).call(interpreter, [], {});
    };
  }
  return BackButton(
    color: color,
    onPressed: onPressed,
  );
}