)]}'
{
  "commit": "d9ab33b66635bd57dac2f958c73f65346bde9201",
  "tree": "d0a3c75caf4d0f82f0930b0cf71f398a8d4dfce4",
  "parents": [
    "0cca5c07418aceb2cd66a8e3c733e72ef1cb804d"
  ],
  "author": {
    "name": "Konstantin Shcheglov",
    "email": "scheglov@google.com",
    "time": "Tue Jul 29 08:44:42 2025 -0700"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Tue Jul 29 08:46:59 2025 -0700"
  },
  "message": "Elements. Convert internal Element interfaces, known as \u00272OrMember\u0027, into mixins.\n\nIt was alreay a mixin for formal parameters, and I cannot think a\ndisadvantage to make all other mixins. There is a possible advantage\nthat we might provide also some methods with implementations, although\ncurrently we do not.\n\nThis makes them consistent, which is nice IMHO.\n\nChange-Id: Ic8382c68b7e2719f94aeb01ff6553f6ff5249c70\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/442506\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/980baae946eb921d8d00abe1e843bc0cf4429bbb\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a671e5924783a10f2f80752eade5b0219b9764e",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "bc70678a1e166b54959c00337e581cdc5e24b5d1",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "0ad6b27e34f792fcc1d49c604f3f1844a1c1cf82",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "4eb5453fcf6dda9ea5488d753620940386916de7",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
