)]}'
{
  "commit": "4bddf8a25ff894f6a8ac9ee122a1eb2112fd2dd1",
  "tree": "7a60e0a11cb5f23bb132049bf0a34a8232fe8bd7",
  "parents": [
    "53fb57ea5e97608c4f96cf5c3855eff24e720d19"
  ],
  "author": {
    "name": "Sam Rawlins",
    "email": "srawlins@google.com",
    "time": "Tue Sep 05 23:49:49 2023 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 05 23:49:49 2023 +0000"
  },
  "message": "Revert \"Revert \"linter: Refactor prefer_collection_literals to use context type more\"\"\n\nThis reverts commit cbdae14d2f515899bd1a43d2ffb4d4bd4e179eff.\n\nIn addition, Fix prefer_collection_literals for methods with expression bodies\n\nOriginal description:\n\nlinter: Refactor prefer_collection_literals to use context type more\n\nThere is a basic premise in this rule which we cannot satisfy exactly:\nwe need to disallow `LinkedHashSet()` unless the context type requires\nthe developer to use `LinkedHashSet`. But the context type is long\ngone when the lint rule is run.\n\nThis CL adds some logic to try to attempt figuring out the context\ntype in the cases where users have filed bugs, but it will never be\nsuper accurate.\n\nFixes https://github.com/dart-lang/linter/issues/4736\nFixes https://github.com/dart-lang/linter/issues/3057\nFixes https://github.com/dart-lang/linter/issues/1649\nFixes https://github.com/dart-lang/linter/issues/2795\n\nChange-Id: I958ba69a56866c18523ce6cbf62645ef8e028f6b\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/324260\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b1ea9f76b1c46fe1b596948e216b42c401bacaa",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/test/src/services/correction/fix/convert_to_map_literal_test.dart",
      "new_id": "f29794a7c9a994b79a779e278405e888dd4b12b7",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/test/src/services/correction/fix/convert_to_map_literal_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8533ea35f78e4247c6a8f386842480cd8cdc7735",
      "old_mode": 33188,
      "old_path": "pkg/linter/lib/src/rules/prefer_collection_literals.dart",
      "new_id": "e855545cdf69b230846728075a28662a573ff927",
      "new_mode": 33188,
      "new_path": "pkg/linter/lib/src/rules/prefer_collection_literals.dart"
    },
    {
      "type": "modify",
      "old_id": "80fb78d454c18d2b25fb63e6a4d089742532afb7",
      "old_mode": 33188,
      "old_path": "pkg/linter/test/rules/prefer_collection_literals_test.dart",
      "new_id": "169b051049d631e7cce64547ef977a7e580fdb95",
      "new_mode": 33188,
      "new_path": "pkg/linter/test/rules/prefer_collection_literals_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ba92825424d9fa476415da38af86238b398144c4",
      "old_mode": 33188,
      "old_path": "pkg/linter/test_data/rules/prefer_collection_literals.dart",
      "new_id": "ec01589fb355da7e385aa465e07beb03e89e0752",
      "new_mode": 33188,
      "new_path": "pkg/linter/test_data/rules/prefer_collection_literals.dart"
    },
    {
      "type": "modify",
      "old_id": "8581e7fa83be5f435e92c0f17d47706b610f8521",
      "old_mode": 33188,
      "old_path": "pkg/linter/tool/machine/rules.json",
      "new_id": "4933826892b270d3017077fc43cdcc17d8e3e80c",
      "new_mode": 33188,
      "new_path": "pkg/linter/tool/machine/rules.json"
    }
  ]
}
