From ebbfc26e88d936642c3be6b833bd297844abb918 Mon Sep 17 00:00:00 2001 From: Denis Isaev Date: Tue, 19 Jun 2018 09:41:10 +0300 Subject: [PATCH] Fix #94: load object files for govet for old go Do it in compatible with old go versions object files way: use golang.org/x/tools/go/gcexportdata instead of importer.Default --- Gopkg.lock | 2 +- vendor/github.com/golangci/govet/types.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 21944a8d..6a44a743 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -122,7 +122,7 @@ "lib/cfg", "lib/whitelist" ] - revision = "18c83969a303d67eaa9d67747a930f007e3e9c89" + revision = "54e733a64097854cf4d8fa80ccf48012a487ae1a" [[projects]] branch = "master" diff --git a/vendor/github.com/golangci/govet/types.go b/vendor/github.com/golangci/govet/types.go index 14548c8e..ad5984f3 100644 --- a/vendor/github.com/golangci/govet/types.go +++ b/vendor/github.com/golangci/govet/types.go @@ -16,6 +16,7 @@ import ( "os" "time" + "golang.org/x/tools/go/gcexportdata" "golang.org/x/tools/go/loader" ) @@ -29,6 +30,10 @@ var ( formatterType *types.Interface // possibly nil ) +func newGCExportDataImporter(fset *token.FileSet) types.ImporterFrom { + return gcexportdata.NewImporter(fset, make(map[string]*types.Package)) +} + func inittypes() error { errorType = types.Universe.Lookup("error").Type().Underlying().(*types.Interface) @@ -83,7 +88,7 @@ func (pkg *Package) check(fs *token.FileSet, astFiles []*ast.File, pkgInfo *load if *source { stdImporter = importer.For("source", nil) } else { - stdImporter = importer.Default() + stdImporter = newGCExportDataImporter(fs) } if err := inittypes(); err != nil { return []error{fmt.Errorf("can't init std types: %s", err)}