)]}'
{
  "commit": "6d70657fad57d868cde3e8943c71fcc31cbe3c60",
  "tree": "15f88edd594bc1d94938ea0b9a378bb07ed1341e",
  "parents": [
    "a9c91a1a883640400707b242757353c01b07aa0f"
  ],
  "author": {
    "name": "Johnni Winther",
    "email": "johnniwinther@google.com",
    "time": "Tue Oct 28 03:03:44 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Oct 28 03:03:44 2025 -0700"
  },
  "message": "[kernel] Add RedirectingFactoryInvocation\n\nThis adds an internal wrapper expression for redirecting factory invocations. This holds a reference to the original redirecting factory constructor along with the resulting invocation of the generative or factory constructor. The node is removed during constant evaluation and only available to backends through the pre-modular transformations.\n\nTEST\u003dexisting\n\nChange-Id: I35c19766117ab2942aefddb4ccebcd2df66babf3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/454820\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Chloe Stefantsova \u003ccstefantsova@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8302331471c253a97f14e4e8ae6e8cad94d53ad",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/constant_evaluator.dart",
      "new_id": "bf9371251d1ce337ab338e2e29cf191f88454c3c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/constant_evaluator.dart"
    },
    {
      "type": "modify",
      "old_id": "0ecdc2b5c9fc641d63ff3844301a671eb9ebeaa8",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/type_inference/inference_results.dart",
      "new_id": "3d0a7265a4157d32b503d22193e876bf19468d45",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/type_inference/inference_results.dart"
    },
    {
      "type": "modify",
      "old_id": "a4df6635f5d87fc19d26d49c22e19ff391721996",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart",
      "new_id": "57f53d1e78f9f55da059bd3f51d011803114132d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart"
    },
    {
      "type": "modify",
      "old_id": "42222b0d2d338629e35adae91abb6bea9a9259fd",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/constructor_tearoffs/lowering/const_redirect.dart.strong.outline.expect",
      "new_id": "2b8e83e03795e87f69cd7cb41b1931b458f448e7",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/constructor_tearoffs/lowering/const_redirect.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "73b90a0f5889abc523f492f7bc9e33d595379cd9",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/dart2js/extension_types/external_with_annotations.dart.strong.outline.expect",
      "new_id": "52ba65d191a6ea23c3617753ef686f3d495b5e1e",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/dart2js/extension_types/external_with_annotations.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "5921f326a883ed11a9d2561da00f6426c118683f",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/dart2js/issue53804.dart.strong.outline.expect",
      "new_id": "397919e891248227ec92122a55c2ad364ccbcb88",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/dart2js/issue53804.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "aa9783d5fe763b79084286949c1c93cae3e846c2",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/dart2js/issue54115.dart.strong.outline.expect",
      "new_id": "3aa534908dc5b4f4637b5a04a7ea94499de3804b",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/dart2js/issue54115.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "59d91f63a93277e10c3309ecb5567f1da8fd3ca2",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/dart2js/late_fields_with_annotation.dart.strong.outline.expect",
      "new_id": "c9b1ac9c71e251326acab7243443e66080b2888a",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/dart2js/late_fields_with_annotation.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "685171953637251cf7aeddce0bc61e589594fafc",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/enhanced_enums/issue49429.dart.strong.outline.expect",
      "new_id": "d9e334b1f69872a0cdd7fe2f05bc9ce12059f66c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/enhanced_enums/issue49429.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "07d0eb3568d174d2473cc09e97726a42630c50ac",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/extensions/annotations.dart.strong.outline.expect",
      "new_id": "1de51ef6b3f61eb3cc39a2657c6fbd8690a26ee1",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/extensions/annotations.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "40ae8e8bb12f5ab68d95d5e6df1f9debb5f54bb7",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.outline.expect",
      "new_id": "94e7794608859ae4500a0c671f60dbad585201c8",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "3c2a7d7c30b6a8f39262ea3ce9c98dc5f11a5a9d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/constants/various.dart.strong.outline.expect",
      "new_id": "b0d339d5e93ad06a697c9a69a58dd147c14967fa",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/constants/various.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "818aa8580a175f05d896b396884b3de2fc8fb74e",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue45003/main.dart.strong.outline.expect",
      "new_id": "f8cb6b1d212420c327bd113f7b1eebcdd82c2736",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue45003/main.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "5b13757eb9a12ac012bb74326235708032eb7798",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue45003_2.dart.strong.outline.expect",
      "new_id": "dc2392791039471ed7104b6a91cb1c1e4d0203cd",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue45003_2.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "fc7f661a195baac95e498fc7dc25a219abc8c71d",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue45101/main.dart.strong.outline.expect",
      "new_id": "a14d1ea9dc724e11c57fcd8ea83033bd28a90b8b",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue45101/main.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "1bcc8970938267fd18574d052323bc0f937a877a",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue47036.dart.strong.outline.expect",
      "new_id": "b3f211d166f4a9ff09311fab055f7a040bd2ebda",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue47036.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "a4e8eb72be49bd9f0f7d47b564aba6861ae0270c",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue47339.dart.strong.outline.expect",
      "new_id": "e4a543e32edabe532204d5983c204223b6991be5",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue47339.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "ef182588cd04cf73fef22e2ddb7756eb3c99c3e2",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue55152.dart.strong.outline.expect",
      "new_id": "388278c287425c324e870e023d2f586f797872ba",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue55152.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "c22ddd53144fba52777d20bc9c4820a08084d0d4",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue55152_4.dart.strong.outline.expect",
      "new_id": "18df973988d77b0c6c8ba785a0e591281639c796",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue55152_4.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "57cb5dd1542868529c8e34cc688e57d9711713ef",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue55152_5.dart.strong.outline.expect",
      "new_id": "daf7eacd9a2871a56f924ca1de5b46fbfa202808",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue55152_5.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "a89931fd98a8f95cae44c8fa416879e871d603f4",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue55849_2.dart.strong.outline.expect",
      "new_id": "0496ab0a0969665821c72302f1a327805365f06b",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue55849_2.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "3d196a801bb27bec3087b84d59d1100bd2686bd2",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/issue55849_3.dart.strong.outline.expect",
      "new_id": "afeb964aeeed27c9ba794c2a61ac2151eea3b6da",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/issue55849_3.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "8b0793cd6def46f524d848c603ded15058d6ed08",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/patch_annotations/main.dart.strong.outline.expect",
      "new_id": "3e3a85cb5b106d74acf5b5df1e04a8e2d61fda82",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/patch_annotations/main.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "b288eccbc89cc3ab3a23f77f1f2ee3828f3a7cd5",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order.dart.strong.outline.expect",
      "new_id": "cb7608562ebdb9e34e473b44880f23258188c22d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "f58b6132e06bb14f80481578f9c5e74935f47fa8",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order_2.dart.strong.outline.expect",
      "new_id": "6df6f1524ecf880a5f075f4b25c86f6442573941",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order_2.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "51200e0da4b675e51b7d27a9c9421db5108a4e81",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order_3.dart.strong.outline.expect",
      "new_id": "c631fd1bfea06e2625ffc7520dbfef1420e63c19",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/redirecting_constructors_declaration_order_3.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "a370348e0f2d6a87368909dcfb3d8fe4dbf19731",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/general/redirecting_factory_invocation_metadata.dart.strong.outline.expect",
      "new_id": "d837f6b0c8cd04358a0c6b2881285597034e1894",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/general/redirecting_factory_invocation_metadata.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "c7ca3800615b91dfc131b8927569da58a387bd29",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.strong.outline.expect",
      "new_id": "70d1d0a0b1a286c828ac46db43edf510f1ba77e4",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "f333f6e3d97d55b86392a689d9760bfe361cef85",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.outline.expect",
      "new_id": "e36a7094e2455978e54a577bb154f070f845fd53",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "c1b767d995b5351d0b35ed063252d53b7cd5bb5f",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/patterns/issue53804.dart.strong.outline.expect",
      "new_id": "a3c6e437137eaa902db7fdd5b2a6f85741bb8504",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/patterns/issue53804.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "f9ec1835372efde5a70120009fe5537cd12d4b48",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/patterns/issue54115.dart.strong.outline.expect",
      "new_id": "b0929ea59ae7d843cdbb1aabec1becdaf7c24f8d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/patterns/issue54115.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "9048b1c8ed288b6aa8b035d5090972a58aee3dcf",
      "old_mode": 33188,
      "old_path": "pkg/front_end/testcases/patterns/primitive_equality.dart.strong.outline.expect",
      "new_id": "ca67d89628fd7b8605c45f12d333a6b7469edfa9",
      "new_mode": 33188,
      "new_path": "pkg/front_end/testcases/patterns/primitive_equality.dart.strong.outline.expect"
    },
    {
      "type": "modify",
      "old_id": "5e79b94d66b1249e2e4601dc11d8b9a78cc746dd",
      "old_mode": 33188,
      "old_path": "pkg/kernel/binary.md",
      "new_id": "422d4fb223182252312a67da8bc74ae352c1e6b9",
      "new_mode": 33188,
      "new_path": "pkg/kernel/binary.md"
    },
    {
      "type": "modify",
      "old_id": "270d2e540e5e5d7afe0138b76e60dfb0e717634c",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/binary/ast_from_binary.dart",
      "new_id": "600fae6658c4956e24daa51f3669d106c68aeb6a",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/binary/ast_from_binary.dart"
    },
    {
      "type": "modify",
      "old_id": "c1afc992e480302c0b587677d2d34b731533cce3",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/binary/ast_to_binary.dart",
      "new_id": "59ab23f029134ea167a188454f608fdd2e69139b",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/binary/ast_to_binary.dart"
    },
    {
      "type": "modify",
      "old_id": "81ded05968f15594356f53e3688b60ee80081dd8",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/binary/tag.dart",
      "new_id": "123673d302e145a961e8e5e09e3fc46bcd822a63",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/binary/tag.dart"
    },
    {
      "type": "modify",
      "old_id": "e7adb0c2646bde4607fc0c30a44f443401683faa",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/clone.dart",
      "new_id": "12aa2fa8d9a4bc6679d2c7f2c5b75accd1c49a64",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/clone.dart"
    },
    {
      "type": "modify",
      "old_id": "11b2101ca6571219613ce09e13aeb09ef44deef9",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/ast/expressions.dart",
      "new_id": "07d24f701d8fe099805b0e898f1f6f2144a0cbbd",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/ast/expressions.dart"
    },
    {
      "type": "modify",
      "old_id": "dfc85994841565bf0f20dbdaeaf22e2fb0532f75",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/coverage.dart",
      "new_id": "186ffba257ed22926d5189f6d48dd6ced9a75e1b",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/coverage.dart"
    },
    {
      "type": "modify",
      "old_id": "18ad85b0f018fe71c2401e7e67d89d87c4511e8c",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/equivalence.dart",
      "new_id": "eeb524d03303c205b80ef4a98f73a1bd10f61f13",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/equivalence.dart"
    },
    {
      "type": "modify",
      "old_id": "b6a0441e5b667fbc6070b6d6d34844f203ad33b7",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/node_creator.dart",
      "new_id": "1f8f662c1dd506a7c3ad6a299cbbb4a89f102123",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/node_creator.dart"
    },
    {
      "type": "modify",
      "old_id": "77dfd18a725ad2423714068425149979afbd74dc",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/text/ast_to_text.dart",
      "new_id": "9a9655d57957bc35bbe25dda7a8d7773891444fe",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/text/ast_to_text.dart"
    },
    {
      "type": "modify",
      "old_id": "57406cde57855ecbd7bfc7c44d7725e316fc77d8",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/type_checker.dart",
      "new_id": "c98bd500f8739a088f9ad0e242a07dcb86f1a68b",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/type_checker.dart"
    },
    {
      "type": "modify",
      "old_id": "f85448e03f353e0805eb6a6526a93373942fd94e",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/visitor.dart",
      "new_id": "63d7ae5241ad3c4c0365d79f1dbe8eb9c28eb7fb",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/visitor.dart"
    },
    {
      "type": "modify",
      "old_id": "f0efca697bbe80b224f5a001bc4011ef39c01089",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc",
      "new_id": "ac5b6adba08fbeb8097aed5f384c3f45f0e04093",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc"
    },
    {
      "type": "modify",
      "old_id": "7d0697a1a2ac95cc1e5024ee314259fcb2c0bc51",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_fingerprints.cc",
      "new_id": "427d2fa67399235ee3ea1554a14e520867c1895f",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_fingerprints.cc"
    },
    {
      "type": "modify",
      "old_id": "5e3e96ba804a2fabbc60bb525deed060ec088386",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/kernel_translation_helper.cc",
      "new_id": "35e571cbf90cc31b833bac3c29c7249e70f27b38",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/kernel_translation_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "6d25cdc41dbdc98f8593d01ea49835ab8294d843",
      "old_mode": 33188,
      "old_path": "runtime/vm/compiler/frontend/scope_builder.cc",
      "new_id": "cd015e549713c76cafa9bad8903847796527d208",
      "new_mode": 33188,
      "new_path": "runtime/vm/compiler/frontend/scope_builder.cc"
    },
    {
      "type": "modify",
      "old_id": "416892dd912bb9e9708d8f52212b9581f04c59bb",
      "old_mode": 33188,
      "old_path": "runtime/vm/kernel_binary.h",
      "new_id": "f5f43adbf293ff970bde91ec842f1f3e345a1348",
      "new_mode": 33188,
      "new_path": "runtime/vm/kernel_binary.h"
    }
  ]
}
