)]}'
{
  "commit": "1ee38c93a61a2a02ee6b21270f9c25828e3ccab2",
  "tree": "fbf164e77cb8efe6c8a032c3b8b7007e94332618",
  "parents": [
    "ec60e188113d4dedadc09afda5c359b172197a11"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Tue Oct 21 17:23:14 2025 -0400"
  },
  "committer": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Thu Oct 23 05:05:53 2025 -0700"
  },
  "message": "gopls/internal/golang: typeDefinition: allow any expression\n\nPreviously, typeDefinition required an identifier with a type.\nNow it permits any expression.\n\nAlso\n- fix the bug in the type-switch edge case in the TODO comment.\n- fix bug in marker test of @typedef; now it follows the shape\n  of ordinary @def, and supports multiple locations.\n  And is documented.\n\n(The real motive for this change was to remove a use of\nreferencedObject, which needs to be melted down for golang/go#75975.)\n\n+ tests\n\nFor golang/go#69058\nFor golang/go#75975\n\nChange-Id: If8d29d3b920a51f12624ed512c29292bdbb4fbb4\nReviewed-on: https://go-review.googlesource.com/c/tools/+/713600\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hongxiang Jiang \u003chxjiang@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0a82308e573d58c5098dad16a1def1628586fd23",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/call_hierarchy.go",
      "new_id": "31389a4997f16d9d0adde3b5eb46669c5b8ac047",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/call_hierarchy.go"
    },
    {
      "type": "modify",
      "old_id": "5c5a076f83f28851765fc6801eecdafe01493a37",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/definition.go",
      "new_id": "cace3557cb079e6213687b949d84bc48e194bbb7",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/definition.go"
    },
    {
      "type": "modify",
      "old_id": "0620d74273659b891213f3abb46c9ba4c1d936b6",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/hover.go",
      "new_id": "a1ba81f6c620f0ba24118c8cf0b135a85ef0e844",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/hover.go"
    },
    {
      "type": "modify",
      "old_id": "3b6587db5bffe6a2af3906326b9cccc54aa3249d",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/type_definition.go",
      "new_id": "04b32e6decc89d136419d6097769ca09f92c44f6",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/type_definition.go"
    },
    {
      "type": "modify",
      "old_id": "6352c45147262651fd7f1b938262cc769bf7bafb",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/type_hierarchy.go",
      "new_id": "c07ba210f2486c414cef2aa49c71905ce13a84ec",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/type_hierarchy.go"
    },
    {
      "type": "modify",
      "old_id": "8b4c457b49eb71a9e854f2496a2d36fff2912afb",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/doc.go",
      "new_id": "4f7ef28b919653e232e6df67aa0b3217a5b3879b",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/doc.go"
    },
    {
      "type": "modify",
      "old_id": "690d1bf1dc82f02446dd787c2f47cc54d2e4d8a2",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/marker_test.go",
      "new_id": "8e1382f01ac995bac71d9e9555e8a62ecb99143b",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/marker_test.go"
    },
    {
      "type": "modify",
      "old_id": "3bc9dabdb8bfdaf2bf08d2dc99fe3d414b8b8f65",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/testdata/typedef/typedef.txt",
      "new_id": "940b275c30dc8bdad301a6058afa3ebc962a6f57",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/testdata/typedef/typedef.txt"
    }
  ]
}
