Ivan Inozemtsev 445a8fb328 Support running sound null safe kernels from dart_runner (flutter/engine#49598)
Before starting an isolate, `dart[_test]_component_controller` detects
sound null safety status for all given kernels and fails if they aren't
the same, and uses the result to set `null_safety` in isolate flags.

Also switch to `core` snapshots from `core-jit` snapshots, based on
https://github.com/flutter/engine/pull/30744, as it looks like
`core-jit` snapshots are not null safety agnostic.

See b/315776399


## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [X] All existing and new tests are passing.
2024-01-16 07:58:01 -08:00
Languages
Dart 75%
C++ 16.5%
Objective-C++ 2.9%
Java 2.8%
Objective-C 0.7%
Other 1.9%