)]}'
{
  "commit": "9beb601b3d97db0e4b94b48f4702bbc5523f5dcc",
  "tree": "0025f8bf6ee6159b8208e0ee7cae3462cc9a33d5",
  "parents": [
    "75d5710ffc6a424786b3b6ec6093a2e702198176"
  ],
  "author": {
    "name": "Konstantin Shcheglov",
    "email": "scheglov@google.com",
    "time": "Fri Feb 28 08:17:29 2025 -0800"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Fri Feb 28 08:21:11 2025 -0800"
  },
  "message": "Elements. Avoid List.cast() mostly when create InterfaceTypeImpl.\n\nThis is a bit tricky because the API for `instantiate()` is that we\naccept `List\u003cDartType\u003e typeArguments`, and the clients generally will\ngive us `List\u003cDartType\u003e`, not `List\u003cTypeImpl\u003e`. But we want `List\u003cTypeImpl\u003e`.\n\nSo, I added `instantiateImpl`, and use it in the analyzer, and avoid a forcing `\u003cTypeImpl\u003e[]`, type check and `cast\u003cTypeImpl\u003e()`.\n\nChange-Id: I5e8e0ed77853b88e8a1dbc6360ab8ad29b803206\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/412782\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/142f941b5b25d05f08c3a286040bd155d321595b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2200a582ae78dd119d2c27954402adfea63f2611",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "cabb70d62a9431ab21e9159f4a757b1ea8d27baf",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "d30bae8ca06aa9e89210d4d629770ca102f02436",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "2636bd0212b63fbbb284638e26c948cd7e23ab77",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
