var pkgMap … type Pkg … // NewPkg returns a new Pkg for the given package path and name. // Unless name is the empty string, if the package exists already, // the existing package name and the provided name must match. func NewPkg(path, name string) *Pkg { … } func PkgMap() map[string]*Pkg { … } var nopkg … func (pkg *Pkg) Lookup(name string) *Sym { … } // LookupOK looks up name in pkg and reports whether it previously existed. func (pkg *Pkg) LookupOK(name string) (s *Sym, existed bool) { … } func (pkg *Pkg) LookupBytes(name []byte) *Sym { … } // LookupNum looks up the symbol starting with prefix and ending with // the decimal n. If prefix is too long, LookupNum panics. func (pkg *Pkg) LookupNum(prefix string, n int) *Sym { … } // Selector looks up a selector identifier. func (pkg *Pkg) Selector(name string) *Sym { … } var internedStringsmu … var internedStrings … func InternString(b []byte) string { … }