func (c *funcContext) varPtrName(o *types.Var) string { if isPkgLevel(o) && o.Exported() { return c.pkgVar(o.Pkg()) + "." + o.Name() + "$ptr" } name, ok := c.p.varPtrNames[o] if !ok { name = c.newVariableWithLevel(o.Name()+"$ptr", isPkgLevel(o)) c.p.varPtrNames[o] = name } return name }
func (p *exporter) field(f *types.Var) { // anonymous fields have "" name name := "" if !f.Anonymous() { name = f.Name() } // qualifiedName will always emit the field package for // anonymous fields because "" is not an exported name. p.qualifiedName(f.Pkg(), name) p.typ(f.Type()) }