go-parse-utils is a collection of utilities for parsing code easily.
go get gopkg.in/src-d/go-parse-utils.v1
PackageAST retrieves the
*ast.Package of a package in the given path.
pkg, err := parseutil.PackageAST("github.com/my/project")
Source code importer
importer.Importer of the Go standard library scans compiled objects, which can be painful to deal with in code generation, as it requires to
go build before running
This packages provides an implementation of
importer.ImporterFrom that reads directly from source code if the package is in the GOPATH, otherwise (the stdlib, for example) falls back to the default importer in the standard library.
- It is safe for concurrent use.
- Caches packages after they are first imported.
importer := parseutil.NewImporter() pkg, err := importer.Import("github.com/my/project")
MIT, see LICENSE