go/internal/lsp/source
Rob Findley 03e951c4ab internal/lsp/source: add an experimental new cache key for packages
We've recently noted that hashing the packages.Config into the cache key
for the type checked package is probably unnecessary, given that all the
other critical inputs into the typechecker are already included
(packageID, parsed files, and deps). Furthermore, when using a gopls
daemon this causes unnecessary cache misses, because the packages.Config
includes things like working directory that no longer matter once other
inputs to type checking have been computed.

Add an experiment flag that removes the packages.Config from the cache
key. An experiment is used to stage this change as comprehensively
testing the cache is ~impossible.

Change-Id: I7ba73daaa71a80ec996decaa9817ec515b5eeb6e
Reviewed-on: https://go-review.googlesource.com/c/tools/+/260737
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Robert Findley <rfindley@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-10-08 17:20:56 +00:00
..
completion internal/lsp/source: ignore empty package names for completion 2020-10-02 18:49:44 +00:00
genapijson internal/lsp/source: add additional generated docs 2020-09-28 17:29:33 +00:00
api_json.go internal/lsp/source: add an experimental new cache key for packages 2020-10-08 17:20:56 +00:00
call_hierarchy.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
code_lens.go internal/lsp: add a test for gc annotation details code lens 2020-09-25 14:57:16 +00:00
command.go internal/lsp: add a command to generate the gopls.mod file 2020-09-23 18:26:40 +00:00
comment.go internal/lsp/source: use space character in markdown formatting 2020-08-26 03:44:07 +00:00
comment_test.go
diagnostics.go internal/lsp: prepare for deletion of view.modURI 2020-09-28 20:19:43 +00:00
extract.go internal/lsp: clean up some of the extract function code 2020-09-08 20:39:53 +00:00
folding_range.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
format.go internal/lsp/source/completion: remove unused contexts 2020-09-29 21:00:17 +00:00
format_test.go internal/lsp: reproduce and fix golang/go#41057 2020-09-02 22:40:51 +00:00
gc_annotations.go internal/lsp: allow multiple go.mod files in a view 2020-09-25 19:12:24 +00:00
highlight.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
hover.go internal/lsp: pass options by reference instead of by value 2020-09-16 22:53:23 +00:00
identifier.go internal/lsp: fix hover for builtin error method (Error) 2020-10-05 18:50:03 +00:00
identifier_test.go internal/lsp/source: add a unit test for searchForEnclosing 2020-07-28 18:51:24 +00:00
implementation.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
options.go internal/lsp/source: add an experimental new cache key for packages 2020-10-08 17:20:56 +00:00
options_test.go internal/lsp: don't show an error for "allExperiments" in (options).set 2020-10-07 03:26:33 +00:00
references.go internal/lsp/source: show references to interface methods 2020-10-06 22:15:05 +00:00
rename.go internal/lsp/source: show references to interface methods 2020-10-06 22:15:05 +00:00
rename_check.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
signature_help.go internal/lsp/source: refactor c.item to support deepSearch in all cases 2020-10-01 23:00:09 +00:00
source_test.go internal/lsp/source: refactor c.item to support deepSearch in all cases 2020-10-01 23:00:09 +00:00
symbols.go internal/lsp/source: move completion to its own package 2020-09-08 19:19:08 +00:00
types_format.go internal/lsp/source: refactor c.item to support deepSearch in all cases 2020-10-01 23:00:09 +00:00
util.go internal/lsp: move package selection to before type checking 2020-09-24 22:42:22 +00:00
view.go internal/lsp: improve handling of files not in views 2020-10-06 18:39:45 +00:00
workspace_symbol.go gopls: fix various staticcheck errors 2020-09-29 17:30:36 +00:00
workspace_symbol_test.go internal/lsp/source: support some fzf-like tokens in symbol matching 2020-09-08 16:35:05 +00:00