)]}' { "commit": "b98090b833e37f88b824288c5d6d9747e1652b52", "tree": "b6a1eafe5b2e902c12b4d8170c774e68dea47c3d", "parents": [ "0d12d39b863bf0f0854c29fc51a8a3d627eb20ec" ], "author": { "name": "Francesco Renzi", "email": "rentziass@gmail.com", "time": "Thu Sep 09 10:19:58 2021 +0200" }, "committer": { "name": "Rebecca Stambler", "email": "rstambler@golang.org", "time": "Tue Sep 21 20:35:14 2021 +0000" }, "message": "internal/lsp/analysis/implementmissing: add analyzer\n\nThis adds an analyzer that provides suggested fixes for undeclared name\nerrors on function calls, implementing a stub of the fuction (with an\nempty body). As of now this doesn\u0027t try to guess returned types but\nonly parameters.\nGenerated functions are appended at the end of the file where these type\nerrors occur.\n\nUpdates golang/go#47558\n\nChange-Id: Iaef45ada6b7b73de1fbe42e5f7e334512b65e6c7\nReviewed-on: https://go-review.googlesource.com/c/tools/+/348829\nReviewed-by: Rebecca Stambler \u003crstambler@golang.org\u003e\nTrust: Rebecca Stambler \u003crstambler@golang.org\u003e\nTrust: Peter Weinberger \u003cpjw@google.com\u003e\nRun-TryBot: Rebecca Stambler \u003crstambler@golang.org\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "80ee65d73b2e967fdcb98019e78360b64525799a", "old_mode": 33188, "old_path": "gopls/doc/analyzers.md", "new_id": "c3e19aca8d9db5c9185716d75da65b09b18043ab", "new_mode": 33188, "new_path": "gopls/doc/analyzers.md" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "2e4bc3c324fa06f48593c1c3dbe2f94ae0e7f5c5", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/missingfunc.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "7c9b573656264f0c31fd3e4e5de73482605954e9", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/missingfunc_test.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "fa9151843dee8339c56c65d1291749cf558ab61b", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/channels.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "c8578e68ea3263ec22ab0e663ae28eb4d33601dd", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/channels.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "4a6ec62368f1fb88488a340424621c7bd065ac55", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/consecutive_params.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "050b0fcf92230379c955859fc2f786606533d276", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/consecutive_params.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "49c5258ff9aaf0d3d998f33b77cf00e58c7cc699", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/error_param.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "1661fc4cc3f54dcded5b38cc147ea226e8b0384b", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/error_param.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "46c045c3d4a1db0967e35f004e7bb774e783a64b", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/literals.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "ee32b710cb487fb9731206dc18851131e44aba29", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/literals.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "b8330ec2c113c5bb5e27cf246d91940df53e5900", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/operation.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "1bf35cf61c7bbcb7544995a68e0925af61ee5a9c", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/operation.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "5db716f7f65148b683d514652d1b6f6df4461849", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/selector.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "9d66f6abddbf4327c285c8cf914c73907c4ae38e", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/selector.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "179954cdecf4c1b8caa1493eb6c3d55df26da7c8", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/slice.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "75f457878a32712b3b0a746263b0818d35109dff", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/slice.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "673f60775ef2de94a7f43da38d890ee5349f0123", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/tuple.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "ac33ed04a71943f4de0c35122b543746250352fb", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/tuple.go.golden" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "2f18498d2a30cf33e0a90aa3fa8c175491938deb", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/unique_params.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "28c27d87d0a27b7f2bf2d227529a1b256f5a90f9", "new_mode": 33188, "new_path": "internal/lsp/analysis/implementmissing/testdata/src/missingfunction/unique_params.go.golden" }, { "type": "modify", "old_id": "9b5734fa87a5de3b3974d928e1f5ee4d09a78a1b", "old_mode": 33261, "old_path": "internal/lsp/source/api_json.go", "new_id": "4b67341363a92709b66985e93c02dfa79ecd3bc6", "new_mode": 33261, "new_path": "internal/lsp/source/api_json.go" }, { "type": "modify", "old_id": "9bc73a9d7c79e75654d214244924bface7a84eb5", "old_mode": 33188, "old_path": "internal/lsp/source/options.go", "new_id": "19c99110417f3b6c770a5a0d1cb49f9eb2d0b739", "new_mode": 33188, "new_path": "internal/lsp/source/options.go" } ] }