mirror of
https://github.com/netbirdio/easyjson.git
synced 2026-05-22 18:44:42 -07:00
Don't pass field tags into nested types
This commit is contained in:
+5
-5
@@ -156,7 +156,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field
|
||||
fmt.Fprintln(g.out, ws+" for !in.IsDelim(']') {")
|
||||
fmt.Fprintln(g.out, ws+" var "+tmpVar+" "+g.getType(elem))
|
||||
|
||||
if err := g.genTypeDecoder(elem, tmpVar, tags, indent+2); err != nil {
|
||||
if err := g.genTypeDecoder(elem, tmpVar, fieldTags{}, indent+2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field
|
||||
fmt.Fprintln(g.out, ws+" for !in.IsDelim(']') {")
|
||||
fmt.Fprintln(g.out, ws+" if "+iterVar+" < "+fmt.Sprint(length)+" {")
|
||||
|
||||
if err := g.genTypeDecoder(elem, "("+out+")["+iterVar+"]", tags, indent+3); err != nil {
|
||||
if err := g.genTypeDecoder(elem, "("+out+")["+iterVar+"]", fieldTags{}, indent+3); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field
|
||||
fmt.Fprintln(g.out, ws+" "+out+" = new("+g.getType(t.Elem())+")")
|
||||
fmt.Fprintln(g.out, ws+" }")
|
||||
|
||||
if err := g.genTypeDecoder(t.Elem(), "*"+out, tags, indent+1); err != nil {
|
||||
if err := g.genTypeDecoder(t.Elem(), "*"+out, fieldTags{}, indent+1); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -265,7 +265,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field
|
||||
fmt.Fprintln(g.out, ws+" key := "+g.getType(key)+"("+keyDec+")")
|
||||
} else {
|
||||
fmt.Fprintln(g.out, ws+" var key "+g.getType(key))
|
||||
if err := g.genTypeDecoder(key, "key", tags, indent+2); err != nil {
|
||||
if err := g.genTypeDecoder(key, "key", fieldTags{}, indent+2); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -273,7 +273,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field
|
||||
fmt.Fprintln(g.out, ws+" in.WantColon()")
|
||||
fmt.Fprintln(g.out, ws+" var "+tmpVar+" "+g.getType(elem))
|
||||
|
||||
if err := g.genTypeDecoder(elem, tmpVar, tags, indent+2); err != nil {
|
||||
if err := g.genTypeDecoder(elem, tmpVar, fieldTags{}, indent+2); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ var testCases = []struct {
|
||||
{&arrayValue, arrayString},
|
||||
{&mapsValue, mapsString},
|
||||
{&deepNestValue, deepNestString},
|
||||
{&deepNestOptionalValue, deepNestOptionalString},
|
||||
{&IntsValue, IntsString},
|
||||
{&mapStringStringValue, mapStringStringString},
|
||||
{&namedTypeValue, namedTypeValueString},
|
||||
|
||||
@@ -659,6 +659,20 @@ var deepNestString = `{` +
|
||||
`"NamedStringSlice":["value4","value5"]` +
|
||||
`}`
|
||||
|
||||
type DeepNestOptional struct {
|
||||
MapSlice []map[Str]Str `json:",omitempty"`
|
||||
}
|
||||
|
||||
var deepNestOptionalValue = DeepNestOptional{
|
||||
MapSlice: []map[Str]Str{map[Str]Str{}},
|
||||
}
|
||||
|
||||
var deepNestOptionalString = `{` +
|
||||
`"MapSlice":[` +
|
||||
`{}` +
|
||||
`]` +
|
||||
`}`
|
||||
|
||||
//easyjson:json
|
||||
type Ints []int
|
||||
|
||||
|
||||
Reference in New Issue
Block a user