mirror of
https://github.com/golang/go
synced 2024-11-18 14:54:40 -07:00
46bd65c853
This change attempts to fix a concurrency error that would cause textDocument/CodeLens, textDocument/Formatting, textDocument/DocumentLink, and textDocument/Hover from failing on go.mod files. The issue was that the go command would return a potential concurrency error since the ModHandle and the ModTidyHandle are both using the temporary go.mod file. Updates golang/go#37824 Change-Id: I6cd63c1f75817c7308e033aec473966536a2a3bd Reviewed-on: https://go-review.googlesource.com/c/tools/+/224917 Reviewed-by: Heschi Kreinick <heschi@google.com> Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
// Package packagesinternal exposes internal-only fields from go/packages.
|
|
package packagesinternal
|
|
|
|
import (
|
|
"time"
|
|
|
|
"golang.org/x/tools/internal/gocommand"
|
|
)
|
|
|
|
// Fields must match go list;
|
|
type Module struct {
|
|
Path string // module path
|
|
Version string // module version
|
|
Versions []string // available module versions (with -versions)
|
|
Replace *Module // replaced by this module
|
|
Time *time.Time // time version was created
|
|
Update *Module // available update, if any (with -u)
|
|
Main bool // is this the main module?
|
|
Indirect bool // is this module only an indirect dependency of main module?
|
|
Dir string // directory holding files for this module, if any
|
|
GoMod string // path to go.mod file used when loading this module, if any
|
|
GoVersion string // go version used in module
|
|
Error *ModuleError // error loading module
|
|
}
|
|
type ModuleError struct {
|
|
Err string // the error itself
|
|
}
|
|
|
|
var GetForTest = func(p interface{}) string { return "" }
|
|
|
|
var GetModule = func(p interface{}) *Module { return nil }
|
|
|
|
var GetGoCmdRunner = func(config interface{}) *gocommand.Runner { return nil }
|
|
|
|
var SetGoCmdRunner = func(config interface{}, runner *gocommand.Runner) {}
|