mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:30:32 +00:00
aa6abbf464
Before this CL, `FfiNative`s were first transformed to `asFunction` calls, which were then immediately transformed to `_asFunctionInternal` calls. This caused the the static checks to be done in two steps, the second step happening after the first transform. It is cleaner to first do all checks. This refactoring enables implementing `_asFunctionInternal` variants for `FfiNative`s that don't use a `Pointer` for the address. Besides the transform change, this CL - moves shared logic over to pkg/vm/lib/transformations/ffi/common.dart, - splits up the ffi-native tests in to positive and negative tests, and - adds negative tests for mismatches between Dart and native types. These new tests do _not yet_ pass on the analyzer. This is tracked in: https://github.com/dart-lang/sdk/issues/49412 TEST=tests/ffi/ffi_native_test.dart TEST=tests/ffi/vmspecific_static_checks_ffinative_test.dart Closes: https://github.com/dart-lang/sdk/issues/49413 Change-Id: I5baded43eab7ff1dc1ffb16550b2a638e4b7a34e Cq-Include-Trybots: luci.dart.try:analyzer-linux-release-try,analyzer-mac-release-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250843 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com> |
||
---|---|---|
.. | ||
bin | ||
lib | ||
test | ||
testcases/transformations | ||
tool | ||
analysis_options.yaml | ||
LICENSE | ||
OWNERS | ||
pubspec.yaml | ||
README.md |
This package hosts VM specific Dart code and helper scripts.