tools/internal/lsp/source
Rebecca Stambler b012c19798 internal/lsp: trim ASTs for which we do not require function bodies
This change trims the function bodies from the ASTs of files belonging to
dependency packages. In these cases, we do not necessarily need full
file ASTs, so it's not necessary to store the function bodies in memory.

This change will reduce memory usage. However, it will also slow down
the case of a user opening a file in a dependency package, as we will
have to re-typecheck the file to get the full AST. Hopefully, this
increase in latency will not be significant, as we will only need to
re-typecheck a single package (all the dependencies should be cached).

Updates golang/go#30309

Change-Id: I7871ae44499c851d1097087bd9d3567bb27db691
Reviewed-on: https://go-review.googlesource.com/c/tools/+/178719
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
2019-06-03 19:34:55 +00:00
..
analysis.go internal/lsp: run analyses despite some errors 2019-05-28 20:25:02 +00:00
completion.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
completion_format.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
completion_snippet.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
diagnostics.go internal/lsp: build the builtin package preemptively 2019-06-03 18:19:26 +00:00
diagnostics_test.go internal/lsp: fix swallowed package errors 2019-05-17 18:33:31 +00:00
enums.go internal/lsp: switch completion item tests to using the enum strings 2019-04-17 17:57:43 +00:00
format.go internal/lsp: add a file system abstraction 2019-05-24 13:48:47 +00:00
highlight.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
hover.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
identifier.go internal/lsp: trim ASTs for which we do not require function bodies 2019-06-03 19:34:55 +00:00
signature_help.go internal/lsp: add nil checks for ASTs and token 2019-05-20 20:09:54 +00:00
source_test.go internal/lsp: trim ASTs for which we do not require function bodies 2019-06-03 19:34:55 +00:00
symbols.go internal/lsp: build the packages config on demand from proper configuration 2019-05-21 17:12:43 +00:00
util.go internal/lsp: support definitions and hover for builtins 2019-05-17 00:35:10 +00:00
view.go internal/lsp: trim ASTs for which we do not require function bodies 2019-06-03 19:34:55 +00:00