From a68386b9fffea123b568538dfe34776a89c14492 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Sat, 30 Mar 2019 12:19:12 -0400 Subject: [PATCH] go/packages: add NeedTypesSizes to LoadTypes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change moves the NeedTypesSizes bit to LoadTypes instead of LoadSyntax. Fixes golang/go#31163 Change-Id: Icaf16639202533fbb2190756a325b36d8ac9251c Reviewed-on: https://go-review.googlesource.com/c/tools/+/170016 Run-TryBot: Rebecca Stambler Reviewed-by: Daniel Martí TryBot-Result: Gobot Gobot --- go/packages/packages.go | 6 +++--- go/packages/packages_test.go | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/go/packages/packages.go b/go/packages/packages.go index 36e54a3a..7d0198ff 100644 --- a/go/packages/packages.go +++ b/go/packages/packages.go @@ -88,14 +88,14 @@ const ( // LoadTypes adds type information for package-level // declarations in the packages matching the patterns. - // Package fields added: Types, Fset, and IllTyped. + // Package fields added: Types, TypesSizes, Fset, and IllTyped. // This mode uses type information provided by the build system when // possible, and may fill in the ExportFile field. - LoadTypes = LoadImports | NeedTypes + LoadTypes = LoadImports | NeedTypes | NeedTypesSizes // LoadSyntax adds typed syntax trees for the packages matching the patterns. // Package fields added: Syntax, and TypesInfo, for direct pattern matches only. - LoadSyntax = LoadTypes | NeedSyntax | NeedTypesInfo | NeedTypesSizes + LoadSyntax = LoadTypes | NeedSyntax | NeedTypesInfo // LoadAllSyntax adds typed syntax trees for the packages matching the patterns // and all dependencies. diff --git a/go/packages/packages_test.go b/go/packages/packages_test.go index bff64099..85a6b31c 100644 --- a/go/packages/packages_test.go +++ b/go/packages/packages_test.go @@ -569,6 +569,8 @@ func testLoadTypes(t *testing.T, exporter packagestest.Exporter) { continue } else if !p.Types.Complete() { t.Errorf("incomplete types.Package for %s", p) + } else if p.TypesSizes == nil { + t.Errorf("TypesSizes is not filled in for %s", p) } }