)]}'
{
  "commit": "94dda69eec5a08ba9b5483fd6c059d5c7c1b0689",
  "tree": "ce9c240b41481713bf8b78bb4e530b71f6b3c993",
  "parents": [
    "de121eea751c57d685b93e5ae494d61f583f89fc"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Wed Oct 07 12:28:48 2026 -0400"
  },
  "committer": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Thu Oct 08 10:30:47 2026 -0700"
  },
  "message": "internal/refactor/inline: use Cursors\n\nThis change uses a Cursor (now readily available to all inliner\nclients) to identify the call, instead of CallExpr and File syntax\nnodes, simplifying various operations.\n\nDetails:\n- The caller.path slice (formerly computed by PathEnclosingInterval)\n  is gone; its users (callStmt, callerFunc, callerLabels,\n  hasLabelConflict, lookup, tailCallSafeReturn, and paren and brace\n  removal) now use the cursor. callContext is replaced by\n  UnparenEnclosingCursor(...).Parent().\n- inlineCallResult.old, the node to be replaced, is now a cursor,\n  as is the result of callStmt.\n- callStmt now classifies restricted contexts by the ExprStmt\u0027s\n  parent edge rather than the parent\u0027s node type, and the\n  assignment strategy similarly checks for edge.BlockStmt_List.\n\nClients are updated:\n- the inline analyzer passes the cursor it already had;\n- gopls\u0027 enclosingStaticCall now uses pgf.Cursor (resolving a TODO);\n- gopls\u0027 inlineAllCalls finds calls using cursors and edge kinds,\n  and keeps a list of cursors, rebuilt after each re-parse.\n\nNo change in behavior.\n\nChange-Id: I8e235a620980fde3afb04541f177413f8052f172\nReviewed-on: https://go-review.googlesource.com/c/tools/+/846546\nReviewed-by: Hongxiang Jiang \u003chxjiang@golang.org\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91ecb81e922f61296d70366fe9d6afd16f75a3d3",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/inline/inline.go",
      "new_id": "696496a696eb7411c05b65c050daf6da84154d11",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/inline/inline.go"
    },
    {
      "type": "modify",
      "old_id": "71a987c50b7afe234b8a1f5bc745ec7d4cd1f198",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/inline.go",
      "new_id": "b8f919a83b251fb13986e0a0b9c6824d13be6b6e",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/inline.go"
    },
    {
      "type": "modify",
      "old_id": "78fca932e505688b6b122b937cfcf3d5561134af",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/inline_all.go",
      "new_id": "b1e952ddc3d7cbba00476c4d2af0a88f4585beb4",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/inline_all.go"
    },
    {
      "type": "modify",
      "old_id": "aecaa7da54cbb34e0715b134e385137f5d085b92",
      "old_mode": 33188,
      "old_path": "internal/refactor/inline/everything_test.go",
      "new_id": "79758bb51aa6814ccbeafc780c1962520e267fbd",
      "new_mode": 33188,
      "new_path": "internal/refactor/inline/everything_test.go"
    },
    {
      "type": "modify",
      "old_id": "e07b3dd617b5c599d122ef06701a9035b0ae4952",
      "old_mode": 33188,
      "old_path": "internal/refactor/inline/inline.go",
      "new_id": "ac073f976cf2636bf283f51bc2deac8e54f9edfb",
      "new_mode": 33188,
      "new_path": "internal/refactor/inline/inline.go"
    },
    {
      "type": "modify",
      "old_id": "b5eb5e5ee95a0f3f7b615a096470847f0ac6ceab",
      "old_mode": 33188,
      "old_path": "internal/refactor/inline/inline_test.go",
      "new_id": "1a89b5f5f471e829d64b58f538996b0a3cac6bce",
      "new_mode": 33188,
      "new_path": "internal/refactor/inline/inline_test.go"
    },
    {
      "type": "modify",
      "old_id": "119bd97b63739634e0188c27e203731e2d75d0c1",
      "old_mode": 33188,
      "old_path": "internal/refactor/inline/issue73187_test.go",
      "new_id": "06cb41e6306ac750a4eb3d507ec13ca610e02437",
      "new_mode": 33188,
      "new_path": "internal/refactor/inline/issue73187_test.go"
    }
  ]
}
