diff options
author | Robert Griesemer <gri@golang.org> | 2010-02-16 11:20:25 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2010-02-16 11:20:25 -0800 |
commit | f96c03e483aca8036176d436669ea99d25386e4a (patch) | |
tree | cbda34f8ea42e33056fef6dd843120092cf501fe /src/pkg/exp | |
parent | 4d5e60f1878767d9f8df494365c034f901a694e3 (diff) | |
download | golang-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.go | 7 |
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 } |