go/gopls/internal/regtest
Heschi Kreinick 144d5ced6b internal/lsp: run type error analyzers as part of diagnostics
Type error analyzers can be viewed as enhancing type errors, rather
than analyzers in their own right. Create a source.DiagnosePackage
function that combines the list/parse/typecheck diagnostics with type
error analyzers. This allows us to remove some special cases from the
analysis path, and is a first step in removing all the special
handling for analysis quick fixes.

Along the way:
Pass pointers to source.Analyzer after I spent half an hour chasing a
loop capture bug. Spend a further 2-3 hours chasing slowdown in the
command tests as a result.

Move Unnecessary tag generation into diagnostic creation rather than
as a mutating post-processing step that required cloning diagnostics.

Change-Id: Id246667a9dcf484dc79516f92d5524261c435794
Reviewed-on: https://go-review.googlesource.com/c/tools/+/297879
Trust: Heschi Kreinick <heschi@google.com>
Trust: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2021-03-03 21:51:40 +00:00
..
bench gopls/internal/regtest: split regtests up into multiple packages 2021-01-28 15:45:56 +00:00
codelens internal/lsp/cache: refactor diagnostic suppression 2021-03-02 01:39:17 +00:00
completion internal/lsp/cache: allow fixing multiple syntax errors 2021-02-05 19:47:01 +00:00
diagnostics internal/lsp: run type error analyzers as part of diagnostics 2021-03-03 21:51:40 +00:00
misc internal/lsp: run type error analyzers as part of diagnostics 2021-03-03 21:51:40 +00:00
modfile internal/lsp: 'go get' packages instead of modules 2021-02-18 19:59:00 +00:00
watch gopls/internal/regtest: split regtests up into multiple packages 2021-01-28 15:45:56 +00:00
workspace internal/lsp: refactor go command error handling 2021-02-16 21:26:54 +00:00
doc.go
env.go gopls/internal/regtest: automate counting of editor notifications to await 2021-01-25 18:11:24 +00:00
env_test.go gopls/internal/regtest: automate counting of editor notifications to await 2021-01-25 18:11:24 +00:00
expectation.go internal/lsp: refactor go command error handling 2021-02-16 21:26:54 +00:00
regtest.go gopls/internal/regtest: exit if small machine 2021-02-12 16:49:37 +00:00
runner.go gopls/internal/regtest: exit if small machine 2021-02-12 16:49:37 +00:00
wrappers.go internal/lsp: refactor go command error handling 2021-02-16 21:26:54 +00:00