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) {
  var value = namedArguments[const Symbol('value')];
  if (value == null) {
    throw "value required in Checkbox";
  }
  var onChanged = namedArguments[const Symbol('onChanged')];
  if (onChanged == null) {
    throw "onChanged required in Checkbox";
  }
  Color? activeColor;
  var activeColorParsed = namedArguments[const Symbol('activeColor')];
  if (activeColorParsed != null) {
    activeColor = activeColorParsed as Color;
  }
  Color? checkColor;
  var checkColorParsed = namedArguments[const Symbol('checkColor')];
  if (checkColorParsed != null) {
    checkColor = checkColorParsed as Color;
  }
  Color? focusColor;
  var focusColorParsed = namedArguments[const Symbol('focusColor')];
  if (focusColorParsed != null) {
    focusColor = focusColorParsed as Color;
  }
  double? splashRadius =
      parseDouble(namedArguments[const Symbol('splashRadius')]);
  bool autofocus = false;
  var autofocusParsed = namedArguments[const Symbol('autofocus')];
  if (autofocusParsed != null) {
    autofocus = autofocusParsed as bool;
  }
  OutlinedBorder? shape;
  var shapeParsed = namedArguments[const Symbol('shape')];
  if (shapeParsed != null) {
    shape = shapeParsed as OutlinedBorder;
  }
  BorderSide? side;
  var sideParsed = namedArguments[const Symbol('side')];
  if (sideParsed != null) {
    side = sideParsed as BorderSide;
  }
  return Checkbox(
    value: value as bool,
    activeColor: activeColor,
    checkColor: checkColor,
    focusColor: focusColor,
    autofocus: autofocus,
    shape: shape,
    side: side,
    splashRadius: splashRadius,
    onChanged: (bool? value) {
      (onChanged as LoxFunction).call(interpreter, [value], {});
    },
  );
}