summaryrefslogtreecommitdiff
path: root/src/pkg/exp
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2010-02-16 11:20:25 -0800
committerRobert Griesemer <gri@golang.org>2010-02-16 11:20:25 -0800
commitf96c03e483aca8036176d436669ea99d25386e4a (patch)
treecbda34f8ea42e33056fef6dd843120092cf501fe /src/pkg/exp
parent4d5e60f1878767d9f8df494365c034f901a694e3 (diff)
downloadgolang-f96c03e483aca8036176d436669ea99d25386e4a.tar.gz
remove assumption that all files belonging to a package are in the same directory:
- adjust ast.Package node and doc.PackageDoc correspondingly - introduce parser.ParseFiles R=rsc CC=golang-dev http://codereview.appspot.com/207087
Diffstat (limited to 'src/pkg/exp')
-rw-r--r--src/pkg/exp/parser/interface.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pkg/exp/parser/interface.go b/src/pkg/exp/parser/interface.go
index 26b08c2d9..e04ff1888 100644
--- a/src/pkg/exp/parser/interface.go
+++ b/src/pkg/exp/parser/interface.go
@@ -183,11 +183,12 @@ func ParsePackage(path string, filter func(*os.Dir) bool, mode uint) (*ast.Packa
for i := 0; i < len(list); i++ {
entry := &list[i]
if filter == nil || filter(entry) {
- src, err := ParsePkgFile(name, pathutil.Join(path, entry.Name), mode)
+ filename := pathutil.Join(path, entry.Name)
+ src, err := ParsePkgFile(name, filename, mode)
if err != nil {
return nil, err
}
- files[entry.Name] = src
+ files[filename] = src
if name == "" {
name = src.Name.Name()
}
@@ -198,5 +199,5 @@ func ParsePackage(path string, filter func(*os.Dir) bool, mode uint) (*ast.Packa
return nil, os.NewError(path + ": no package found")
}
- return &ast.Package{name, path, nil, files}, nil
+ return &ast.Package{name, nil, files}, nil
}