diff options
author | Michael Muré <batolettre@gmail.com> | 2019-04-10 20:30:34 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2019-04-10 20:30:34 +0200 |
commit | 0e53d2555e9a6ddc707f6c59497f30e182116c80 (patch) | |
tree | 7fa6cd92d87c8ac6a0fd486be9647b69975b7d21 /vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go | |
parent | 9722d7c9eca28b1710e50ac9075fd11d0db0606a (diff) | |
download | git-bug-0e53d2555e9a6ddc707f6c59497f30e182116c80.tar.gz |
force a version of golang.org/x/tools due to an incompatibility with gqlgen
Diffstat (limited to 'vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go')
-rw-r--r-- | vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go index 0fd22bb0..3cb7ae5b 100644 --- a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go +++ b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go @@ -109,7 +109,7 @@ func IImportData(fset *token.FileSet, imports map[string]*types.Package, data [] }, } - for i, pt := range predeclared { + for i, pt := range predeclared() { p.typCache[uint64(i)] = pt } @@ -142,8 +142,12 @@ func IImportData(fset *token.FileSet, imports map[string]*types.Package, data [] p.pkgIndex[pkg] = nameIndex pkgList[i] = pkg } - - localpkg := pkgList[0] + var localpkg *types.Package + for _, pkg := range pkgList { + if pkg.Path() == path { + localpkg = pkg + } + } names := make([]string, 0, len(p.pkgIndex[localpkg])) for name := range p.pkgIndex[localpkg] { @@ -330,6 +334,10 @@ func (r *importReader) value() (typ types.Type, val constant.Value) { val = constant.BinaryOp(re, token.ADD, constant.MakeImag(im)) default: + if b.Kind() == types.Invalid { + val = constant.MakeUnknown() + return + } errorf("unexpected type %v", typ) // panics panic("unreachable") } |