call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
double? left = parseDouble(namedArguments[const Symbol('left')]);
double? top = parseDouble(namedArguments[const Symbol('top')]);
double? right = parseDouble(namedArguments[const Symbol('right')]);
double? bottom = parseDouble(namedArguments[const Symbol('bottom')]);
double? width = parseDouble(namedArguments[const Symbol('width')]);
double? height = parseDouble(namedArguments[const Symbol('height')]);
var child = namedArguments[const Symbol('child')];
if (child == null) {
throw "child is required in AnimatedPositioned";
}
var duration = namedArguments[const Symbol('duration')];
if (duration == null) {
throw "duration required in AnimatedContainer";
}
Curve curve = Curves.linear;
var curveParsed = namedArguments[const Symbol('curve')];
if (curveParsed != null) {
curve = curveParsed as Curve;
}
void Function()? onEnd;
var onEndParsed = namedArguments[const Symbol('onEnd')];
if (onEndParsed != null) {
onEnd = () {
(onEndParsed as LoxFunction).call(interpreter, [], {});
};
}
return AnimatedPositioned(
left: left,
top: top,
right: right,
bottom: bottom,
width: width,
height: height,
curve: curve,
duration: duration as Duration,
onEnd: onEnd,
child: child as Widget,
);
}