in internal/typeregistry/discover-implemented.go [52:71]
func (t *TypeRegistry) registeredBasesOf(vt reflect.Type) []reflect.Type {
if vt.Kind() == reflect.Ptr {
vt = vt.Elem()
}
if vt.Kind() != reflect.Struct {
return nil
}
n := vt.NumField()
result := make([]reflect.Type, 0, n)
for i := 0; i < n; i++ {
f := vt.Field(i)
if !f.Anonymous {
continue
}
if _, ok := t.proxyMakers[f.Type]; ok {
result = append(result, f.Type)
}
}
return result
}