1
0
mirror of https://github.com/golang/go synced 2024-11-20 05:04:43 -07:00

go/build: add NoGoError

R=dsymonds
CC=golang-dev
https://golang.org/cl/5781063
This commit is contained in:
Russ Cox 2012-03-08 17:30:45 -05:00
parent 8a1b3d5a57
commit 6a19ae74d4

View File

@ -317,6 +317,16 @@ func (ctxt *Context) ImportDir(dir string, mode ImportMode) (*Package, error) {
return ctxt.Import(".", dir, mode)
}
// NoGoError is the error used by Import to describe a directory
// containing no Go source files.
type NoGoError struct {
Dir string
}
func (e *NoGoError) Error() string {
return "no Go source files in " + e.Dir
}
// Import returns details about the Go package named by the import path,
// interpreting local import paths relative to the src directory. If the path
// is a local import path naming a package that can be imported using a
@ -602,7 +612,7 @@ Found:
}
}
if p.Name == "" {
return p, fmt.Errorf("no Go source files in %s", p.Dir)
return p, &NoGoError{p.Dir}
}
p.Imports, p.ImportPos = cleanImports(imported)