)]}'
{
  "commit": "ee69f45a1ffafea3490c19ccf3587fa93c6fa432",
  "tree": "c94568aa019ae5d168b222b31aedfaf9ac46aeb4",
  "parents": [
    "bf97e28b6d3dfc37fbc4f8951f8a2d75ddb7c913"
  ],
  "author": {
    "name": "Sam Rawlins",
    "email": "srawlins@google.com",
    "time": "Wed Jun 25 06:54:20 2025 -0700"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jun 25 06:54:20 2025 -0700"
  },
  "message": "analyzer: rework AnalysisErrorListener deprecation\n\nWork towards #60635\n\nIn this change, we rework the AnalysisErrorListener deprecation to\nbetter support users who have their own class that implements\nAnalysisErrorListener. This change introduces a sealed supertype,\nDiagnosticOrErrorListener, with the old implementation,\nAnalysisErrorListener, and the new implementation, DiagnosticListener,\nas its sole direct subclasses. Users who have implemented\nAnalysisErrorListener should be able to instead implement\nDiagnosticListener, and their class is an acceptable instance of\nDiagnosticOrErrorListener, wherever that is needed.\n\nIn a breaking change we can drop AnalysisErrorListener and deprecate\nDiagnosticOrErrorListener, and in the next breaking change, we can drop\nDiagnosticOrErrorListener.\n\nFor reference, see the first API difference when deprecating AnalysisErrorListener and introducing DiagnosticListener: https://github.com/dart-lang/sdk/commit/903d77cc8229972a424941dcb7b7b79741e833eb#diff-dec15868961d7eadcd009f49d129bebcdb747aaa8dbfde5f5a08884e0cf11e32\n\nChange-Id: I3ccf11d54b41fbca98d020d89978d250c16b4c04\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/436480\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ddda192a7b059610015984de688fe676f3235879",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/lib/src/lsp/source_edits.dart",
      "new_id": "6fb1e67e4cf43853a7cf66b0eea7f92d52e221dc",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/lib/src/lsp/source_edits.dart"
    },
    {
      "type": "modify",
      "old_id": "d12f708ba0d085633717481e294e309100020ed8",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart",
      "new_id": "a2b73bfca16856f9d377c23b9ed4843986987020",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_manager.dart"
    },
    {
      "type": "modify",
      "old_id": "edce3e60cc1cc0f6eaee0259fb67e82ece4fbfaa",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/lib/src/services/correction/statement_analyzer.dart",
      "new_id": "96a9132af0843880298346e8107a12ead0f50180",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/lib/src/services/correction/statement_analyzer.dart"
    },
    {
      "type": "modify",
      "old_id": "d04b4ef818bc550480d62992a63934af33a9396e",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/test/stress/replay/replay.dart",
      "new_id": "a051f85ee57866aac3a4207d958a8178d5a3c83c",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/test/stress/replay/replay.dart"
    },
    {
      "type": "modify",
      "old_id": "76e63dbda270687397e29349a3eb29ba277b68b6",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/test/utils/test_support.dart",
      "new_id": "95cf35eee6ddfe0ddbedd28c9cb3312b15b89fcc",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/test/utils/test_support.dart"
    },
    {
      "type": "modify",
      "old_id": "62d26e91f498b131bfe8518f3a4d920a65241af1",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server_plugin/lib/edit/correction_utils.dart",
      "new_id": "138a26853f937f6d1fbc82ab594e71163af5955d",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server_plugin/lib/edit/correction_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "4b9d719df89ccb26c430b57600038143c642f7be",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/CHANGELOG.md",
      "new_id": "bc990f56ce3e60b40a56a0689ee8e9d4fa7c93bb",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "9dfed6b16c259ae2d7c23e3bdf7d43dc627c388d",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/api.txt",
      "new_id": "318bb3fb2382ccfbd4933150bcd100ae5e1366ab",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/api.txt"
    },
    {
      "type": "modify",
      "old_id": "05f516177c46950a03f3682aba6b7b77854a7dd0",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/error/listener.dart",
      "new_id": "672f4ee45f908a5ecd988eb8f33285b83ce394e4",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/error/listener.dart"
    },
    {
      "type": "modify",
      "old_id": "098443e877a78f5d46ef6c7e11e96f19b5f3af65",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/analysis/file_state.dart",
      "new_id": "3e006c81d85d365101e4a0f5f3ca43666a1a77cd",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/analysis/file_state.dart"
    },
    {
      "type": "modify",
      "old_id": "7b2c942da936283f9d87a98ffd7f7b0053beb07c",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/constant/constant_verifier.dart",
      "new_id": "3fa1804b3f664b0b2128805bd3242343856415d0",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/constant/constant_verifier.dart"
    },
    {
      "type": "modify",
      "old_id": "be0559f554c48734c66c6f86609bd9ef574178f0",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/dart/scanner/scanner.dart",
      "new_id": "8dbeebef90d5e2d607adc38b67abd447866a2ed8",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/dart/scanner/scanner.dart"
    },
    {
      "type": "modify",
      "old_id": "df15b09642dc7f13f1374f830a5b379fc37b1497",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart",
      "new_id": "f16d93c9feb48989863badd65054e7c9c13f3514",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart"
    },
    {
      "type": "modify",
      "old_id": "153593437f773279557b97958bdd4f5009de569f",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/generated/parser.dart",
      "new_id": "3654e0508b18b11506a6cfcd7f01d3174a46971f",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/generated/parser.dart"
    },
    {
      "type": "modify",
      "old_id": "12d0ddec7fd4e541673fd46fac26d1901b157ca0",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/lint/constants.dart",
      "new_id": "b59f9a788686ddb84bb51aea7933b687fac2e672",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/lint/constants.dart"
    },
    {
      "type": "modify",
      "old_id": "95289d629426d46397ce2f076b60ef3dd34d85a1",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/summary2/ast_resolver.dart",
      "new_id": "849be993d69e99d05c8beaca312808faaf661aa4",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/summary2/ast_resolver.dart"
    },
    {
      "type": "modify",
      "old_id": "8d3e234d7740175553515711de013cd7f15482ff",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/generated/parser_test_base.dart",
      "new_id": "c3117edf8635595f29b8bd1c685abce87d503f34",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/generated/parser_test_base.dart"
    },
    {
      "type": "modify",
      "old_id": "1119be55e37d3a1fc269c31fd507749720cf1010",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/generated/test_support.dart",
      "new_id": "6bd3ca6fab05b1c9faf0d77558224e01119d3491",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/generated/test_support.dart"
    },
    {
      "type": "modify",
      "old_id": "f9e4e657f78fcb69c4e977c70b639f0295d19938",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/test/src/summary/test_strategies.dart",
      "new_id": "ef16571990a3106c1cb181cac3b26d6ffe082bc8",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/test/src/summary/test_strategies.dart"
    },
    {
      "type": "modify",
      "old_id": "e59999d6f015d6ebd0fe225ee137402eb1e6e712",
      "old_mode": 33188,
      "old_path": "pkg/analyzer_cli/tool/perf.dart",
      "new_id": "46e58d6d3c5d2a324fc7178dc4cd55e0ad94a62d",
      "new_mode": 33188,
      "new_path": "pkg/analyzer_cli/tool/perf.dart"
    },
    {
      "type": "modify",
      "old_id": "093a835223d1566fde7019f14742980755667fa6",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/perf.dart",
      "new_id": "b549c47054124d9c9d962153e08a44f145ac3fb6",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/perf.dart"
    },
    {
      "type": "modify",
      "old_id": "061275f418989d4d6e97152cf524cb701ae805a8",
      "old_mode": 33188,
      "old_path": "pkg/linter/lib/src/test_utilities/test_linter.dart",
      "new_id": "a4cb0bc66fbfb257f36d2ae58c19c582500007ff",
      "new_mode": 33188,
      "new_path": "pkg/linter/lib/src/test_utilities/test_linter.dart"
    },
    {
      "type": "modify",
      "old_id": "ec605c78f1cdd2a27fa290adf4fffec7389d3af4",
      "old_mode": 33188,
      "old_path": "pkg/scrape/lib/src/error_listener.dart",
      "new_id": "33bf9667462b5d1b3186cb22f1e709d2c1266fdd",
      "new_mode": 33188,
      "new_path": "pkg/scrape/lib/src/error_listener.dart"
    }
  ]
}
