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

Also update gopls/go.mod with a replace directive.

For golang/go#51659

Merge List:

+ 2022-03-14 49d48a0b go/analysis/passes/composite: allow InternalFuzzTarget
+ 2022-03-11 198cae37 go/ssa: split pkg() into different cases for *Package and *types.Package
+ 2022-03-10 ee31f706 internal/lsp: add completion for use directives
+ 2022-03-10 622cf7b3 internal/lsp/cache: copy workFile when invalidating workspace
+ 2022-03-10 e7a12a33 go/ssa: add type substitution
+ 2022-03-10 c773560c internal/lsp/cache: set GOWORK=off when mutating modfiles
+ 2022-03-10 613589de internal/lsp: more precise completions for *testing.F fuzz methods
+ 2022-03-10 9f99e956 go/analysis: add analyzer for f.Add
+ 2022-03-10 7b442e3c go/callgraph/vta: fix package doc
+ 2022-03-09 1670aada go/analysis: fix bug with finding field type
+ 2022-03-09 fd72fd66 go/ssa/interp: adding external functions for tests
+ 2022-03-09 b105aac5 internal/lsp: use regexp to add go mod edit -go quick fix
+ 2022-03-09 03d333aa internal/lsp: add snippet completion for function type parameters
+ 2022-03-09 94322c4f go/internal/gcimporter: pass -p to compiler in test
+ 2022-03-07 b59c441b internal/lsp/cache: always consider go.work files for ws expansion
+ 2022-03-04 e155b03a cmd/getgo: exec main from TestMain instead of running 'go build' in tests
+ 2022-03-04 e5622765 internal/lsp: add hover for go.work use statements
+ 2022-03-04 121d1e44 internal/lsp: report diagnostics on go.work files
+ 2022-03-04 0eabed70 cmd/file2fuzz: exec main from TestMain instead of running 'go build' in tests
+ 2022-03-04 19fe2d77 gopls: update xurls dependency, remove \b workaround
+ 2022-03-03 3ce77287 internal/lsp/source: support stubbing concrete type params
+ 2022-03-03 32869278 internal/lsp/cache: construct workspace even when go.work has error
+ 2022-03-02 09e02016 go/ssa: determine whether a type is parameterized.
+ 2022-03-02 e43402d2 go/ssa: changes Package.values to objects.
+ 2022-03-02 a972457a go/ssa: adds *types.Info field to ssa.Function.
+ 2022-03-02 fc479468 go/ssa: Move BasicBlock operations into block.go
+ 2022-03-02 7103138b gopls: add regtest for edit go directive quick fix
+ 2022-03-02 4a5e7f0d internal/lsp: correctly apply file edits for edit go directive
+ 2022-03-02 6a6eb596 go/ssa: Put type canonicalization on own mutex.
+ 2022-03-02 afc5fce2 gopls/doc: address additional comments on workspace.md
+ 2022-03-02 abbbcaf7 gopls/doc: update the documentation for workspaces to suggest go.work
+ 2022-03-02 72442fe0 gopls: update neovim documentation for imitating goimports
+ 2022-03-01 ffa170dc internal/jsonrpc2_v2: fix a racy map assignment in readIncoming
+ 2022-03-01 625c871d gopls: update neovim documentation for using go.work
+ 2022-03-01 fb3622a9 signature-generator: add Go func signature fuzzing tools
+ 2022-03-01 5d35a750 internal/jsonrpc2_v2: clarify documentation

Change-Id: Iff6ca42c407f6e63b3f99453d523dec4bcb44b1f
tree: 04aff40cd513360f19343f9a74bf65fc28fd6591
  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.