call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
var icon = namedArguments[const Symbol('icon')];
if (icon == null) {
throw "icon required in TextButton.icon";
}
var label = namedArguments[const Symbol('label')];
if (label == null) {
throw "label required in TextButton.icon";
}
ButtonStyle? style;
var styleParsed = namedArguments[const Symbol('style')];
if (styleParsed != null) {
style = styleParsed as ButtonStyle;
}
var onPressed = namedArguments[const Symbol('onPressed')];
if (onPressed == null) {
throw "onPressed required in TextButton";
}
bool? autofocus;
var autofocusParsed = namedArguments[const Symbol('autofocus')];
if (autofocusParsed != null) {
autofocus = autofocusParsed as bool;
}
return OutlinedButton.icon(
icon: icon as Widget,
label: label as Widget,
autofocus: autofocus,
style: style,
onPressed: () {
(onPressed as LoxFunction).call(interpreter, [], {});
});
}