mirror of
https://github.com/golang/go
synced 2024-11-25 16:07:56 -07:00
exp/types: Use build.FindTree in GcImporter
Fixes #2932 R=gri CC=golang-dev https://golang.org/cl/5654046
This commit is contained in:
parent
a0acdd210b
commit
09f6a49194
@ -11,12 +11,12 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"go/ast"
|
"go/ast"
|
||||||
|
"go/build"
|
||||||
"go/token"
|
"go/token"
|
||||||
"io"
|
"io"
|
||||||
"math/big"
|
"math/big"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"text/scanner"
|
"text/scanner"
|
||||||
)
|
)
|
||||||
@ -24,7 +24,6 @@ import (
|
|||||||
const trace = false // set to true for debugging
|
const trace = false // set to true for debugging
|
||||||
|
|
||||||
var (
|
var (
|
||||||
pkgRoot = filepath.Join(runtime.GOROOT(), "pkg", runtime.GOOS+"_"+runtime.GOARCH)
|
|
||||||
pkgExts = [...]string{".a", ".5", ".6", ".8"}
|
pkgExts = [...]string{".a", ".5", ".6", ".8"}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -39,8 +38,12 @@ func findPkg(path string) (filename, id string) {
|
|||||||
var noext string
|
var noext string
|
||||||
switch path[0] {
|
switch path[0] {
|
||||||
default:
|
default:
|
||||||
// "x" -> "$GOROOT/pkg/$GOOS_$GOARCH/x.ext", "x"
|
// "x" -> "$GOPATH/pkg/$GOOS_$GOARCH/x.ext", "x"
|
||||||
noext = filepath.Join(pkgRoot, path)
|
tree, pkg, err := build.FindTree(path)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
noext = filepath.Join(tree.PkgDir(), pkg)
|
||||||
|
|
||||||
case '.':
|
case '.':
|
||||||
// "./x" -> "/this/directory/x.ext", "/this/directory/x"
|
// "./x" -> "/this/directory/x.ext", "/this/directory/x"
|
||||||
|
@ -61,7 +61,7 @@ func testPath(t *testing.T, path string) bool {
|
|||||||
const maxTime = 3 * time.Second
|
const maxTime = 3 * time.Second
|
||||||
|
|
||||||
func testDir(t *testing.T, dir string, endTime time.Time) (nimports int) {
|
func testDir(t *testing.T, dir string, endTime time.Time) (nimports int) {
|
||||||
dirname := filepath.Join(pkgRoot, dir)
|
dirname := filepath.Join(runtime.GOROOT(), "pkg", runtime.GOOS+"_"+runtime.GOARCH, dir)
|
||||||
list, err := ioutil.ReadDir(dirname)
|
list, err := ioutil.ReadDir(dirname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("testDir(%s): %s", dirname, err)
|
t.Errorf("testDir(%s): %s", dirname, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user