mirror of
https://github.com/netbirdio/easyjson.git
synced 2026-05-22 18:44:42 -07:00
Minor fixes
This commit is contained in:
+10
-1
@@ -267,6 +267,15 @@ func getStructFields(t reflect.Type) ([]reflect.StructField, error) {
|
||||
return mergeStructFields(efields, fields), nil
|
||||
}
|
||||
|
||||
func (g *Generator) genDecoder(t reflect.Type) error {
|
||||
switch t.Kind() {
|
||||
case reflect.Slice:
|
||||
return g.genSliceDecoder(t)
|
||||
default:
|
||||
return g.genStructDecoder(t)
|
||||
}
|
||||
}
|
||||
|
||||
func (g *Generator) genSliceDecoder(t reflect.Type) error {
|
||||
if t.Kind() != reflect.Slice {
|
||||
return fmt.Errorf("cannot generate encoder/decoder for %v, not a slice type", t)
|
||||
@@ -287,7 +296,7 @@ func (g *Generator) genSliceDecoder(t reflect.Type) error {
|
||||
|
||||
func (g *Generator) genStructDecoder(t reflect.Type) error {
|
||||
if t.Kind() != reflect.Struct {
|
||||
return fmt.Errorf("cannot generate encoder/decoder for %v, not a struct type")
|
||||
return fmt.Errorf("cannot generate encoder/decoder for %v, not a struct type", t)
|
||||
}
|
||||
|
||||
fname := g.getDecoderName(t)
|
||||
|
||||
@@ -232,6 +232,15 @@ func (g *Generator) genStructFieldEncoder(t reflect.Type, f reflect.StructField)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Generator) genEncoder(t reflect.Type) error {
|
||||
switch t.Kind() {
|
||||
case reflect.Slice:
|
||||
return g.genSliceEncoder(t)
|
||||
default:
|
||||
return g.genStructEncoder(t)
|
||||
}
|
||||
}
|
||||
|
||||
func (g *Generator) genSliceEncoder(t reflect.Type) error {
|
||||
if t.Kind() != reflect.Slice {
|
||||
return fmt.Errorf("cannot generate encoder/decoder for %v, not a slice type", t)
|
||||
|
||||
+5
-15
@@ -175,21 +175,11 @@ func (g *Generator) Run(out io.Writer) error {
|
||||
g.typesUnseen = g.typesUnseen[:len(g.typesUnseen)-1]
|
||||
g.typesSeen[t] = true
|
||||
|
||||
switch t.Kind() {
|
||||
case reflect.Slice:
|
||||
if err := g.genSliceDecoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := g.genSliceEncoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
default:
|
||||
if err := g.genStructDecoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := g.genStructEncoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := g.genDecoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := g.genEncoder(t); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !g.marshallers[t] {
|
||||
|
||||
Reference in New Issue
Block a user