Documentation ¶
Overview ¶
package importer implements Import for gc-generated object files.
Index ¶
- func FindExportData(r *bufio.Reader) (hdr string, size int, err error)
- func FindPkg(path, srcDir string) (filename, id string)
- func Import(packages map[string]*types2.Package, path, srcDir string, ...) (pkg *types2.Package, err error)
- func ImportData(imports map[string]*types2.Package, data, path string) (pkg *types2.Package, err error)
- func ReadPackage(ctxt *types2.Context, imports map[string]*types2.Package, ...) *types2.Package
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindExportData ¶
FindExportData positions the reader r at the beginning of the export data section of an underlying GC-created object/archive file by reading from it. The reader must be positioned at the start of the file before calling this function. The hdr result is the string before the export data, either "$$" or "$$B".
If size is non-negative, it's the number of bytes of export data still available to read from r.
func FindPkg ¶
FindPkg returns the filename and unique package id for an import path based on package information provided by build.Import (using the build.Default build.Context). A relative srcDir is interpreted relative to the current working directory. If no file was found, an empty filename is returned.
func Import ¶
func Import(packages map[string]*types2.Package, path, srcDir string, lookup func(path string) (io.ReadCloser, error)) (pkg *types2.Package, err error)
Import imports a gc-generated package given its import path and srcDir, adds the corresponding package object to the packages map, and returns the object. The packages map must contain all packages already imported.
func ImportData ¶
func ImportData(imports map[string]*types2.Package, data, path string) (pkg *types2.Package, err error)
ImportData imports a package from the serialized package data and returns the number of bytes consumed and a reference to the package. If the export data version is not recognized or the format is otherwise compromised, an error is returned.
Types ¶
This section is empty.