)]}'
{
  "commit": "0f82e22798424df91a5c16b4f591b0849b91dbbc",
  "tree": "27022cba045089fa659b3a788b7726b82a1457b0",
  "parents": [
    "47485ca43e20178f7d2f91ad8ad1790b4e759320"
  ],
  "author": {
    "name": "Sam Rawlins",
    "email": "srawlins@google.com",
    "time": "Mon Apr 21 10:42:50 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Apr 21 10:42:50 2025 -0700"
  },
  "message": "analyzer: Remove unnecessary AnalysisTarget\n\nThis just seems like an odd parent class for both Element and\nConstantEvaluationTarget. I don\u0027t think it carries it\u0027s weight (added\ncomplexity).\n\nThe abstract AnalysisTarget serves as an interface that adds only two\ngetters to the contract: `Source? get librarySource` and\n`Source? get source`, and is only referenced by two classes: `Element`\nimplements it, and `ConstantEvaluationTarget` extends it (but it\u0027s\nabstract anyway).\n\nSo to me it seems this is a false type hierarchy; just because Element\nand ConstantEvaluationTarget both have a source and a librarySource\nfield does not mean that it is useful or meaningful to encode this\ninformation in the type hierarchy.\n\nChange-Id: I08ef8e32d3ead6a969950ff34f76baa84272b662\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/399321\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56e01bf95712d25b03994adf62a595fc6c4c90b5",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/api.txt",
      "new_id": "404bafe1e8cc99468420ddd730fba9e1d806b2bd",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/api.txt"
    },
    {
      "type": "modify",
      "old_id": "6682a7be3d80b6389c7e147c2f10acd8c7aa874e",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/constant/evaluation.dart",
      "new_id": "b992424334712a0d8e1651a326670c855dbbe84d",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/constant/evaluation.dart"
    },
    {
      "type": "modify",
      "old_id": "4b63437ea5545d4f6287fdc692b4c2d1a937cef4",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/element/element.dart",
      "new_id": "7ed97a80ac932c746df6804f52d053212fe38a42",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/element/element.dart"
    },
    {
      "type": "delete",
      "old_id": "f565d294c7e2c4d9c0a67b084ea27af617d30c01",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/task/api/model.dart",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
