From 68a0998c73d3d5427f8d0f82ea66575250ab10ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E5=8F=AF?= Date: Fri, 16 Feb 2024 08:35:24 +0800 Subject: [PATCH] refactor: rename Iface to Interface --- Taskfile.yml | 3 +- cmd/kod/internal/generate_generator.go | 2 +- examples/helloworld/kod_gen.go | 16 +++--- internal/registry/registry.go | 2 +- kod.go | 24 ++++---- registry.go | 4 +- tests/case1/kod_gen.go | 80 +++++++++++++------------- tests/case2/case_test.go | 24 ++++---- tests/case2/kod_gen.go | 24 ++++---- tests/case3/kod_gen.go | 30 +++++----- tests/case4/kod_gen.go | 30 +++++----- tests/graphcase/kod_gen.go | 44 +++++++------- validate.go | 2 +- validate_test.go | 38 ++++++------ 14 files changed, 162 insertions(+), 161 deletions(-) diff --git a/Taskfile.yml b/Taskfile.yml index e48e368..add8aee 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -17,7 +17,8 @@ tasks: - task: test build:gowork: - sources: + run: once + sources: - "**/**.go" generates: - go.work diff --git a/cmd/kod/internal/generate_generator.go b/cmd/kod/internal/generate_generator.go index 13aa405..fe6b7a2 100644 --- a/cmd/kod/internal/generate_generator.go +++ b/cmd/kod/internal/generate_generator.go @@ -699,7 +699,7 @@ func (g *generator) generateRegisteredComponents(p printFn) { // To get a reflect.Type for an interface, we have to first get a type // of its pointer and then resolve the underlying type. See: // https://pkg.go.dev/reflect#example-TypeOf - p(` Iface: %s((*%s)(nil)).Elem(),`, reflect.qualify("TypeOf"), g.componentRef(comp)) + p(` Interface: %s((*%s)(nil)).Elem(),`, reflect.qualify("TypeOf"), g.componentRef(comp)) p(` Impl: %s(%s{}),`, reflect.qualify("TypeOf"), comp.implName()) p(" Refs: `%s`,", strings.Join(refNames, ",\n")) p(` LocalStubFn: %s,`, localStubFn) diff --git a/examples/helloworld/kod_gen.go b/examples/helloworld/kod_gen.go index 97f74e8..9bb68cc 100644 --- a/examples/helloworld/kod_gen.go +++ b/examples/helloworld/kod_gen.go @@ -12,10 +12,10 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/examples/helloworld/HelloWorld", - Iface: reflect.TypeOf((*HelloWorld)(nil)).Elem(), - Impl: reflect.TypeOf(helloWorld{}), - Refs: ``, + Name: "github.com/go-kod/kod/examples/helloworld/HelloWorld", + Interface: reflect.TypeOf((*HelloWorld)(nil)).Elem(), + Impl: reflect.TypeOf(helloWorld{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -30,10 +30,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(app{}), - Refs: `⟦bda493e9:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/examples/helloworld/HelloWorld⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(app{}), + Refs: `⟦bda493e9:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/examples/helloworld/HelloWorld⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/internal/registry/registry.go b/internal/registry/registry.go index df596f2..3fc2443 100644 --- a/internal/registry/registry.go +++ b/internal/registry/registry.go @@ -14,7 +14,7 @@ type LocalStubFnInfo struct { // Registration is the registration information for a component. type Registration struct { Name string // full package-prefixed component name - Iface reflect.Type // interface type for the component + Interface reflect.Type // interface type for the component Impl reflect.Type // implementation type (struct) Refs string LocalStubFn func(context.Context, *LocalStubFnInfo) any diff --git a/kod.go b/kod.go index 2f16edd..be10521 100644 --- a/kod.go +++ b/kod.go @@ -254,10 +254,10 @@ type Kod struct { hooker *hooks.Hooker - regs []*Registration - registryByName map[string]*Registration - registryByIface map[reflect.Type]*Registration - registryByImpl map[reflect.Type]*Registration + regs []*Registration + registryByName map[string]*Registration + registryByInterface map[reflect.Type]*Registration + registryByImpl map[reflect.Type]*Registration components map[string]any opts options @@ -282,13 +282,13 @@ func newKod(opts options) (*Kod, error) { Log: logConfig{Level: "info"}, ShutdownTimeout: 5 * time.Second, }, - hooker: hooks.New(), - regs: registry.All(), - registryByName: make(map[string]*Registration), - registryByIface: make(map[reflect.Type]*Registration), - registryByImpl: make(map[reflect.Type]*Registration), - components: make(map[string]any), - opts: opts, + hooker: hooks.New(), + regs: registry.All(), + registryByName: make(map[string]*Registration), + registryByInterface: make(map[reflect.Type]*Registration), + registryByImpl: make(map[reflect.Type]*Registration), + components: make(map[string]any), + opts: opts, } kod.register(opts.registrations) @@ -333,7 +333,7 @@ func (k *Kod) register(regs []*Registration) { for _, v := range k.regs { k.registryByName[v.Name] = v - k.registryByIface[v.Iface] = v + k.registryByInterface[v.Interface] = v k.registryByImpl[v.Impl] = v } } diff --git a/registry.go b/registry.go index 352216e..ad5e579 100644 --- a/registry.go +++ b/registry.go @@ -35,7 +35,7 @@ func (k *Kod) getImpl(ctx context.Context, t reflect.Type) (any, error) { // getIntf returns the component for the given interface type. func (k *Kod) getIntf(ctx context.Context, t reflect.Type, caller string) (any, error) { - reg, ok := k.registryByIface[t] + reg, ok := k.registryByInterface[t] if !ok { return nil, fmt.Errorf("kod: no component registered for interface %v", t) } @@ -67,7 +67,7 @@ func (k *Kod) get(ctx context.Context, reg *Registration) (any, error) { return c, nil } - if fake, ok := k.opts.fakes[reg.Iface]; ok { + if fake, ok := k.opts.fakes[reg.Interface]; ok { // We have a fake registered for this component. return fake, nil } diff --git a/tests/case1/kod_gen.go b/tests/case1/kod_gen.go index 0d0e1be..cda0293 100644 --- a/tests/case1/kod_gen.go +++ b/tests/case1/kod_gen.go @@ -15,10 +15,10 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/HTTPController", - Iface: reflect.TypeOf((*HTTPController)(nil)).Elem(), - Impl: reflect.TypeOf(httpControllerImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/HTTPController", + Interface: reflect.TypeOf((*HTTPController)(nil)).Elem(), + Impl: reflect.TypeOf(httpControllerImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -33,10 +33,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), - Refs: `⟦d40a644a:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case1/Test1Component⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), + Refs: `⟦d40a644a:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case1/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -51,10 +51,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -69,10 +69,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/Test2Component", - Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(), - Impl: reflect.TypeOf(test2Component{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/Test2Component", + Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(), + Impl: reflect.TypeOf(test2Component{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -87,10 +87,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/panicCaseInterface", - Iface: reflect.TypeOf((*panicCaseInterface)(nil)).Elem(), - Impl: reflect.TypeOf(panicCase{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/panicCaseInterface", + Interface: reflect.TypeOf((*panicCaseInterface)(nil)).Elem(), + Impl: reflect.TypeOf(panicCase{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -105,10 +105,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/test1Controller", - Iface: reflect.TypeOf((*test1Controller)(nil)).Elem(), - Impl: reflect.TypeOf(test1ControllerImpl{}), - Refs: `⟦dd37e4d0:KoDeDgE:github.com/go-kod/kod/tests/case1/test1Controller→github.com/go-kod/kod/tests/case1/Test1Component⟧`, + Name: "github.com/go-kod/kod/tests/case1/test1Controller", + Interface: reflect.TypeOf((*test1Controller)(nil)).Elem(), + Impl: reflect.TypeOf(test1ControllerImpl{}), + Refs: `⟦dd37e4d0:KoDeDgE:github.com/go-kod/kod/tests/case1/test1Controller→github.com/go-kod/kod/tests/case1/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -123,10 +123,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/testEchoController", - Iface: reflect.TypeOf((*testEchoController)(nil)).Elem(), - Impl: reflect.TypeOf(testEchoControllerImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/testEchoController", + Interface: reflect.TypeOf((*testEchoController)(nil)).Elem(), + Impl: reflect.TypeOf(testEchoControllerImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -141,10 +141,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/testGinController", - Iface: reflect.TypeOf((*testGinController)(nil)).Elem(), - Impl: reflect.TypeOf(testGinControllerImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/testGinController", + Interface: reflect.TypeOf((*testGinController)(nil)).Elem(), + Impl: reflect.TypeOf(testGinControllerImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -159,10 +159,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/testRepository", - Iface: reflect.TypeOf((*testRepository)(nil)).Elem(), - Impl: reflect.TypeOf(modelImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/testRepository", + Interface: reflect.TypeOf((*testRepository)(nil)).Elem(), + Impl: reflect.TypeOf(modelImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -177,10 +177,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case1/testService", - Iface: reflect.TypeOf((*testService)(nil)).Elem(), - Impl: reflect.TypeOf(serviceImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case1/testService", + Interface: reflect.TypeOf((*testService)(nil)).Elem(), + Impl: reflect.TypeOf(serviceImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/tests/case2/case_test.go b/tests/case2/case_test.go index 035c054..3132238 100644 --- a/tests/case2/case_test.go +++ b/tests/case2/case_test.go @@ -25,10 +25,10 @@ func TestRun(t *testing.T) { return t.Run(ctx) }, kod.WithRegistrations( &kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), - Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), + Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -43,10 +43,10 @@ func TestRun(t *testing.T) { }, }, &kod.Registration{ - Name: "github.com/go-kod/kod/tests/case2/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`, + Name: "github.com/go-kod/kod/tests/case2/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -61,10 +61,10 @@ func TestRun(t *testing.T) { }, }, &kod.Registration{ - Name: "github.com/go-kod/kod/tests/case2/Test2Component", - Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(), - Impl: reflect.TypeOf(test2Component{}), - Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`, + Name: "github.com/go-kod/kod/tests/case2/Test2Component", + Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(), + Impl: reflect.TypeOf(test2Component{}), + Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/tests/case2/kod_gen.go b/tests/case2/kod_gen.go index d5550bb..62a82af 100644 --- a/tests/case2/kod_gen.go +++ b/tests/case2/kod_gen.go @@ -12,10 +12,10 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), - Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), + Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -30,10 +30,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case2/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`, + Name: "github.com/go-kod/kod/tests/case2/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -48,10 +48,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case2/Test2Component", - Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(), - Impl: reflect.TypeOf(test2Component{}), - Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`, + Name: "github.com/go-kod/kod/tests/case2/Test2Component", + Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(), + Impl: reflect.TypeOf(test2Component{}), + Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/tests/case3/kod_gen.go b/tests/case3/kod_gen.go index 18635b9..fa00f44 100644 --- a/tests/case3/kod_gen.go +++ b/tests/case3/kod_gen.go @@ -12,9 +12,9 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), Refs: `⟦964a80ec:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case3/Test1Component⟧, ⟦e679c332:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case3/Test2Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { @@ -31,10 +31,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case3/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: `⟦27eee423:KoDeDgE:github.com/go-kod/kod/tests/case3/Test1Component→github.com/go-kod/kod/tests/case3/Test2Component⟧`, + Name: "github.com/go-kod/kod/tests/case3/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: `⟦27eee423:KoDeDgE:github.com/go-kod/kod/tests/case3/Test1Component→github.com/go-kod/kod/tests/case3/Test2Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -49,10 +49,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case3/Test2Component", - Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(), - Impl: reflect.TypeOf(test2Component{}), - Refs: `⟦9e26e2b7:KoDeDgE:github.com/go-kod/kod/tests/case3/Test2Component→github.com/go-kod/kod/tests/case3/Test3Component⟧`, + Name: "github.com/go-kod/kod/tests/case3/Test2Component", + Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(), + Impl: reflect.TypeOf(test2Component{}), + Refs: `⟦9e26e2b7:KoDeDgE:github.com/go-kod/kod/tests/case3/Test2Component→github.com/go-kod/kod/tests/case3/Test3Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -67,10 +67,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case3/Test3Component", - Iface: reflect.TypeOf((*Test3Component)(nil)).Elem(), - Impl: reflect.TypeOf(test3Component{}), - Refs: `⟦ab2f1bfd:KoDeDgE:github.com/go-kod/kod/tests/case3/Test3Component→github.com/go-kod/kod/tests/case3/Test1Component⟧`, + Name: "github.com/go-kod/kod/tests/case3/Test3Component", + Interface: reflect.TypeOf((*Test3Component)(nil)).Elem(), + Impl: reflect.TypeOf(test3Component{}), + Refs: `⟦ab2f1bfd:KoDeDgE:github.com/go-kod/kod/tests/case3/Test3Component→github.com/go-kod/kod/tests/case3/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/tests/case4/kod_gen.go b/tests/case4/kod_gen.go index c202759..b29ad13 100644 --- a/tests/case4/kod_gen.go +++ b/tests/case4/kod_gen.go @@ -12,9 +12,9 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), Refs: `⟦214d0158:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case4/Test1Component⟧, ⟦e43caa42:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case4/Test2Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { @@ -31,10 +31,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case4/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: `⟦f31518d1:KoDeDgE:github.com/go-kod/kod/tests/case4/Test1Component→github.com/go-kod/kod/tests/case4/Test3Component⟧`, + Name: "github.com/go-kod/kod/tests/case4/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: `⟦f31518d1:KoDeDgE:github.com/go-kod/kod/tests/case4/Test1Component→github.com/go-kod/kod/tests/case4/Test3Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -49,10 +49,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case4/Test2Component", - Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(), - Impl: reflect.TypeOf(test2Component{}), - Refs: `⟦2a62668d:KoDeDgE:github.com/go-kod/kod/tests/case4/Test2Component→github.com/go-kod/kod/tests/case4/Test3Component⟧`, + Name: "github.com/go-kod/kod/tests/case4/Test2Component", + Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(), + Impl: reflect.TypeOf(test2Component{}), + Refs: `⟦2a62668d:KoDeDgE:github.com/go-kod/kod/tests/case4/Test2Component→github.com/go-kod/kod/tests/case4/Test3Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -67,10 +67,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/case4/Test3Component", - Iface: reflect.TypeOf((*Test3Component)(nil)).Elem(), - Impl: reflect.TypeOf(test3Component{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/case4/Test3Component", + Interface: reflect.TypeOf((*Test3Component)(nil)).Elem(), + Impl: reflect.TypeOf(test3Component{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/tests/graphcase/kod_gen.go b/tests/graphcase/kod_gen.go index 9b343f1..89e18a7 100644 --- a/tests/graphcase/kod_gen.go +++ b/tests/graphcase/kod_gen.go @@ -14,10 +14,10 @@ import ( func init() { kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/graphcase/HTTPController", - Iface: reflect.TypeOf((*HTTPController)(nil)).Elem(), - Impl: reflect.TypeOf(httpControllerImpl{}), - Refs: `⟦38b48264:KoDeDgE:github.com/go-kod/kod/tests/graphcase/HTTPController→github.com/go-kod/kod/tests/graphcase/testService⟧`, + Name: "github.com/go-kod/kod/tests/graphcase/HTTPController", + Interface: reflect.TypeOf((*HTTPController)(nil)).Elem(), + Impl: reflect.TypeOf(httpControllerImpl{}), + Refs: `⟦38b48264:KoDeDgE:github.com/go-kod/kod/tests/graphcase/HTTPController→github.com/go-kod/kod/tests/graphcase/testService⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -32,9 +32,9 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(), - Impl: reflect.TypeOf(App{}), + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(), + Impl: reflect.TypeOf(App{}), Refs: `⟦b628eb85:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/graphcase/test1Controller⟧, ⟦75680c21:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/graphcase/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { @@ -51,10 +51,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/graphcase/Test1Component", - Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(), - Impl: reflect.TypeOf(test1Component{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/graphcase/Test1Component", + Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(), + Impl: reflect.TypeOf(test1Component{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -69,9 +69,9 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/graphcase/test1Controller", - Iface: reflect.TypeOf((*test1Controller)(nil)).Elem(), - Impl: reflect.TypeOf(test1ControllerImpl{}), + Name: "github.com/go-kod/kod/tests/graphcase/test1Controller", + Interface: reflect.TypeOf((*test1Controller)(nil)).Elem(), + Impl: reflect.TypeOf(test1ControllerImpl{}), Refs: `⟦54c533d5:KoDeDgE:github.com/go-kod/kod/tests/graphcase/test1Controller→github.com/go-kod/kod/tests/graphcase/HTTPController⟧, ⟦f932c69a:KoDeDgE:github.com/go-kod/kod/tests/graphcase/test1Controller→github.com/go-kod/kod/tests/graphcase/Test1Component⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { @@ -88,10 +88,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/graphcase/testModel", - Iface: reflect.TypeOf((*testModel)(nil)).Elem(), - Impl: reflect.TypeOf(modelImpl{}), - Refs: ``, + Name: "github.com/go-kod/kod/tests/graphcase/testModel", + Interface: reflect.TypeOf((*testModel)(nil)).Elem(), + Impl: reflect.TypeOf(modelImpl{}), + Refs: ``, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { @@ -106,10 +106,10 @@ func init() { }, }) kod.Register(&kod.Registration{ - Name: "github.com/go-kod/kod/tests/graphcase/testService", - Iface: reflect.TypeOf((*testService)(nil)).Elem(), - Impl: reflect.TypeOf(serviceImpl{}), - Refs: `⟦e691e13e:KoDeDgE:github.com/go-kod/kod/tests/graphcase/testService→github.com/go-kod/kod/tests/graphcase/testModel⟧`, + Name: "github.com/go-kod/kod/tests/graphcase/testService", + Interface: reflect.TypeOf((*testService)(nil)).Elem(), + Impl: reflect.TypeOf(serviceImpl{}), + Refs: `⟦e691e13e:KoDeDgE:github.com/go-kod/kod/tests/graphcase/testService→github.com/go-kod/kod/tests/graphcase/testModel⟧`, LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any { var interceptors []kod.Interceptor if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok { diff --git a/validate.go b/validate.go index 8cfb4da..adb5b2d 100644 --- a/validate.go +++ b/validate.go @@ -45,7 +45,7 @@ func validateRegistrations(regs []*Registration) error { // Gather the set of registered interfaces. intfs := map[reflect.Type]struct{}{} for _, reg := range regs { - intfs[reg.Iface] = struct{}{} + intfs[reg.Interface] = struct{}{} } // Check that for every kod.Ref[T] field in a component implementation diff --git a/validate_test.go b/validate_test.go index fcd89d0..842dfd9 100644 --- a/validate_test.go +++ b/validate_test.go @@ -15,9 +15,9 @@ func TestValidateUnregisteredRef(t *testing.T) { type fooImpl struct{ Ref[io.Reader] } regs := []*registry.Registration{ { - Name: "foo", - Iface: reflects.TypeFor[foo](), - Impl: reflects.TypeFor[fooImpl](), + Name: "foo", + Interface: reflects.TypeFor[foo](), + Impl: reflects.TypeFor[fooImpl](), }, } err := validateRegistrations(regs) @@ -43,16 +43,16 @@ func TestMultipleRegistrations(t *testing.T) { type fooImpl struct{ Ref[io.Reader] } regs := []*Registration{ { - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*Main)(nil)).Elem(), - Impl: reflect.TypeOf(fooImpl{}), - Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/graphcase/test1Controller⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*Main)(nil)).Elem(), + Impl: reflect.TypeOf(fooImpl{}), + Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/graphcase/test1Controller⟧`, }, { - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*foo)(nil)).Elem(), - Impl: reflect.TypeOf(fooImpl{}), - Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/tests/graphcase/test1Controller→github.com/go-kod/kod/Main⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*foo)(nil)).Elem(), + Impl: reflect.TypeOf(fooImpl{}), + Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/tests/graphcase/test1Controller→github.com/go-kod/kod/Main⟧`, }, } err := checkCircularDependency(regs) @@ -71,16 +71,16 @@ func TestCycleRegistrations(t *testing.T) { type mainImpl struct{ Ref[test1Controller] } regs := []*Registration{ { - Name: "github.com/go-kod/kod/Main", - Iface: reflect.TypeOf((*Main)(nil)).Elem(), - Impl: reflect.TypeOf(mainImpl{}), - Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/test1Controller⟧`, + Name: "github.com/go-kod/kod/Main", + Interface: reflect.TypeOf((*Main)(nil)).Elem(), + Impl: reflect.TypeOf(mainImpl{}), + Refs: `⟦48699770:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/test1Controller⟧`, }, { - Name: "github.com/go-kod/kod/test1Controller", - Iface: reflect.TypeOf((*test1Controller)(nil)).Elem(), - Impl: reflect.TypeOf(test1ControllerImpl{}), - Refs: `⟦b8422d0e:KoDeDgE:github.com/go-kod/kod/test1Controller→github.com/go-kod/kod/Main⟧`, + Name: "github.com/go-kod/kod/test1Controller", + Interface: reflect.TypeOf((*test1Controller)(nil)).Elem(), + Impl: reflect.TypeOf(test1ControllerImpl{}), + Refs: `⟦b8422d0e:KoDeDgE:github.com/go-kod/kod/test1Controller→github.com/go-kod/kod/Main⟧`, }, } err := checkCircularDependency(regs)