call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
Axis scrollDirection = Axis.vertical;
var scrollDirectionParsed = namedArguments[const Symbol('scrollDirection')];
if (scrollDirectionParsed != null) {
scrollDirection = scrollDirectionParsed as Axis;
}
bool reverse = false;
var reverseParsed = namedArguments[const Symbol('reverse')];
if (reverseParsed != null) {
reverse = reverseParsed as bool;
}
bool? primary;
var primaryParsed = namedArguments[const Symbol('primary')];
if (primaryParsed != null) {
primary = primaryParsed as bool;
}
bool shrinkWrap = false;
var shrinkWrapParsed = namedArguments[const Symbol('shrinkWrap')];
if (shrinkWrapParsed != null) {
shrinkWrap = shrinkWrapParsed as bool;
}
EdgeInsetsGeometry? padding;
var paddingParsed = namedArguments[const Symbol('padding')];
if (paddingParsed != null) {
padding = paddingParsed as EdgeInsetsGeometry;
}
double? cacheExtent =
parseDouble(namedArguments[const Symbol('cacheExtent')]);
Clip clipBehavior = Clip.hardEdge;
var clipBehaviorParsed = namedArguments[const Symbol('clipBehavior')];
if (clipBehaviorParsed != null) {
clipBehavior = clipBehaviorParsed as Clip;
}
ScrollPhysics? physics;
var physicsParsed = namedArguments[const Symbol('physics')];
if (physicsParsed != null) {
physics = physicsParsed as ScrollPhysics;
}
ScrollController? controller;
var controllerParsed = namedArguments[const Symbol('controller')];
if (controllerParsed != null) {
controller = controllerParsed as ScrollController;
}
SliverGridDelegate gridDelegate;
var gridDelegateParsed = namedArguments[const Symbol('gridDelegate')];
if (gridDelegateParsed == null) {
throw "gridDelegate required in GridView";
}
gridDelegate = gridDelegateParsed as SliverGridDelegate;
int? itemCount;
var itemCountParsed = namedArguments[const Symbol('itemCount')];
if (itemCountParsed != null) {
itemCount = itemCountParsed as int;
}
Widget? Function(BuildContext, int) itemBuilder;
var itemBuilderParsed = namedArguments[const Symbol('itemBuilder')];
if (itemBuilderParsed == null) {
throw "itemBuilder required in GridView";
}
itemBuilder = (ctx, index) {
return (itemBuilderParsed as LoxFunction)
.call(interpreter, [ctx, index], {}) as Widget;
};
return GridView.builder(
cacheExtent: cacheExtent,
physics: physics,
controller: controller,
gridDelegate: gridDelegate,
clipBehavior: clipBehavior,
scrollDirection: scrollDirection,
shrinkWrap: shrinkWrap,
padding: padding,
reverse: reverse,
primary: primary,
itemBuilder: itemBuilder,
itemCount: itemCount,
);
}