all: merge master (e342718) into gopls-release-branch.0.8

Also add back a replace directive in go.mod.

Updates golang/go#52015

Conflicts:

- gopls/go.mod
- gopls/go.sum
- internal/lsp/testdata/rename/generics/generics.go.golden

Merge List:

+ 2022-03-29 e342718d gopls/internal/vulncheck: skip vuln entries without callstacks
+ 2022-03-29 b22bc85c gopls/doc: update stale documentation on generics
+ 2022-03-25 e693fb41 go/internal/gcimporter: fix IImportBundle error text
+ 2022-03-25 ed5a15cb go/internal/gcimporter: replace assert with more helpful panic
+ 2022-03-25 f4515dde go/packages: fix load with NeedTypes but not NeedImports
+ 2022-03-25 11930bd9 go/packages: fix handling of NeedExportFile in go list
+ 2022-03-25 e0095ae3 go/packages: fix precedence typo in needtypes calculation
+ 2022-03-25 e3096727 go/packages: rename NeedExportsFile to NeedExportFile
+ 2022-03-25 54af36ec internal/lsp: handle invalid URL args in command params
+ 2022-03-25 707beb0c internal/lsp/source: descend into fields and field lists in qualifyExpr
+ 2022-03-24 1e5ae839 internal/lsp/command: remove unnecessary json struct tag
+ 2022-03-24 b7db7eb6 internal/lsp/cmd: add vulncheck command
+ 2022-03-24 c62a3b32 gopls/internal/vulncheck: limit the included callstack count
+ 2022-03-24 78ff15e6 tools: fix some typos
+ 2022-03-24 f23240f5 gopls/go.mod: switch to golang.org/x/vuln/vulncheck
+ 2022-03-24 4adadedf internal/lsp/source: handle empty strings in directoryFilters
+ 2022-03-24 2536df95 internal/lsp/source: include builtin name in hovered signature
+ 2022-03-24 cd31eaad internal/lsp/command: add RunVulncheckExp
+ 2022-03-24 4737f459 internal/lsp/command: add VulncheckArgs/Result types
+ 2022-03-24 84a03211 doc/generate.go: handle non-empty JSON tag correctly
+ 2022-03-24 4460e9bc gopls/internal/vulncheck: copy x/vuln/cmd/govulncheck/cache.go
+ 2022-03-23 9fd677e1 gopls/internal/vulncheck: add cmd that runs govulncheck-like analysis
+ 2022-03-23 b169789a go/ssa: add position information for switch case conditions
+ 2022-03-23 9814b1bf gopls: update settings link to code lenses
+ 2022-03-22 87a86118 x/tools/go/packages: add Embed support
+ 2022-03-22 1428e83b lsp/completion: fix bogus generic func conversion
+ 2022-03-22 cbdab033 lsp/completion: fix bogus type param candidate
+ 2022-03-22 3a6cbd67 lsp/completion: improve completion for func type params
+ 2022-03-21 c717623e go/analysis/passes/asmdecl: define register-ABI result registers for PPC64
+ 2022-03-21 86b02b36 internal/lsp/cache: check for nil WorkFile.Go
+ 2022-03-18 5ea13d0d internal/lsp/source: move doc links to the bottom of hover
+ 2022-03-17 779dfa4f internal/lsp: invalidate package on go.mod change with go.work
+ 2022-03-17 c7b0e9ac internal/lsp/template: fix processing of multi-line tokens
+ 2022-03-17 e998cd2c internal/lsp: remove unused code
+ 2022-03-17 877ec07e internal/lsp/cache: remove unused code
+ 2022-03-16 85d68bc9 internal/lsp: update LSP stubs, including provisional InlayHints
+ 2022-03-16 fb5dfde7 internal/imports: update stdlib index for 1.18
+ 2022-03-16 d67eab4b go/types/objectpath: break cycles through type parameters in find
+ 2022-03-16 77aa08bb internal/completion: default to regular completion for f.Fuzz without f.Add
+ 2022-03-15 6799a7ae internal/lsp/source: canonicalize objects in reference/rename requests
+ 2022-03-15 54a569a9 internal/imports: use first quote when matching import path
+ 2022-03-14 40370f8a go/internal/gcimporter: add a test case for issue 51219
+ 2022-03-14 24806f2a go/analysis: add tests check for calling *F methods in fuzz func
+ 2022-03-14 dff7c5f2 go/internal/gcimporter: guard against infinite recursion with recursive type parameters

Change-Id: I14658ee3dbe4679d99f677880d0b75ae54830e43
tree: f9e2131fa946d2dfb5c2d509e6885e7a1e5211b2
  1. benchmark/
  2. blog/
  3. cmd/
  4. container/
  5. copyright/
  6. cover/
  7. go/
  8. godoc/
  9. gopls/
  10. imports/
  11. internal/
  12. playground/
  13. present/
  14. refactor/
  15. txtar/
  16. .gitattributes
  17. .gitignore
  18. .prettierrc
  19. AUTHORS
  20. codereview.cfg
  21. CONTRIBUTING.md
  22. CONTRIBUTORS
  23. go.mod
  24. go.sum
  25. LICENSE
  26. PATENTS
  27. README.md
README.md

Go Tools

PkgGoDev

This subrepository holds the source for various packages and tools that support the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.

Others, including the Go guru and the test coverage tool, can be fetched with go install.

Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.

Download/Install

The easiest way to install is to run go install golang.org/x/tools/...@latest.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.