$parse static method

$double? $parse(
  1. Runtime runtime,
  2. $Value? target,
  3. List<$Value?> args
)
override

Wrapper of num.parse

Implementation

static $double? $parse(Runtime runtime, $Value? target, List<$Value?> args) {
  final source = args[0]!.$value as String;
  final onError = args[1] as EvalCallable?;
  final double result;
  try {
    result = double.parse(source);
  } on FormatException catch (e) {
    if (onError != null) {
      final errorResult = onError.call(runtime, null, [$String(source)]);
      if (errorResult != null) {
        return errorResult as $double?;
      }
    }
    runtime.$throw($FormatException.wrap(e));
    return null;
  }
  return $double(result);
}