)]}'
{
  "commit": "bf683bacbb75c62fa7c09d60f6f6a1afc907f133",
  "tree": "d7d7833f43dc3f8e50c3d22beb0c3cd80c3442a1",
  "parents": [
    "0151574bb0be59755319688ac9cd4477ac45fa14"
  ],
  "author": {
    "name": "Daco Harkes",
    "email": "dacoharkes@google.com",
    "time": "Thu Feb 01 18:28:03 2024 +0000"
  },
  "committer": {
    "name": "Daco Harkes",
    "email": "dacoharkes@google.com",
    "time": "Thu Feb 01 18:28:03 2024 +0000"
  },
  "message": "Reland \"[vm/ffi] Introduce `Struct.create` and `Union.create`\"\n\nAnalyzer fix https://github.com/dart-lang/sdk/issues/54754 has\nlanded. A new version of package:analyzer and package:dartdoc have\nbeen released. `pub global activate dartdoc` should now work.\n\nPatchset 1 is identical to the original CL.\nThe only difference is an extra test testing with negative offsets.\n\n\u003d\u003d\u003d Original CL description \u003d\u003d\u003d\n\nStructs and unions can now be created from an existing typed data\nwith the new `create` methods.\n\nThe typed data argument to these `create` methods is optional. If\nthe typed data argument is omitted, a new typed data of the right\nsize will be allocated.\n\nCompound field reads and writes are unchecked. (These are\nTypedDataBase loads and stores, rather than TypedData loads and stores.\nAnd Pointers have no byte length.) Therefore the `create` method taking\nexisting TypedData objects check whether the length in bytes it at\nleast the size of the compound.\n\nTEST\u003dpkg/analyzer/test/src/diagnostics/creation_of_struct_or_union_test.dart\nTEST\u003dpkg/vm/testcases/transformations/ffi/struct_typed_data.dart\nTEST\u003dtests/ffi/structs_typed_data_test.dart\nTEST\u003dtests/ffi/vmspecific_static_checks_test.dart\n\nCloses: https://github.com/dart-lang/sdk/issues/45697\nCloses: https://github.com/dart-lang/sdk/issues/53418\n\nChange-Id: Id7f30bcd4a6ae55a8298b39c9eadf4e80bc699a9\nCoreLibraryReviewExempt: FFI is a VM and WASM only feature.\nCq-Include-Trybots: luci.dart.try:vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-obfuscate-linux-release-x64-try,vm-aot-optimization-level-linux-release-x64-try,vm-aot-win-debug-arm64-try,vm-aot-win-release-x64-try,vm-appjit-linux-debug-x64-try,vm-asan-linux-release-x64-try,vm-checked-mac-release-arm64-try,vm-eager-optimization-linux-release-ia32-try,vm-eager-optimization-linux-release-x64-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-qemu-linux-release-arm-try,vm-ffi-qemu-linux-release-riscv64-try,vm-fuchsia-release-x64-try,vm-kernel-linux-debug-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-linux-debug-ia32-try,vm-linux-debug-x64-try,vm-linux-debug-x64c-try,vm-mac-debug-arm64-try,vm-mac-debug-x64-try,vm-msan-linux-release-x64-try,vm-reload-linux-debug-x64-try,vm-reload-rollback-linux-debug-x64-try,vm-ubsan-linux-release-x64-try,vm-win-debug-arm64-try,vm-win-debug-x64-try,vm-win-release-ia32-try\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/349260\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b74070b3ca8ccd806b83a2981d570a86a5d29f3",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/generated/ffi_verifier.dart",
      "new_id": "df54ec524d53d5a8441af0d1235bc4476607b121",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/generated/ffi_verifier.dart"
    },
    {
      "type": "modify",
      "old_id": "4e277504c0e8f969ea27db5d082ec383bf540c0d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/ffi_sample.dart.strong.transformed.expect",
      "new_id": "5975978a05e943042d5019e744449ae98f9e815c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/ffi_sample.dart.strong.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "d1f118b68d463576903acf38e2d0241b2613b2e2",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/ffi_sample.dart.weak.transformed.expect",
      "new_id": "423fa0ffbd140b82745d412b663c41da46c4a5d3",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/ffi_sample.dart.weak.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "50f774f52fc893faa813eedacd227e712b6e9fa7",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/crash_05.yaml.world.1.expect",
      "new_id": "38324981fc38f9700ac4d27d4efa5ad6a5600900",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/crash_05.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "50f774f52fc893faa813eedacd227e712b6e9fa7",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/crash_05.yaml.world.2.expect",
      "new_id": "38324981fc38f9700ac4d27d4efa5ad6a5600900",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/crash_05.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "6586b81fbe54ca7ff8e793d285164c8100d1d6ad",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/crash_06.yaml.world.1.expect",
      "new_id": "60505481d21f40a8dcad950a36e8d1286c8e4d07",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/crash_06.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "6586b81fbe54ca7ff8e793d285164c8100d1d6ad",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/crash_06.yaml.world.2.expect",
      "new_id": "60505481d21f40a8dcad950a36e8d1286c8e4d07",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/crash_06.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "6de3c742d91eac3f9509bf3e7d494e00492207fb",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect",
      "new_id": "bbfb0711cdea11ea449823893ae003045695a4ae",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "4cc52a169513f883f30da39abe021e97d5e1c6f5",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect",
      "new_id": "c51e8d961682052de9f72a5013551936d7c56dfb",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "16fbde51564c260955d8eae281e1e8b74f285650",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect",
      "new_id": "a792b6fb0fd93bf10a217564f66dcc2856b81e6f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "c0e4e7de2dc3e85ce59c2220f0363e3e3072952e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/issue_46666.yaml.world.1.expect",
      "new_id": "1a0d7ec8829bc23b80b794f54b6376d72d1a4968",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/issue_46666.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "c0e4e7de2dc3e85ce59c2220f0363e3e3072952e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/issue_46666.yaml.world.2.expect",
      "new_id": "1a0d7ec8829bc23b80b794f54b6376d72d1a4968",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/issue_46666.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "6de3c742d91eac3f9509bf3e7d494e00492207fb",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect",
      "new_id": "bbfb0711cdea11ea449823893ae003045695a4ae",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "7e8fd47b6a2d062b6c6031980980b19437ec88ac",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect",
      "new_id": "1ba3ab8bb30bc27186b6806bdcfe3f23d422d71e",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "b65181adb06a8ba22b36d64cde962b927ac6b2d0",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect",
      "new_id": "36574284dfbdc9b9ba380600d271258b5646572d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect"
    },
    {
      "type": "modify",
      "old_id": "561d331cf9c47466d4676da0532036a76f5e41c8",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_48_ffi.yaml.world.1.expect",
      "new_id": "f8146ab7227a65f2bb72c15a1d92f11c8bceae3f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_48_ffi.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "435c65bd842e3f48dafab09cd18a0cf8536229bf",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_48_ffi.yaml.world.2.expect",
      "new_id": "aefff5ca5689b2f4a8fa1c636654d390b3b8c1bf",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_48_ffi.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "561d331cf9c47466d4676da0532036a76f5e41c8",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_49_ffi.yaml.world.1.expect",
      "new_id": "f8146ab7227a65f2bb72c15a1d92f11c8bceae3f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_49_ffi.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "435c65bd842e3f48dafab09cd18a0cf8536229bf",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_49_ffi.yaml.world.2.expect",
      "new_id": "aefff5ca5689b2f4a8fa1c636654d390b3b8c1bf",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_49_ffi.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "573686e60059e0f1892616441d7023cb4cf5372e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_50_ffi.yaml.world.1.expect",
      "new_id": "a5d081cc955b0c23471848a0f8b141f1f8fe580c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_50_ffi.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "d15e6ee26a11fa43af0291bc2001da4af596c23f",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/no_outline_change_50_ffi.yaml.world.2.expect",
      "new_id": "058b2dcd4cb8f7076ebc96633402cdf150941d8a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/no_outline_change_50_ffi.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "34888c6105b23a79b9ee7de209ae3b089f7703a0",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/regress_46004.yaml.world.1.expect",
      "new_id": "9e3230bde08844c7532b3823ff32c60d348bcba4",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/regress_46004.yaml.world.1.expect"
    },
    {
      "type": "modify",
      "old_id": "34888c6105b23a79b9ee7de209ae3b089f7703a0",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/incremental/regress_46004.yaml.world.2.expect",
      "new_id": "9e3230bde08844c7532b3823ff32c60d348bcba4",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/incremental/regress_46004.yaml.world.2.expect"
    },
    {
      "type": "modify",
      "old_id": "c01e3e3360136c622892c98921124c177c6ddf28",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect",
      "new_id": "678fb4cef8e6ae49691e9371f1b882f94e4c6c90",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "c01e3e3360136c622892c98921124c177c6ddf28",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect",
      "new_id": "678fb4cef8e6ae49691e9371f1b882f94e4c6c90",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "aa300bb0642c27c0e4b407e268574ba81b681672",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.strong.transformed.expect",
      "new_id": "c138882b56bc492b6a52dd535fe931ffb6487cbe",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.strong.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "5cc12272e72265f8ca3909f7cca9093a409c3a11",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.weak.transformed.expect",
      "new_id": "356565777e40e193ada08afab6762648df5de6c5",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.weak.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "c53d68e9a6edb367adbd00269a59e3c858fc794e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect",
      "new_id": "95ec1a3e5873101dd59c20b33be6701ca0577e1f",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "2d297c9b0a0f41bd7dd2b6b60a4b202c93b513d3",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect",
      "new_id": "1a7dcbfe4436e1a50f64f65307816cc58c5be134",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect"
    },
    {
      "type": "modify",
      "old_id": "f94e5bbe2c71ca4634e6d5ff720fede59dbc289f",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/ffi/common.dart",
      "new_id": "5f93772919f2a39805699376be4978347cd060c0",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/ffi/common.dart"
    },
    {
      "type": "modify",
      "old_id": "52c2a3286a99a35b9e926d97057a7b52f6675013",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/ffi/definitions.dart",
      "new_id": "1deff43b6492ae9adb45abbcd523b9b8a60f5d55",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/ffi/definitions.dart"
    },
    {
      "type": "modify",
      "old_id": "5372b0466ce7a987494415dde56856f784cd2a85",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/ffi/use_sites.dart",
      "new_id": "08cb5035beca1898e412c33e009f5aefc89eb977",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/ffi/use_sites.dart"
    },
    {
      "type": "modify",
      "old_id": "3e98b9dff3fd9724f67d4fb5ede8465a509db833",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int.dart.aot.expect",
      "new_id": "e8aafab84da4f561321b533f497b1924a6349721",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int.dart.aot.expect"
    },
    {
      "type": "modify",
      "old_id": "46b1e31598fc1dfd25af743a4d378f1814df8425",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int.dart.expect",
      "new_id": "c91fbced3c5bdb082f2c80b706b15498ac3f433a",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "f1f9958f23961f4abf5f95861095e5e87f5c0686",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int_incomplete.dart.aot.expect",
      "new_id": "6ace5e870fc1047e0b8db11d12010d3b6c573fb7",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int_incomplete.dart.aot.expect"
    },
    {
      "type": "modify",
      "old_id": "ad3e7c2fe66e294526a1ec4a452e3b01ff8e878d",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int_incomplete.dart.expect",
      "new_id": "2fc9304636140fa0e86ceba0e95e94c787c30157",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/abi_specific_int_incomplete.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "d515a6b577e3dbd7adeac40b1a344750e2b09a2f",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/compound_copies.dart.expect",
      "new_id": "65a96ce49e42a41c609e5f58ca1dd71ef96c2ab1",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/compound_copies.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "c0e8a49aace1dd4f7d7059b969dedbc626d4d390",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/ffinative_compound_return.dart.aot.expect",
      "new_id": "90dc1c9d3f8c5834633850a090504a05c8a3d0bf",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/ffinative_compound_return.dart.aot.expect"
    },
    {
      "type": "modify",
      "old_id": "8365d081fc054259269b9f9faba709e0e048b001",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/ffinative_compound_return.dart.expect",
      "new_id": "e552ff1f00dc8ad86bc12354d6ee07305154bc3c",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/ffinative_compound_return.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "e731b849eca7c92c964c05e6e782023c2b87d4e3",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/native_fields.dart.aot.expect",
      "new_id": "4b932c13a08ac8f40c2902a82dd13a1a302753bd",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/native_fields.dart.aot.expect"
    },
    {
      "type": "modify",
      "old_id": "ef88361ba3975c25c31b975cc0e3679ac9507a3f",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/ffi/native_fields.dart.expect",
      "new_id": "b3b2a38ccfbc884ee7fb517595ce86031953956b",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/native_fields.dart.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d6aa42606ad6c082c680c74194145fbaf7c7d1a1",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/struct_typed_data.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "261bb1b0f1944b1afb3bb74c5544afcd5af66d2a",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/struct_typed_data.dart.aot.expect"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51788d982bb62edd1f52132712a4946aeb064c16",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/ffi/struct_typed_data.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "14b69615e516b42bbe4bbbafbd34f1693b499c5c",
      "old_mode": 33188,
      "old_path": "pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect",
      "new_id": "9ec8e53b81264252e1ced2b8ffe727a8e71d1ffd",
      "new_mode": 33188,
      "new_path": "pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect"
    },
    {
      "type": "modify",
      "old_id": "e627978b9daf70a49f09d5b7e748555243165e34",
      "old_mode": 33188,
      "old_path": "sdk/lib/ffi/struct.dart",
      "new_id": "bed1554dac576118e888f95103bf8bba4acf3bd6",
      "new_mode": 33188,
      "new_path": "sdk/lib/ffi/struct.dart"
    },
    {
      "type": "modify",
      "old_id": "c6a9167c3ebbfd831cbd002cbee1160cc21be8ce",
      "old_mode": 33188,
      "old_path": "sdk/lib/ffi/union.dart",
      "new_id": "cf743ffdcceae2b383fd5dbe9bfa6f65a75a92b3",
      "new_mode": 33188,
      "new_path": "sdk/lib/ffi/union.dart"
    },
    {
      "type": "modify",
      "old_id": "306a344514173630aa7336b788388e402df24e19",
      "old_mode": 33188,
      "old_path": "tests/ffi/data_test.dart",
      "new_id": "1650236c8f629da67e908f031a02383cd3d071ee",
      "new_mode": 33188,
      "new_path": "tests/ffi/data_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc01047be4ec548ea5e0e9d941ff6f8793fb7e0e",
      "new_mode": 33188,
      "new_path": "tests/ffi/structs_typed_data_test.dart"
    },
    {
      "type": "modify",
      "old_id": "52b70d9d8108102c1e1d0316031d411a93cde08c",
      "old_mode": 33188,
      "old_path": "tests/ffi/vmspecific_static_checks_test.dart",
      "new_id": "fbe79521d7ade87b5855312997bcff11f56cbc2b",
      "new_mode": 33188,
      "new_path": "tests/ffi/vmspecific_static_checks_test.dart"
    }
  ]
}
