)]}'
{
  "commit": "efd951d80771c4af4c6ce5848ad8484a4a8de6f6",
  "tree": "c7bc559cb9c1898859d9e08fd6e4764341580009",
  "parents": [
    "d0d0d9ebc2175ffb592761462bd3a5c2ceab354f"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Mon Sep 30 14:27:05 2024 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Fri Oct 04 15:35:54 2024 +0000"
  },
  "message": "gopls/internal/analysis/stubmethods: merge into CodeAction\n\nThis change removes the stubmethods analyzer, a roundabout\nimplementation, and instead computes it directly from the\nprotocol.QuickFix code action producer.\n\nThis is simpler, more efficient, and has noticeably lower\nlatency (being type-based not analysis based).\nWe should consider this for the other type-error analyzers.\nHowever, the documentation, formerly generated to analyzers.md,\nis now maintained in the Quick Fixes section of diagnostics.md.\nMore importantly, the `analyzers[stubmethods]` config setting\nno longer exists.\n\nAlso:\n- addEditAction et al: pass Diagnostics as a parameter\n  instead of returning a pointer to a mutable CodeAction.\n- protocol.Intersect: clarify how its treatment differs from\n  mathematical convention in its handling of empty ranges,\n  and fix a bug where by [1,2) and [2,3) were considered\n  to intersect. (Only abutting empty ranges intersect by\n  our definition.)\n- Upgrade a marker test from @diag to @suggestedfixerr,\n  now that the latter exists.\n\nChange-Id: I010b2d4730596cac6f376c631839bfda159bf433\nReviewed-on: https://go-review.googlesource.com/c/tools/+/617035\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Robert Findley \u003crfindley@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f78f1bdf732d87c6bb935e46ed3abe81722cb1c6",
      "old_mode": 33188,
      "old_path": "gopls/doc/analyzers.md",
      "new_id": "ec2b63163748fea582fef3966bf2086bd2f21659",
      "new_mode": 33188,
      "new_path": "gopls/doc/analyzers.md"
    },
    {
      "type": "modify",
      "old_id": "f58a6465d1d9bf09fbead9b11fbcea34f1c7df31",
      "old_mode": 33188,
      "old_path": "gopls/doc/features/diagnostics.md",
      "new_id": "b667f69a08084df9052ca98fc126570cd77da482",
      "new_mode": 33188,
      "new_path": "gopls/doc/features/diagnostics.md"
    },
    {
      "type": "modify",
      "old_id": "bf5df29c01bda94d55bde09f6b309e395b14135b",
      "old_mode": 33188,
      "old_path": "gopls/doc/features/transformation.md",
      "new_id": "b65cd62424a6b8940b6c3026459ccd5c80c71a48",
      "new_mode": 33188,
      "new_path": "gopls/doc/features/transformation.md"
    },
    {
      "type": "delete",
      "old_id": "e1383cfc7e7ceb936e458ffa2bd66738cadcf179",
      "old_mode": 33188,
      "old_path": "gopls/internal/analysis/stubmethods/doc.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "c79a50d51e70df7a78970724217c058607d02e8c",
      "old_mode": 33188,
      "old_path": "gopls/internal/analysis/stubmethods/stubmethods.go",
      "new_id": "bfb68a44753c012e3f84b9b808c878f87eb79b2f",
      "new_mode": 33188,
      "new_path": "gopls/internal/analysis/stubmethods/stubmethods.go"
    },
    {
      "type": "delete",
      "old_id": "9c744c9b7a3a41e06a3c2ea04eace3ed76875879",
      "old_mode": 33188,
      "old_path": "gopls/internal/analysis/stubmethods/stubmethods_test.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7b6f2911ea993ceb5c29a5e0133924ae6aeb5eb2",
      "old_mode": 33188,
      "old_path": "gopls/internal/analysis/stubmethods/testdata/src/typeparams/implement.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d294ea0197d07cf5b125295475b99a63b74456d0",
      "old_mode": 33188,
      "old_path": "gopls/internal/doc/api.json",
      "new_id": "b076abd26b0d958cc84addab80a090a1e3074cf1",
      "new_mode": 33188,
      "new_path": "gopls/internal/doc/api.json"
    },
    {
      "type": "modify",
      "old_id": "e793ec72c8969c78f8b009f9fa9c12507bf793ab",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/change_quote.go",
      "new_id": "67f2943070027598e9d1bd1ad8ac6eb01b0f8993",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/change_quote.go"
    },
    {
      "type": "modify",
      "old_id": "f82abc6ce0dd9933e1f36a6807f522e812daca34",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/codeaction.go",
      "new_id": "b68b317b6db909cfad76023bd93bea99fb0aa8a5",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/codeaction.go"
    },
    {
      "type": "modify",
      "old_id": "3844fc0d65c3811ead0213ace4bf75c2b695e6f0",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/fix.go",
      "new_id": "7c44aa4d273f2f7e317f765366bf31ef9b09a24d",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/fix.go"
    },
    {
      "type": "modify",
      "old_id": "84299171fe4062e6c7066c5fa6c51cadb3f184f4",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/stub.go",
      "new_id": "c8a47b609c4b6dc9d3b678945dd9f8f5fe12727e",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/stub.go"
    },
    {
      "type": "modify",
      "old_id": "213251b1adb281c01b9d13107f7fc9c68f901931",
      "old_mode": 33188,
      "old_path": "gopls/internal/protocol/span.go",
      "new_id": "2911d4aa29b3b93cab9c110a96424eb74959aff7",
      "new_mode": 33188,
      "new_path": "gopls/internal/protocol/span.go"
    },
    {
      "type": "modify",
      "old_id": "65ecb215c0255610999ac3506cb6a950e3e4a6e5",
      "old_mode": 33188,
      "old_path": "gopls/internal/settings/analysis.go",
      "new_id": "86fa4766b51383301e493816ba8ad4dd98d0a92b",
      "new_mode": 33188,
      "new_path": "gopls/internal/settings/analysis.go"
    },
    {
      "type": "modify",
      "old_id": "354921afc01cc1652f316da9a549e9d5023984bd",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/integration/misc/codeactions_test.go",
      "new_id": "7e5ac9aba626931457818fb82acbccdda02be8f8",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/integration/misc/codeactions_test.go"
    },
    {
      "type": "modify",
      "old_id": "5bcb31b46de191af187aa3310394fe55309bc70f",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/doc.go",
      "new_id": "bd23a4f12ef69ed2c71c3dcb55ff71146ecc0cf0",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/doc.go"
    },
    {
      "type": "modify",
      "old_id": "a128bcb7f187d8e2ff2d7b000c3ce7c1fee51ba4",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/marker_test.go",
      "new_id": "1478fe631c769c9713f5c8b3d556cb8016911eec",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/marker_test.go"
    },
    {
      "type": "modify",
      "old_id": "e31494ae4615fa37687f6d21875f77c5365c1a20",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/testdata/suggestedfix/stub.txt",
      "new_id": "fc10d8e58ad19cad58bb1c34327e4940f039e0a0",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/testdata/suggestedfix/stub.txt"
    }
  ]
}
