Skip to content

Commit

Permalink
Merge pull request #1724 from xushiwei/t
Browse files Browse the repository at this point in the history
ParseFSFiles fix: support SaveAbsFile flag
  • Loading branch information
xushiwei committed Feb 12, 2024
2 parents 8a921c7 + 8c67726 commit feeec64
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
7 changes: 7 additions & 0 deletions parser/parser_gop.go
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,14 @@ func ParseFiles(fset *token.FileSet, files []string, mode Mode) (map[string]*ast

func ParseFSFiles(fset *token.FileSet, fs FileSystem, files []string, mode Mode) (map[string]*ast.Package, error) {
ret := map[string]*ast.Package{}
fabs := (mode & SaveAbsFile) != 0
if fabs {
mode &^= SaveAbsFile
}
for _, file := range files {
if fabs {
file, _ = fs.Abs(file)
}
f, err := ParseFSFile(fset, fs, file, nil, mode)
if err != nil {
return nil, err
Expand Down
3 changes: 2 additions & 1 deletion parser/parserdir_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"syscall"
"testing"

"github.com/goplus/gop/parser/fsx"
"github.com/goplus/gop/parser/fsx/memfs"
"github.com/goplus/gop/parser/parsertest"
"github.com/goplus/gop/scanner"
Expand Down Expand Up @@ -68,7 +69,7 @@ func TestReadSource(t *testing.T) {

func TestParseFiles(t *testing.T) {
fset := token.NewFileSet()
if _, err := ParseFiles(fset, []string{"/foo/bar/not-exists"}, PackageClauseOnly); err == nil {
if _, err := ParseFSFiles(fset, fsx.Local, []string{"/foo/bar/not-exists"}, PackageClauseOnly|SaveAbsFile); err == nil {
t.Fatal("ParseFiles failed: no error?")
}
}
Expand Down

0 comments on commit feeec64

Please sign in to comment.