| // Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:_embedder'; |
| import 'dart:_internal' show patch; |
| import 'dart:_string'; |
| import 'dart:_wasm'; |
| |
| @patch |
| class double { |
| @patch |
| static double parse(String source) { |
| double? result = tryParse(source); |
| if (result == null) { |
| throw FormatException('Invalid double $source'); |
| } |
| return result; |
| } |
| |
| @patch |
| static double? tryParse(String source) { |
| final parseResult = doubleTryParse( |
| embedderStringFromDartString(source).wrappedExternRef, |
| ); |
| if (parseResult.isNull) { |
| return null; |
| } else { |
| return tryParseResultGetDouble(parseResult).toDouble(); |
| } |
| } |
| } |