in model/model.go [212:232]
func (pkg *Package) AddType(name string, typ reflect.Type) error {
if _, ok := pkg.Exports[name]; ok {
return nil
}
pkg.Exports[name] = nil // ensure that AddType does not run twice
t, err := pkg.typeFromType(typ)
if err != nil {
return err
}
switch t := t.(type) {
case *NamedType:
pkg.Exports[name] = t
default:
fmt.Fprintf(os.Stderr, "Warning: %s resulted in non-exportable type %T\n", name, t)
}
return nil
}