152cc247e0
The eventual goal of the `dart2wasm_standalone` platform is to not rely on a JavaScript environment, which requires rewriting everything that currently relies on `js_interop` or `JS()` helpers. Since most of the patches are still written in Dart and we don't want to duplicate that code for the standalone target, this splits patch files by whether they rely on JS-interop or not. The main entrypoint for each patch (e.g. `lib/_internal/wasm/lib/core_patch.dart`) no longer relies on JS-interop and can safely be used in the standalone target. Part files that previously needed to use JS-interop have been moved into separate patches now, which allows us to migrate them incrementally. In some cases, it was easier to add new patch files: - Similar to the split between `boxed_int` and the `toString` helper patch, we now have the same for `boxed_double`. - The functionality to copy from JS typed data wrappers into Dart typed lists wouldn't work with standalone, so I've moved it into a separate method we can patch to be a noop. - `dart:_wasm` exposes APIs to convert between `JSAny` and `externref`. This is part of a public API, but I had to move those declarations into a patch file because they wouldn't work with standalone. Arguably, a separate library (`dart:_wasm_js_interop`?) would be cleaner but it might be fine as long as `dart:_wasm` is experimental? For now, new patch files relying on JS interop are also applied to the standalone target. They are marked with a comment indicating that they need to be migrated though. Change-Id: I583f23f6cc1a3fc7332962292d69f3a7b0327409 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/489660 Reviewed-by: Slava Egorov <vegorov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/tree/main/docs/Testing.md.