call method
Implementation
@override
Object call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
Widget? child;
var childParsed = namedArguments[const Symbol('child')];
if (childParsed != null) {
child = childParsed as Widget;
}
var valueListenable = namedArguments[const Symbol('valueListenable')];
if (valueListenable == null) {
throw "valueListenable required in ValueListenableBuilder";
}
var builder = namedArguments[const Symbol('builder')];
if (builder == null) {
throw "builder required in ListView.builder";
}
return ValueListenableBuilder(
builder: (context, value, child) {
return (builder as LoxFunction)
.call(interpreter, [context, value, child], {}) as Widget;
},
valueListenable: valueListenable as ValueListenable,
child: child);
}