)]}'
{
  "commit": "1b95cf1b7cb44f3dfc1ac388c41e317739ddcdad",
  "tree": "afc42cca5b2779326dc32fb1851c957bf6dc635e",
  "parents": [
    "111e84b958b19325160b7e0b1b9e20eed9fca650"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Mon Aug 04 11:31:43 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Aug 04 11:31:43 2025 -0700"
  },
  "message": "[flow analysis] Change representation of promotion chains to match spec.\n\nPreviously, flow analysis represented a promotion chain as\n`List\u003cType\u003e?`, with `null` representing an empty promotion chain. This\nwas an unnecessary optimization, and it was a source of confusion when\ncomparing the implementation of flow analysis to the spec.\n\nThis CL changes the representation of a promotion chain to a\nnon-nullable `List\u003cType\u003e`, and represents an empty promotion chain as\nan empty list.\n\nTo reduce the risk of mistakes, I\u0027ve tried to minimize the changes to\nflow analysis unit tests; for the most part, they still consider an\nempty promotion chain to be represented as `null`, and convert to the\nnew representation at the last minute. In a follow-up CL, I\u0027ll modify\nthe flow analysis unit tests to better follow the new representation.\n\nChange-Id: I72afd18f9d7729f3109e3e3b5c776c5a23860985\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/443540\nReviewed-by: Erik Ernst \u003ceernst@google.com\u003e\nCommit-Queue: Paul Berry \u003cpaulberry@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ece770541f29a874635403f752d5e96e1ea4e936",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart",
      "new_id": "a3afa0b0f51f8ddb164f0151d888973c088f2ede",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart"
    },
    {
      "type": "modify",
      "old_id": "1e4beec01dbef7e62d41984eb1e23dce409c9773",
      "old_mode": 33188,
      "old_path": "pkg/_fe_analyzer_shared/test/flow_analysis/flow_analysis_test.dart",
      "new_id": "4a576132fde129a9a6af4f2e19f4309a5dd1ee28",
      "new_mode": 33188,
      "new_path": "pkg/_fe_analyzer_shared/test/flow_analysis/flow_analysis_test.dart"
    }
  ]
}
