Slide 81
Slide 81 text
func NewParser(opts *ParserOptions) (*Parser, error) {
// ...
switch {
case opts.File != "":
p.file, err = parser.ParseFile(fset, opts.File, nil, mode)
case opts.Dir != "":
p.pkgs, err = parser.ParseDir(fset, opts.Dir, nil, mode)
case opts.Src != nil:
p.file, err = parser.ParseFile(fset, "src.go", opts.Src, mode)
default:
return nil, errors.New("file, src or dir is not specified")
}
return p, nil
}