1
0
mirror of https://github.com/golang/go synced 2024-11-18 10:54:40 -07:00
go/internal/lsp
Josh Baum 110bd3ba6b internal/lsp: make function extraction smarter
In the previous implementation, the extracted function would
sometimes include superfluous parameters and return values. It
might also  unnecessarily initialize variables. This CL introduces
3 rules to limit this behavior. (1) a variable is not passed as a
parameter to the extracted function if its first use within the
function is its own redefinition. (2) a variable is not returned
from the extracted function if its first use after the function is its
own redefinition. (3) when possible, we redefine variables in the call
expression to the extracted function.

Change-Id: Ideb5a7eff8a1bf462c83271a2f043116ff5d8b76
Reviewed-on: https://go-review.googlesource.com/c/tools/+/244770
Run-TryBot: Josh Baum <joshbaum@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-08-06 19:37:29 +00:00
..
analysis internal/lsp: remove excess 'zero values' in return statements 2020-08-05 14:29:31 +00:00
browser
cache internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
cmd internal/lsp: move undeclaredname suggested fix out of analysis 2020-07-23 23:54:27 +00:00
debug internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
diff internal/testenv: check that external 'diff' tool is the GNU version 2020-05-08 20:46:49 +00:00
fake internal/lsp: correctly invalidate metadata for batched changes 2020-07-27 19:55:46 +00:00
fuzzy internal/lsp: fix errors found by staticcheck 2020-03-19 19:20:54 +00:00
helper internal/lsp: change to helper.go to output a formatted file 2020-01-31 20:35:38 +00:00
lsprpc internal/lsp: remove uses of crypto/sha1 in gopls 2020-07-28 22:26:17 +00:00
mod internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
protocol internal/lsp: update code for LSP protocol 2020-07-28 15:42:44 +00:00
regtest internal/lsp: invalidate all packages on go.mod file changes 2020-07-31 06:09:45 +00:00
snippet
source internal/lsp: make function extraction smarter 2020-08-06 19:37:29 +00:00
testdata internal/lsp: make function extraction smarter 2020-08-06 19:37:29 +00:00
tests internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
code_action.go internal/lsp: fix bug in extract variable edit positions 2020-08-04 20:55:55 +00:00
code_lens.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
command.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
completion_test.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
completion.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
definition.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
diagnostics.go internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
folding_range.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
format.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
general.go internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
highlight.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
hover.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
implementation.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
link.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
lsp_test.go internal/lsp: make function extraction smarter 2020-08-06 19:37:29 +00:00
progress.go internal/lsp: change the way that we pass arguments to command 2020-07-21 16:30:27 +00:00
references.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
rename.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
reset_golden.sh
server_gen.go internal/lsp: update code for LSP protocol 2020-07-28 15:42:44 +00:00
server.go internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
signature_help.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
symbols.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
text_synchronization.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
workspace_symbol.go internal/lsp/source: add a new symbolStyle configuration option 2020-06-26 17:13:37 +00:00
workspace.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00