From dfe0158f0294fdf97fb01b4f36d4f36077d817b1 Mon Sep 17 00:00:00 2001 From: Sri Krishna Paritala Date: Tue, 12 Nov 2019 13:38:41 +0530 Subject: [PATCH] Generate xxx tags even if not tags are specified. --- go.sum | 1 + module/extract.go | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/go.sum b/go.sum index d8e5e53..5bf624c 100644 --- a/go.sum +++ b/go.sum @@ -25,6 +25,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= diff --git a/module/extract.go b/module/extract.go index a157354..b69160f 100644 --- a/module/extract.go +++ b/module/extract.go @@ -28,6 +28,12 @@ func (v *tagExtractor) VisitOneOf(o pgs.OneOf) (pgs.Visitor, error) { return nil, err } + msgName := v.Context.Name(o.Message()).String() + + if v.tags[msgName] == nil { + v.tags[msgName] = map[string]*structtag.Tags{} + } + if !ok { return v, nil } @@ -37,12 +43,6 @@ func (v *tagExtractor) VisitOneOf(o pgs.OneOf) (pgs.Visitor, error) { return nil, err } - msgName := v.Context.Name(o.Message()).String() - - if v.tags[msgName] == nil { - v.tags[msgName] = map[string]*structtag.Tags{} - } - v.tags[msgName][v.Context.Name(o).String()] = tags return v, nil @@ -55,13 +55,6 @@ func (v *tagExtractor) VisitField(f pgs.Field) (pgs.Visitor, error) { return nil, err } - if !ok { - return v, nil - } - - tags, err := structtag.Parse(tval) - v.CheckErr(err) - msgName := v.Context.Name(f.Message()).String() if f.InOneOf() { @@ -72,6 +65,13 @@ func (v *tagExtractor) VisitField(f pgs.Field) (pgs.Visitor, error) { v.tags[msgName] = map[string]*structtag.Tags{} } + if !ok { + return v, nil + } + + tags, err := structtag.Parse(tval) + v.CheckErr(err) + v.tags[msgName][v.Context.Name(f).String()] = tags return v, nil