@@ -21,6 +21,9 @@ func WriteTupleEncodersToFile(fname, pkg string, types ...interface{}) error {
2121// The MarshalCBOR and UnmarshalCBOR implementations will marshal/unmarshal each type's fields as a
2222// fixed-length CBOR array of field values.
2323func (g Gen ) WriteTupleEncodersToFile (fname , pkg string , types ... interface {}) error {
24+ if g .SortTypeNames {
25+ types = sortTypeNames (types )
26+ }
2427 buf := new (bytes.Buffer )
2528
2629 typeInfos := make ([]* GenTypeInfo , len (types ))
@@ -74,6 +77,9 @@ func WriteMapEncodersToFile(fname, pkg string, types ...interface{}) error {
7477// The MarshalCBOR and UnmarshalCBOR implementations will marshal/unmarshal each type's fields as a
7578// map of field names to field values.
7679func (g Gen ) WriteMapEncodersToFile (fname , pkg string , types ... interface {}) error {
80+ if g .SortTypeNames {
81+ types = sortTypeNames (types )
82+ }
7783 buf := new (bytes.Buffer )
7884
7985 typeInfos := make ([]* GenTypeInfo , len (types ))
@@ -89,9 +95,9 @@ func (g Gen) WriteMapEncodersToFile(fname, pkg string, types ...interface{}) err
8995 return xerrors .Errorf ("failed to write header: %w" , err )
9096 }
9197
92- for _ , t := range typeInfos {
98+ for i , t := range typeInfos {
9399 if err := g .GenMapEncodersForType (t , buf ); err != nil {
94- return xerrors .Errorf ("failed to generate encoders: %w" , err )
100+ return xerrors .Errorf ("%T (%s) failed to generate encoders: %w" , types [ i ], t . Name , err )
95101 }
96102 }
97103
0 commit comments