dart-sdk/pkg/vm/testcases/transformations
Clement Skau 998d5f5a9b [vm/ffi] Adds FFI transform FfiNative instance methods.
- Allows FfiNative annotation to be attached to non-static
  methods of classes.
- Transforms non-static instance methods to static, adding
  wrappers with the receiver as an extra, implicit first paramters.
- Transform all parameters and arguments to Pointer if the object
  being passed supports it (i.e. extends NativeFieldWrapperClass1).
- Adds compile time errors for cases where the FfiNative annotation
  doesn't align with the annotated function. Taking into account
  implicit receivers and converted Pointers.
- Adds complimentary Analyzer checks for the above errors as well.
- Adds tests for the transforms, compile time errors and analyzer
  changes.

TEST=Adds new tests for instance methods, analyzer changes.

Change-Id: Idf54430acf2728a650008333b149b254941290ad
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213773
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2021-10-12 10:58:44 +00:00
..
deferred_loading Migrate pkg/vm to null safety, part 1 2021-07-20 06:49:20 +00:00
ffi [vm/ffi] Adds FFI transform FfiNative instance methods. 2021-10-12 10:58:44 +00:00
to_string_transformer Add extension name getter on Enum. 2021-09-22 14:20:16 +00:00
type_flow [io/unix-domain-sockets] Ensure runtime-looked up entry points are marked as such. 2021-10-08 20:22:28 +00:00
unreachable_code_elimination [cfe] Update precedence for instantiation and constant nodes in ast-to-text 2021-09-10 12:10:27 +00:00