func()

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
}