)]}'
{
  "commit": "5dcd1ccdb9ace746db3c2c06c037878dd153c835",
  "tree": "263db9c62bbb93bbc6a1e9f106c3d9069a4e1301",
  "parents": [
    "e26957ec56ffd5614b1135401ae65dd63388189c"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Mon Dec 12 19:15:53 2022 +0000"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Mon Dec 12 11:18:10 2022 -0800"
  },
  "message": "Flow analysis: update exhaustiveness logic for patterns.\n\nWhen patterns support is disabled, flow analysis considers a switch\nstatement to be exhaustive if it has a `default` clause or if the\nscrutinee type was an enum and all enum cases were covered (this\nmatches the behaviour of previous releases of Dart).\n\nWhen patterns support is enabled, flow analysis considers a switch\nstatement to be exhaustive if it has a `default` clause or if the\nscrutinee type is an \"exhaustive type\" (as defined in the patterns\nspec).  A later stage of analysis will check that such switch\nstatements truly are exhaustive, and issue a compile-time error if\nthey aren\u0027t.\n\nNote that as part of this change I\u0027ve modified the analyzer so that it\nonly attempts to track whether all enum cases are covered if patterns\nsupport is disabled.  I didn\u0027t make a corresponding change to the CFE\nbecause the CFE stores exhaustiveness information in the kernel output\n(`SwitchStatement.isExplicitlyExhaustive`) and I didn\u0027t want to break\nthat.\n\nBug: https://github.com/dart-lang/sdk/issues/50419\nChange-Id: Ib2e51971a1b814c003401b3d54d41f7a9ef9f59a\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/274720\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nCommit-Queue: Paul Berry \u003cpaulberry@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/3a1cc9faf6ea8c4b5b552092dcd0145d366d3937\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff060b1b5fe0505738b338a22a7073bf37f27f97",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "b6f555f73a5ba25c6d92996f0d9698fb9d73a074",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "8205409bd1b29d35ae4fcb4681ee892dbf8daf5d",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "6cf2bbd18410c37f92d9b1c2146374cf425afc8a",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
