)]}'
{
  "commit": "a478a4418cc6da1d6f91cf9d5b252412fe9bca96",
  "tree": "bb31f2eace1240342130ef29d3ab9493d5833b9f",
  "parents": [
    "49eb5140052f2750e311b30124cef056a4083104"
  ],
  "author": {
    "name": "Chloe Stefantsova",
    "email": "cstefantsova@google.com",
    "time": "Fri Oct 17 02:16:25 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Oct 17 02:16:25 2025 -0700"
  },
  "message": "[cfe] Add experimental visitor mixins and experimental type\n\nThis CL reduces the noise of future CFE experiments in the\nbackends. Whenever new nodes will be added as an experiment, the\nrelated exception-throwing implementations will be added to the\nmixins, eliminating the need to add the visit methods to the backend\ncode directly. The experimental type addresses a similar issue in\nexhaustive switch statements and expressions.\n\nTEST\u003dexisting\n\nChange-Id: I1a021e11a159a992500c42287cbe6ef027bf54a2\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/455080\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Nate Biggs \u003cnatebiggs@google.com\u003e\nReviewed-by: Ömer Ağacan \u003comersa@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Mayank Patke \u003cfishythefish@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4344b618495a56f68e859b883fd45bf6765bd57b",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ir/util.dart",
      "new_id": "f3b76c1ec3eda91b5ebf8d86ef64f7fcc4f7ef86",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/ir/util.dart"
    },
    {
      "type": "modify",
      "old_id": "76b51fe7f8d9a28716a2585a7ea68351249642ab",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/ir/visitors.dart",
      "new_id": "1b1bd8d1c6a5e3b23287600d3f952774b75658e9",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/ir/visitors.dart"
    },
    {
      "type": "modify",
      "old_id": "21b81ac78ae5ad7f500ceabb19ae80d528efeea3",
      "old_mode": 33188,
      "old_path": "pkg/compiler/lib/src/serialization/helpers.dart",
      "new_id": "502dc14e8b09be12906a33ce1cf4ee4bfc3b0409",
      "new_mode": 33188,
      "new_path": "pkg/compiler/lib/src/serialization/helpers.dart"
    },
    {
      "type": "modify",
      "old_id": "46173a96a55746dca91097d80489bb0b2863f317",
      "old_mode": 33188,
      "old_path": "pkg/compiler/test/helpers/ir_types.dart",
      "new_id": "502f1217f8ed0291d97b3736eb4c8a4700d91559",
      "new_mode": 33188,
      "new_path": "pkg/compiler/test/helpers/ir_types.dart"
    },
    {
      "type": "modify",
      "old_id": "0b2004540960debc30a9a3f87f72e121cdd837c2",
      "old_mode": 33188,
      "old_path": "pkg/dart2bytecode/lib/generics.dart",
      "new_id": "fdf131eac41726d702b46a3200504736c1638ab6",
      "new_mode": 33188,
      "new_path": "pkg/dart2bytecode/lib/generics.dart"
    },
    {
      "type": "modify",
      "old_id": "264286e3e70387f495e3ed7a70d6205510693b07",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/code_generator.dart",
      "new_id": "118a71366881750b42ac55d99530bb455bbacfc6",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/code_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "686352fa88a00da12edd7e04d8db3499252d89ef",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/constants.dart",
      "new_id": "1e090d983a78588aa1b02192863d7be693bd547d",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/constants.dart"
    },
    {
      "type": "modify",
      "old_id": "974d035c9d080de266969d099d4ed5ab12d20e4e",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/translator.dart",
      "new_id": "d39958f4cb9c9ee0f3ee1fa801c9e9ac9c31d4d7",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/translator.dart"
    },
    {
      "type": "modify",
      "old_id": "6205e24b71799687c1f365df3853ce6d79842041",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/compiler.dart",
      "new_id": "e783c797ca2646e40e6a0c5a5356704ef9a2e812",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/compiler.dart"
    },
    {
      "type": "modify",
      "old_id": "7dd8c679a2b46aabd1a6316aff13f61c65096438",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/compiler_new.dart",
      "new_id": "1eb64f320501b968b7d10bbcc7a31dc04f29c124",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/compiler_new.dart"
    },
    {
      "type": "modify",
      "old_id": "9f64334861a5f768835357570efb02f0caf56648",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/future_or_normalizer.dart",
      "new_id": "1dd7093c337f046e1f481eb213ad9d9564a3d853",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/future_or_normalizer.dart"
    },
    {
      "type": "modify",
      "old_id": "3a4e827bd530f4dca8ac847ca292822f0d875ca2",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/js_typerep.dart",
      "new_id": "1ab8162d288f6606b8147368f17ae6339701ee27",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/js_typerep.dart"
    },
    {
      "type": "modify",
      "old_id": "31db547bdf0a2a1a802464588536eb7e42c104dd",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart",
      "new_id": "8c5d658796f8e003e3029c9508a53963cec581f2",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/kernel_helpers.dart"
    },
    {
      "type": "modify",
      "old_id": "5fac19b586a9552ef0d5b97baebd1566f6c9a463",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/type_recipe_generator.dart",
      "new_id": "27d3e561e4f516cce42e69f2c9c3a87b28fa0a4f",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/type_recipe_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "587738d7496507fe6d9971fa9a90991f163b9cda",
      "old_mode": 33188,
      "old_path": "pkg/dev_compiler/lib/src/kernel/type_table.dart",
      "new_id": "8f19817bc8e8de9af54411d0a7fdaab33c62451f",
      "new_mode": 33188,
      "new_path": "pkg/dev_compiler/lib/src/kernel/type_table.dart"
    },
    {
      "type": "modify",
      "old_id": "249bfbe3b530dd929215aebde84eb4029e2947d8",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/codes/type_labeler.dart",
      "new_id": "52c769fcdbf24404df9267dcc2534447a583ab82",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/codes/type_labeler.dart"
    },
    {
      "type": "modify",
      "old_id": "4387667da12125f941a804140afd41ce02e2c791",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/constant_evaluator.dart",
      "new_id": "f8302331471c253a97f14e4e8ae6e8cad94d53ad",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/constant_evaluator.dart"
    },
    {
      "type": "modify",
      "old_id": "29d74f02543b924e72945a5b7355a77cd0ef24db",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/exhaustiveness.dart",
      "new_id": "b846e1f75aa937e937e1332b7f8785f12973ce23",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/exhaustiveness.dart"
    },
    {
      "type": "modify",
      "old_id": "0d7a116f5ba855df26fd8d996000278f77654940",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/invalid_type.dart",
      "new_id": "edb329f7b96f3931e2d003706b04e9015afa059d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/invalid_type.dart"
    },
    {
      "type": "modify",
      "old_id": "8f2b527a3e5679befffe4320d186963fd6c090d9",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/kernel/type_builder_computer.dart",
      "new_id": "4a5e1060d6234f0191489dcfc7a3529ac56ebe57",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/kernel/type_builder_computer.dart"
    },
    {
      "type": "modify",
      "old_id": "939bcc866cd94c10140b7059906e4bd437520801",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/testing/id_testing_utils.dart",
      "new_id": "0726971b76bf320352b149a9bfc0d79dcfedde56",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/testing/id_testing_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "2b900e53efe7014c0dab443aa550559dbfd58ced",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart",
      "new_id": "a7a1255e816f8087b1de5d4281800245808c94c4",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/type_inference/inference_visitor.dart"
    },
    {
      "type": "modify",
      "old_id": "20e952213fb88bc6970dfe9c04dfce6703222ed6",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/type_inference/type_inference_engine.dart",
      "new_id": "09e582f843ac61f5a59ad61763e5f602fb4ccb90",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/type_inference/type_inference_engine.dart"
    },
    {
      "type": "modify",
      "old_id": "cc5cdd544bcf51e0c82eab65b462fc2d41553ccf",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/spell_checking_list_common.txt",
      "new_id": "d049d4e4d97969ca61caf716f6346e62be5f23e7",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/spell_checking_list_common.txt"
    },
    {
      "type": "modify",
      "old_id": "634029ca54f751124257746b40d98aecaf85d79a",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/bench_maker.dart",
      "new_id": "b668787664b4a518153dd972a3468becda55267c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/bench_maker.dart"
    },
    {
      "type": "modify",
      "old_id": "15eabe636862008bdbb74aa7db3a4c0ac6c9d1e1",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/binary/ast_to_binary.dart",
      "new_id": "c1afc992e480302c0b587677d2d34b731533cce3",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/binary/ast_to_binary.dart"
    },
    {
      "type": "modify",
      "old_id": "c4aaf24a5f231fe81317eebe964fac20e753112a",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/clone.dart",
      "new_id": "e7adb0c2646bde4607fc0c30a44f443401683faa",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/clone.dart"
    },
    {
      "type": "modify",
      "old_id": "60850e7daf6e56c56a8b7b8dd08da56a2ae039ea",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/src/ast/types.dart",
      "new_id": "189f31bc80ed1bbc1d5fbeaf357d9713d3e5aea6",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/src/ast/types.dart"
    },
    {
      "type": "modify",
      "old_id": "a6ee7c16fa59175456ffd18c21a7cfa473537ccf",
      "old_mode": 33188,
      "old_path": "pkg/kernel/lib/visitor.dart",
      "new_id": "d5cccf322cc090cc33787af6d8c9b54e691258c5",
      "new_mode": 33188,
      "new_path": "pkg/kernel/lib/visitor.dart"
    },
    {
      "type": "modify",
      "old_id": "f1e05c72f928f4bc3145efe293cc90db61795bb4",
      "old_mode": 33188,
      "old_path": "pkg/vm/lib/transformations/type_flow/summary_collector.dart",
      "new_id": "a0c4a2ed693226d0cc4e7d324206e57f6c53e134",
      "new_mode": 33188,
      "new_path": "pkg/vm/lib/transformations/type_flow/summary_collector.dart"
    }
  ]
}
