)]}'
{
  "commit": "330cc916c6b5ecc76d52dc3daf1aea97184a363b",
  "tree": "213c1d203f5d3be9252ad2f27255aba0944f6815",
  "parents": [
    "eafaa1173823e238eff5c9508a2e326da604ab7b"
  ],
  "author": {
    "name": "Paul Berry",
    "email": "paulberry@google.com",
    "time": "Tue Jan 14 10:31:26 2025 -0800"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jan 14 10:31:26 2025 -0800"
  },
  "message": "[analyzer] Use Impl types in ElementsTypesMixin.\n\nChange the methods in `ElementsTypesMixin` so that their return types\nare all \"Impl\" types rather than analyzer public API types.\n\nThis doesn\u0027t change the analyzer public API because\n`ElementsTypesMixin` is only used in tests internal to\n`package:analyzer`.\n\nThis change allows `type_constraint_gatherer_test.dart` to represent\nall its types using `TypeImpl` rather than `DartType` without using\ntype casts, which will in turn pave the way for switching the shared\ntype constraint gathering code to using `TypeImpl` rather than\n`DartType`.\n\nThis is part of a larger arc of work to change the analyzer\u0027s use of\nthe shared code so that the type parameters it supplies are not part\nof the analyzer public API (See\nhttps://github.com/dart-lang/sdk/issues/59763).\n\nChange-Id: I9d15e9dd77f73271166b8e12de4d6f0a104cbb19\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/403926\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nCommit-Queue: Paul Berry \u003cpaulberry@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f3c27a5b5cf01ad0948466ccd62cd4587b9269c",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/element/element.dart",
      "new_id": "10747ed0e8f3adcc9f754a2d393261882a83c789",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/element/element.dart"
    },
    {
      "type": "modify",
      "old_id": "f868f5b96909dbde51220395d0e17fc2f7e51d13",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/generated/elements_types_mixin.dart",
      "new_id": "dc1a413f3a096a0eeac61afb40d9b0cfe87ad25c",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/generated/elements_types_mixin.dart"
    },
    {
      "type": "modify",
      "old_id": "2d208dbae107f97304c73914e41820913f4485c4",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/src/dart/element/element_test.dart",
      "new_id": "2f8659697b319ed2ff18d5260a16f67f5ecf56b5",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/src/dart/element/element_test.dart"
    },
    {
      "type": "modify",
      "old_id": "9c879bb185cab3aba6cbce77b4abf4a3f56450a6",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/src/dart/element/factor_type_test.dart",
      "new_id": "157d22fafe4d44d9b2c32d7962b68a5c4b4592a1",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/src/dart/element/factor_type_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d27bdec9da8fe5103bad81e26be3078366c86091",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart",
      "new_id": "00b9939b73efa89630e4b63a094c43ef81058348",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart"
    },
    {
      "type": "modify",
      "old_id": "34356e92f50a7d341b43d66de878f06103f5000b",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart",
      "new_id": "e7ae7cac20c2d761eedceefb3306c295e23e441f",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart"
    }
  ]
}
