Revert "go/packages: avoid unnecessary dependency on StdSizes"
This reverts commit 2842ed849601a7944c006e819a9b5d264a3537e1.
Reason for revert: The dependency is not unnecessary, and any
changes here must be synchronized with Bazel's gopackagesdriver.
Change-Id: I1291198d10ed66ae8f4bd1238e981d9d3b9f86c2
Reviewed-on: https://go-review.googlesource.com/c/tools/+/511335
Auto-Submit: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/go/packages/golist.go b/go/packages/golist.go
index 84ddd52..5823003 100644
--- a/go/packages/golist.go
+++ b/go/packages/golist.go
@@ -9,6 +9,7 @@
"context"
"encoding/json"
"fmt"
+ "go/types"
"io/ioutil"
"log"
"os"
@@ -152,7 +153,10 @@
if cfg.Mode&NeedTypesSizes != 0 || cfg.Mode&NeedTypes != 0 {
sizeswg.Add(1)
go func() {
- response.dr.Sizes, sizeserr = packagesdriver.GetSizesGolist(ctx, state.cfgInvocation(), cfg.gocmdRunner)
+ var sizes types.Sizes
+ sizes, sizeserr = packagesdriver.GetSizesGolist(ctx, state.cfgInvocation(), cfg.gocmdRunner)
+ // types.SizesFor always returns nil or a *types.StdSizes.
+ response.dr.Sizes, _ = sizes.(*types.StdSizes)
sizeswg.Done()
}()
}
diff --git a/go/packages/packages.go b/go/packages/packages.go
index 6434022..da1a27e 100644
--- a/go/packages/packages.go
+++ b/go/packages/packages.go
@@ -221,7 +221,7 @@
NotHandled bool
// Sizes, if not nil, is the types.Sizes to use when type checking.
- Sizes types.Sizes
+ Sizes *types.StdSizes
// Roots is the set of package IDs that make up the root packages.
// We have to encode this separately because when we encode a single package