in internal/typeregistry/typeregistry.go [47:64]
func New() *TypeRegistry {
registry := TypeRegistry{
fqnToType: make(map[api.FQN]registeredType),
fqnToEnumMember: make(map[string]interface{}),
typeToEnumFQN: make(map[reflect.Type]api.FQN),
typeToInterfaceFQN: make(map[reflect.Type]api.FQN),
structInfo: make(map[reflect.Type]registeredStruct),
proxyMakers: make(map[reflect.Type]func() interface{}),
typeMembers: make(map[api.FQN][]api.Override),
}
// Ensure we can initialize proxies for `interface{}` when a method returns `any`.
registry.proxyMakers[reflect.TypeOf((*interface{})(nil)).Elem()] = func() interface{} {
return &anonymousProxy{}
}
return ®istry
}