Daco Harkes
92e5746494
Reland "[vm/ffi] Add class modifiers"
...
This is a reland of commit 1755f89092
Can land after (or with) the Flutter PR:
https://github.com/flutter/engine/pull/40434
Original change's description:
> [vm/ffi] Add class modifiers
>
> Adds class modifiers to `dart:ffi`.
>
> Migrates all user-defined subclasses of `Struct`, `Union`, `Opaque`,
> and `AbiSpecificInteger` to be `final class`es.
>
> Does not remove the manual error checking, so some errors will show up
> twice now in language version 3.0. In language version <3.0, only the
> FFI-specific error will show up.
>
> In a follow-up CL, we will try to make the language-errors to show up
> also <3.0 so that we can remove the FFI-specific errors.
>
> Examples of duplicated errors:
> pkg/analyzer/test/src/diagnostics/subtype_of_ffi_class_test.dart
>
> TEST=pkg/analyzer/test/ (for the analyzer)
> TEST=pkg/front_end/testcases/ (for the CFE)
> TEST=test/ffi/ (for the VM)
>
> CoreLibraryReviewExempt: No need for dart2js to review.
> Bug: https://github.com/dart-lang/sdk/issues/51683
> Change-Id: I2964ceccb7db59fbdaf6be5319f5e4ec2dabe0f3
> Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-win-release-try,pkg-mac-release-try,vm-precomp-ffi-qemu-linux-release-riscv64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-debug-arm-try,vm-reload-rollback-linux-debug-x64-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289223
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Reviewed-by: Devon Carew <devoncarew@google.com >
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> Reviewed-by: Jackson Gardner <jacksongardner@google.com >
> Reviewed-by: Lasse Nielsen <lrn@google.com >
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
TEST=pkg/analyzer/test/ (for the analyzer)
TEST=pkg/front_end/testcases/ (for the CFE)
TEST=test/ffi/ (for the VM)
CoreLibraryReviewExempt: No need for dart2js to review.
Bug: https://github.com/dart-lang/sdk/issues/51683
Change-Id: I2ee3f0ac31d4162068a2346a06320029b2263ee2
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-win-release-try,pkg-mac-release-try,vm-precomp-ffi-qemu-linux-release-riscv64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-debug-arm-try,vm-reload-rollback-linux-debug-x64-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289781
Reviewed-by: Devon Carew <devoncarew@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-03-21 15:25:10 +00:00
..
2023-03-21 15:25:10 +00:00
2023-01-18 21:08:38 +00:00
2023-03-06 22:06:59 +00:00
2022-12-29 10:18:02 +00:00
2023-02-27 21:07:41 +00:00
2023-03-06 22:06:59 +00:00
2021-08-10 21:10:01 +00:00
2023-02-17 10:25:17 +00:00
2023-03-06 22:06:59 +00:00
2023-03-06 22:06:59 +00:00
2022-03-03 00:58:49 +00:00
2022-12-06 04:04:23 +00:00
2023-03-06 21:00:30 +00:00
2021-03-19 15:29:57 +00:00
2022-11-17 20:35:47 +00:00
2021-12-16 10:39:49 +00:00
2023-03-06 22:06:59 +00:00
2023-03-06 22:06:59 +00:00
2022-03-26 09:41:21 +00:00
2023-02-27 18:08:25 +00:00
2022-11-15 17:15:58 +00:00
2023-02-28 12:41:00 +00:00
2023-02-06 21:49:07 +00:00
2023-02-06 21:49:07 +00:00
2023-03-14 17:39:31 +00:00
2023-03-14 17:39:31 +00:00
2023-02-09 00:23:22 +00:00
2023-01-16 16:28:43 +00:00
2023-01-16 16:28:43 +00:00
2022-10-14 14:09:44 +00:00
2022-10-14 14:09:44 +00:00
2021-09-08 13:39:34 +00:00
2023-02-24 23:01:28 +00:00
2022-11-11 18:37:44 +00:00
2021-09-10 22:21:36 +00:00
2021-11-24 13:03:52 +00:00
2021-09-10 22:21:36 +00:00
2021-11-24 13:03:52 +00:00
2021-09-10 22:21:36 +00:00
2022-10-27 16:05:39 +00:00
2022-01-20 00:57:57 +00:00
2022-08-25 17:15:33 +00:00
2021-09-10 22:21:36 +00:00
2023-03-06 22:06:59 +00:00
2023-01-20 12:37:49 +00:00
2022-11-17 20:35:47 +00:00
2022-02-22 21:48:14 +00:00
2023-02-27 22:26:36 +00:00
2022-02-22 21:48:14 +00:00
2023-01-20 10:30:41 +00:00
2022-06-08 19:41:52 +00:00
2022-06-08 22:57:03 +00:00
2023-01-20 10:30:41 +00:00
2022-06-23 15:58:15 +00:00
2023-01-24 18:00:25 +00:00
2022-06-08 22:57:03 +00:00
2023-01-20 10:30:41 +00:00
2022-06-08 22:57:03 +00:00
2022-04-07 23:15:48 +00:00
2023-02-27 22:26:36 +00:00
2022-04-13 07:54:02 +00:00
2021-12-16 21:33:49 +00:00
2021-09-27 23:45:45 +00:00
2021-12-16 21:33:49 +00:00
2022-11-21 21:52:03 +00:00
2022-01-20 00:57:57 +00:00
2022-01-20 00:57:57 +00:00
2022-07-29 18:11:01 +00:00
2021-12-16 21:33:49 +00:00
2022-01-20 00:57:57 +00:00
2022-11-14 15:42:52 +00:00
2022-11-14 15:42:52 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2022-12-15 17:36:39 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2022-01-20 00:57:57 +00:00
2022-11-01 09:35:02 +00:00
2023-03-21 15:25:10 +00:00
2023-03-06 22:06:59 +00:00
2023-03-06 22:06:59 +00:00
2021-07-29 16:55:55 +00:00
2021-10-14 00:10:12 +00:00
2022-09-06 15:13:16 +00:00
2022-10-28 19:18:51 +00:00
2022-03-25 10:29:30 +00:00
2023-03-08 09:08:39 +00:00
2022-12-15 13:45:10 +00:00
2021-04-26 07:52:47 +00:00
2021-07-08 14:22:54 +00:00
2023-01-20 12:37:49 +00:00
2022-06-10 15:48:54 +00:00
2023-01-19 10:06:29 +00:00
2021-03-19 20:24:48 +00:00
2021-03-19 20:24:48 +00:00
2021-03-19 20:24:48 +00:00
2022-01-20 00:57:57 +00:00
2021-03-19 20:24:48 +00:00
2023-02-15 15:45:48 +00:00
2023-01-18 08:45:31 +00:00
2023-03-06 22:06:59 +00:00
2022-12-20 20:11:48 +00:00
2022-12-20 20:11:48 +00:00
2022-08-03 10:32:46 +00:00
2022-09-12 12:33:57 +00:00
2022-09-12 12:33:57 +00:00
2021-09-01 16:57:59 +00:00
2021-09-01 16:57:59 +00:00
2023-03-06 22:06:59 +00:00
2023-01-19 16:24:29 +00:00
2023-01-24 18:00:25 +00:00
2022-10-06 10:33:09 +00:00
2022-11-01 09:35:02 +00:00
2023-02-10 14:26:19 +00:00
2023-01-24 18:00:25 +00:00
2023-03-10 20:02:23 +00:00
2023-03-10 20:02:23 +00:00
2021-09-08 01:16:57 +00:00
2022-12-29 10:18:02 +00:00
2022-02-17 18:10:31 +00:00
2023-01-30 18:29:59 +00:00
2023-01-27 19:03:18 +00:00
2022-11-03 22:41:53 +00:00
2022-11-03 22:41:53 +00:00
2022-04-27 17:11:35 +00:00
2023-02-28 12:41:00 +00:00
2023-02-06 22:19:55 +00:00
2022-11-23 20:24:29 +00:00
2022-11-23 20:24:29 +00:00
2022-11-23 20:24:29 +00:00
2022-07-06 12:48:16 +00:00
2022-01-21 02:02:00 +00:00
2023-01-18 20:16:11 +00:00
2022-12-01 10:15:58 +00:00
2022-12-29 10:18:02 +00:00
2023-01-20 12:37:49 +00:00
2022-05-11 19:52:45 +00:00
2022-12-29 10:18:02 +00:00
2022-05-11 19:52:45 +00:00
2022-12-29 10:18:02 +00:00
2022-01-20 00:57:57 +00:00
2022-08-25 17:15:33 +00:00
2022-12-29 10:18:02 +00:00
2023-03-06 22:06:59 +00:00
2023-02-03 11:00:18 +00:00
2022-05-11 19:52:45 +00:00
2022-05-11 19:52:45 +00:00
2023-03-14 17:39:31 +00:00
2023-03-14 17:39:31 +00:00
2023-03-14 17:39:31 +00:00
2023-01-19 10:36:51 +00:00
2023-03-06 22:06:59 +00:00
2023-02-24 03:39:05 +00:00
2022-06-02 16:50:19 +00:00
2022-06-02 16:50:19 +00:00
2023-03-03 09:37:38 +00:00
2023-02-21 18:58:42 +00:00
2022-11-11 01:59:28 +00:00
2023-03-16 11:43:58 +00:00
2023-01-27 17:47:38 +00:00
2023-01-27 17:47:38 +00:00
2023-03-06 22:06:59 +00:00
2022-11-03 15:44:25 +00:00
2022-11-11 01:59:28 +00:00
2023-03-15 17:34:37 +00:00
2023-03-15 17:34:37 +00:00
2021-05-10 09:13:09 +00:00
2023-01-19 10:36:51 +00:00
2022-05-11 19:31:04 +00:00
2021-09-30 13:19:42 +00:00
2021-09-16 19:40:05 +00:00
2021-09-16 17:18:37 +00:00
2022-12-01 01:35:26 +00:00
2023-01-31 18:28:59 +00:00
2023-01-31 18:28:59 +00:00
2023-02-23 03:11:08 +00:00
2022-08-19 18:10:15 +00:00
2022-03-25 10:29:30 +00:00
2022-09-27 21:34:05 +00:00
2022-06-08 18:01:02 +00:00
2022-06-13 15:30:57 +00:00
2022-03-08 22:42:46 +00:00
2023-02-13 18:24:32 +00:00
2023-03-06 22:06:59 +00:00
2022-03-26 09:41:21 +00:00
2021-09-02 14:14:35 +00:00
2021-07-29 16:55:55 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2023-03-06 22:06:59 +00:00
2023-02-23 03:11:08 +00:00
2021-07-07 23:12:53 +00:00
2022-12-01 14:38:44 +00:00
2022-12-01 14:38:44 +00:00
2023-03-14 17:39:31 +00:00
2022-01-20 00:57:57 +00:00
2023-02-27 21:07:41 +00:00
2023-01-20 10:30:41 +00:00
2023-02-06 21:49:07 +00:00
2023-03-06 21:00:30 +00:00
2023-03-14 17:39:31 +00:00
2023-03-14 17:39:31 +00:00
2023-03-03 19:05:28 +00:00
2023-03-03 19:05:28 +00:00
2023-03-03 19:05:28 +00:00
2023-03-06 22:06:59 +00:00
2023-03-15 00:24:51 +00:00
2022-03-10 23:48:05 +00:00
2023-03-15 00:24:51 +00:00
2023-03-15 00:24:51 +00:00
2021-03-31 20:51:32 +00:00
2023-03-15 00:24:51 +00:00
2023-03-15 00:24:51 +00:00
2023-03-15 00:24:51 +00:00
2023-03-02 23:07:16 +00:00
2023-03-02 23:07:16 +00:00
2023-03-03 19:05:28 +00:00
2023-03-03 19:05:28 +00:00
2023-01-31 18:47:46 +00:00
2022-12-13 19:28:37 +00:00
2022-06-02 23:39:45 +00:00
2022-06-02 23:39:45 +00:00
2022-09-27 21:34:05 +00:00
2022-08-19 18:10:15 +00:00
2022-08-19 18:10:15 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2023-03-06 21:00:30 +00:00
2023-03-06 21:00:30 +00:00
2023-03-06 21:00:30 +00:00
2023-03-06 21:00:30 +00:00
2023-03-06 21:00:30 +00:00
2023-03-06 22:06:59 +00:00
2021-08-24 16:49:23 +00:00
2022-11-22 18:05:24 +00:00
2022-11-22 18:05:24 +00:00
2023-01-17 20:33:03 +00:00
2022-12-01 14:38:44 +00:00
2023-03-06 22:06:59 +00:00
2023-03-13 20:37:03 +00:00
2021-09-02 19:22:16 +00:00
2021-08-20 16:19:16 +00:00
2023-01-27 00:43:59 +00:00
2023-01-27 00:43:59 +00:00
2023-01-06 07:48:22 +00:00
2021-09-02 19:22:16 +00:00
2023-03-09 03:49:58 +00:00
2023-03-09 03:49:58 +00:00
2021-06-09 02:50:50 +00:00
2022-12-29 10:18:02 +00:00
2022-10-03 21:24:47 +00:00
2023-01-18 20:16:11 +00:00
2021-12-16 10:39:49 +00:00
2021-12-16 10:39:49 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2022-11-17 02:28:37 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2023-03-06 22:06:59 +00:00
2022-03-22 19:45:03 +00:00
2021-05-11 11:15:53 +00:00
2023-01-31 18:47:46 +00:00
2023-03-13 20:37:03 +00:00
2023-03-13 20:37:03 +00:00
2022-07-20 18:08:27 +00:00
2021-07-16 20:50:58 +00:00
2022-08-19 18:10:15 +00:00
2022-06-15 11:08:28 +00:00
2023-01-24 18:00:25 +00:00
2023-03-20 17:21:27 +00:00
2023-02-27 21:07:41 +00:00
2021-08-16 11:11:04 +00:00
2021-08-16 11:11:04 +00:00
2022-01-20 00:57:57 +00:00
2023-01-06 07:48:22 +00:00
2021-08-16 11:11:04 +00:00
2021-08-16 11:11:04 +00:00
2023-02-27 22:26:36 +00:00
2022-07-07 16:02:51 +00:00
2023-02-13 18:24:32 +00:00
2022-07-07 16:02:51 +00:00
2023-03-20 20:46:27 +00:00
2022-11-23 18:39:07 +00:00
2022-07-29 18:11:01 +00:00
2022-07-29 18:11:01 +00:00
2022-07-29 18:11:01 +00:00
2023-03-06 21:00:30 +00:00
2021-09-15 22:32:04 +00:00
2022-09-27 21:34:05 +00:00
2022-07-15 18:30:20 +00:00
2023-02-24 07:45:06 +00:00
2022-12-01 02:54:18 +00:00
2022-12-29 10:18:02 +00:00
2022-12-29 10:18:02 +00:00
2022-12-29 10:18:02 +00:00
2021-09-08 13:39:34 +00:00
2022-12-29 10:18:02 +00:00
2022-11-17 17:20:18 +00:00
2022-11-17 17:20:18 +00:00
2023-01-18 23:34:12 +00:00
2022-07-14 16:04:54 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2022-12-07 22:46:22 +00:00
2022-03-22 19:45:03 +00:00
2022-03-22 19:45:03 +00:00
2022-09-12 23:08:17 +00:00
2022-11-11 18:37:44 +00:00
2023-02-06 21:49:07 +00:00
2023-01-27 00:43:59 +00:00
2023-01-17 20:33:03 +00:00
2023-02-23 18:03:57 +00:00
2023-02-23 18:03:57 +00:00
2021-11-02 17:42:52 +00:00
2021-11-02 17:42:52 +00:00
2021-08-16 11:11:04 +00:00
2023-02-21 19:07:57 +00:00
2023-03-20 20:46:27 +00:00
2023-02-21 19:07:57 +00:00
2023-02-21 19:07:57 +00:00
2023-02-21 19:07:57 +00:00
2023-02-21 19:07:57 +00:00
2023-02-21 19:07:57 +00:00
2023-03-06 22:06:59 +00:00
2023-01-09 15:48:57 +00:00
2022-11-22 18:05:24 +00:00
2022-11-22 18:05:24 +00:00
2021-10-14 00:10:12 +00:00
2021-10-14 00:10:12 +00:00
2022-12-29 10:18:02 +00:00
2023-02-21 19:07:57 +00:00
2023-01-18 20:16:11 +00:00
2022-07-22 19:13:47 +00:00
2022-07-22 19:13:47 +00:00
2022-07-22 19:13:47 +00:00
2022-07-25 17:42:49 +00:00
2023-03-16 17:46:28 +00:00
2023-03-14 18:20:39 +00:00
2023-03-03 19:05:28 +00:00
2021-10-05 16:32:40 +00:00
2021-10-05 16:32:40 +00:00
2021-12-15 23:12:19 +00:00
2023-02-20 14:57:57 +00:00
2022-08-03 10:32:46 +00:00
2022-08-03 10:32:46 +00:00
2023-03-06 19:04:55 +00:00
2023-01-20 12:37:49 +00:00
2022-12-29 10:18:02 +00:00
2023-01-20 12:37:49 +00:00
2023-02-13 21:14:38 +00:00
2023-03-06 22:06:59 +00:00
2023-01-20 18:20:17 +00:00
2022-12-29 10:18:02 +00:00
2022-10-06 00:50:45 +00:00
2021-12-15 22:22:36 +00:00
2021-09-02 21:46:35 +00:00
2022-08-05 11:53:37 +00:00
2022-09-27 21:34:05 +00:00
2022-12-01 01:35:26 +00:00
2023-03-06 22:06:59 +00:00
2022-12-15 00:52:58 +00:00
2022-09-27 21:34:05 +00:00
2023-03-06 22:06:59 +00:00
2022-12-01 01:35:26 +00:00
2022-09-10 15:12:35 +00:00
2022-09-10 15:12:35 +00:00
2023-03-06 21:00:30 +00:00
2022-11-23 20:24:29 +00:00
2022-05-05 23:20:25 +00:00
2023-03-06 22:06:59 +00:00