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
This commit is contained in:
parent
78d39711f0
commit
ebbfc26e88
2
Gopkg.lock
generated
2
Gopkg.lock
generated
@ -122,7 +122,7 @@
|
||||
"lib/cfg",
|
||||
"lib/whitelist"
|
||||
]
|
||||
revision = "18c83969a303d67eaa9d67747a930f007e3e9c89"
|
||||
revision = "54e733a64097854cf4d8fa80ccf48012a487ae1a"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
7
vendor/github.com/golangci/govet/types.go
generated
vendored
7
vendor/github.com/golangci/govet/types.go
generated
vendored
@ -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)}
|
||||
|
Loading…
x
Reference in New Issue
Block a user