mirror of https://github.com/golang/go.git
Now that we preserve stale metadata, we can derive workspace packages entirely from known metadata and files. This consolidates the logic to compute workspace packages into a single location, which can be invoked whenever metadata changes (via load or invalidation in clone). Additionally: - Precompute 'HasWorkspaceFiles' when loading metadata. This value should never change for a given Metadata, and our view.contains func is actually quite slow due to evaluating symlinks. - Track 'PkgFilesChanged' on KnownMetadata, since we don't include packages whose package name has changed in our workspace. Also introduce a few debug helpers, so that we can leave some instrumentation in critical functions. For golang/go#45686 Change-Id: I2c994a1e8ca05c3c42f67bd2f4519bea5095c54c Reviewed-on: https://go-review.googlesource.com/c/tools/+/340735 Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> |
||
|---|---|---|
| .. | ||
| analysis.go | ||
| cache.go | ||
| check.go | ||
| debug.go | ||
| error_test.go | ||
| errors.go | ||
| graph.go | ||
| imports.go | ||
| keys.go | ||
| load.go | ||
| metadata.go | ||
| mod.go | ||
| mod_tidy.go | ||
| os_darwin.go | ||
| os_windows.go | ||
| parse.go | ||
| parse_test.go | ||
| parsemode_go116.go | ||
| parsemode_go117.go | ||
| pkg.go | ||
| session.go | ||
| snapshot.go | ||
| symbols.go | ||
| view.go | ||
| view_test.go | ||
| workspace.go | ||
| workspace_test.go | ||