Files
sdk/tests
Simon Binder 152cc247e0 [dart2wasm] Split patch files by whether they use JS interop
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>
2026-04-13 03:44:43 -07:00
..
2026-03-25 02:48:45 -07:00
2026-04-10 09:24:12 -07:00

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.