)]}' { "commit": "1c35f2a5d7d38aa0d042c2835c404f744581bdf2", "tree": "e2903ae125aee61e53d8fae449b8532fd65f6aba", "parents": [ "7d467dcfbb94234d0e09a32fb034c63ad0d8b8dd" ], "author": { "name": "Robert Findley", "email": "rfindley@google.com", "time": "Wed Sep 22 12:25:47 2021 -0400" }, "committer": { "name": "Robert Findley", "email": "rfindley@google.com", "time": "Wed Sep 29 19:22:48 2021 +0000" }, "message": "internal/lsp/analysis: quick-fix to remove unnecessary type arguments\n\nThis CL adds a new infertypeargs analyzer, which finds call exprs where\ntype arguments could be inferred, and suggests a quick fix to simplify\nthem.\n\nAlong the way, may two changes to the supporting frameworks:\n - Initialized types.Info.Instances in go/packages\n - Fail analysis tests run with suggested fixes if formatting the\n resulting source fails.\n\nChange-Id: Ib15e5bd7c26aa293c5fc18a4cff6bc047e9e31d2\nReviewed-on: https://go-review.googlesource.com/c/tools/+/351552\nTrust: Robert Findley \u003crfindley@google.com\u003e\nRun-TryBot: Robert Findley \u003crfindley@google.com\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Rebecca Stambler \u003crstambler@golang.org\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "844724467230aeffe5f1549ba26ed5ae4c83c711", "old_mode": 33188, "old_path": "go/analysis/analysistest/analysistest.go", "new_id": "aa27c1b9df654a8cfc63b6d8b31b2ded2ed92ff1", "new_mode": 33188, "new_path": "go/analysis/analysistest/analysistest.go" }, { "type": "modify", "old_id": "8a1a2d68100fa93dc477e5bba4594046b224a2cc", "old_mode": 33188, "old_path": "go/packages/packages.go", "new_id": "d545b13758ca3fa8a97f4ca64adb91ec0a02f10b", "new_mode": 33188, "new_path": "go/packages/packages.go" }, { "type": "modify", "old_id": "cc344b82346b76ca42dc859050707b80b3e20b4c", "old_mode": 33188, "old_path": "gopls/doc/analyzers.md", "new_id": "3a5ae5fd2184f377eb992ae072a761c58d4312ac", "new_mode": 33188, "new_path": "gopls/doc/analyzers.md" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "34e6e72235b17e15431ad272819ca4a942ae0015", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/infertypeargs.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "2957f46e3671e3b98ca143c1c8a1ee69dd2b17ce", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/infertypeargs_test.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "bc5c29b51d670d5deefb88f65b2df741e24f15bf", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/run_go117.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "96654c001163b6c30cc87a8259470035ba937a6d", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/run_go118.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "1c3d88ba1ad29678e11a51817db0087c9dbfee83", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/basic.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "72348ff7750a6b5186ade9f21b0d1cd3290e204f", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/basic.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "fc1f763df6c8155a4ec731629fcb798ca3c358ee", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/imported.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "6099545bbab302cb3fdfed85d3622374213ddf9c", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/imported.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "f0610a8b4cad29e7da4f8a2ef9d6cf06c4137f47", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/imported/imported.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "c304f1d0d2a526c2f69322537b90f3a098bb000f", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/notypechange.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "93c6f707c32d0a91960e505af5d89f2b12b5d0b6", "new_mode": 33188, "new_path": "internal/lsp/analysis/infertypeargs/testdata/src/a/notypechange.go.golden" }, { "type": "modify", "old_id": "59eb437fa0f0a75bb3518825e1ca55d37fe708f9", "old_mode": 33261, "old_path": "internal/lsp/source/api_json.go", "new_id": "0c328071adb7805b22e73695cece1aa2a17eeb7b", "new_mode": 33261, "new_path": "internal/lsp/source/api_json.go" }, { "type": "modify", "old_id": "374fb7063dd9b161eb7c34f7ed2131fda45e99f8", "old_mode": 33188, "old_path": "internal/lsp/source/options.go", "new_id": "cb4b11d965c41b9a7123e963ac4681e1adcba664", "new_mode": 33188, "new_path": "internal/lsp/source/options.go" }, { "type": "modify", "old_id": "479b5561d7f4019a70758997c0994b2ac7241cb3", "old_mode": 33188, "old_path": "internal/typeparams/typeparams_go117.go", "new_id": "ae153ab201afd6aadb3ba7f91e83d4b69d9777b2", "new_mode": 33188, "new_path": "internal/typeparams/typeparams_go117.go" }, { "type": "modify", "old_id": "16c6c0d157a0ab9ecfbeeb5a2696bbaddbf8a2c0", "old_mode": 33188, "old_path": "internal/typeparams/typeparams_go118.go", "new_id": "aca937a2a28827484a7db733eb1229584cc55000", "new_mode": 33188, "new_path": "internal/typeparams/typeparams_go118.go" } ] }