github.com/chrislusf/greenpack@v3.7.1-0.20170911073826-ad5bd10b7c47+incompatible/testdata/my2_gen.go (about) 1 package testdata 2 3 // NOTE: THIS FILE WAS PRODUCED BY THE 4 // GREENPACK CODE GENERATION TOOL (github.com/glycerine/greenpack) 5 // DO NOT EDIT 6 7 import ( 8 "github.com/glycerine/greenpack/msgp" 9 ) 10 11 // DecodeMsg implements msgp.Decodable 12 // We treat empty fields as if we read a Nil from the wire. 13 func (z *Tr) DecodeMsg(dc *msgp.Reader) (err error) { 14 var sawTopNil bool 15 if dc.IsNil() { 16 sawTopNil = true 17 err = dc.ReadNil() 18 if err != nil { 19 return 20 } 21 dc.PushAlwaysNil() 22 } 23 24 var field []byte 25 _ = field 26 const maxFields5zgensym_72ba5d454ae3d9dd_6 = 6 27 28 // -- templateDecodeMsg starts here-- 29 var totalEncodedFields5zgensym_72ba5d454ae3d9dd_6 uint32 30 totalEncodedFields5zgensym_72ba5d454ae3d9dd_6, err = dc.ReadMapHeader() 31 if err != nil { 32 return 33 } 34 encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 := totalEncodedFields5zgensym_72ba5d454ae3d9dd_6 35 missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6 := maxFields5zgensym_72ba5d454ae3d9dd_6 - totalEncodedFields5zgensym_72ba5d454ae3d9dd_6 36 37 var nextMiss5zgensym_72ba5d454ae3d9dd_6 int32 = -1 38 var found5zgensym_72ba5d454ae3d9dd_6 [maxFields5zgensym_72ba5d454ae3d9dd_6]bool 39 var curField5zgensym_72ba5d454ae3d9dd_6 string 40 41 doneWithStruct5zgensym_72ba5d454ae3d9dd_6: 42 // First fill all the encoded fields, then 43 // treat the remaining, missing fields, as Nil. 44 for encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 || missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 { 45 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6, missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6, msgp.ShowFound(found5zgensym_72ba5d454ae3d9dd_6[:]), decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6) 46 if encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 { 47 encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6-- 48 field, err = dc.ReadMapKeyPtr() 49 if err != nil { 50 return 51 } 52 curField5zgensym_72ba5d454ae3d9dd_6 = msgp.UnsafeString(field) 53 } else { 54 //missing fields need handling 55 if nextMiss5zgensym_72ba5d454ae3d9dd_6 < 0 { 56 // tell the reader to only give us Nils 57 // until further notice. 58 dc.PushAlwaysNil() 59 nextMiss5zgensym_72ba5d454ae3d9dd_6 = 0 60 } 61 for nextMiss5zgensym_72ba5d454ae3d9dd_6 < maxFields5zgensym_72ba5d454ae3d9dd_6 && (found5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6] || decodeMsgFieldSkip5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6]) { 62 nextMiss5zgensym_72ba5d454ae3d9dd_6++ 63 } 64 if nextMiss5zgensym_72ba5d454ae3d9dd_6 == maxFields5zgensym_72ba5d454ae3d9dd_6 { 65 // filled all the empty fields! 66 break doneWithStruct5zgensym_72ba5d454ae3d9dd_6 67 } 68 missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6-- 69 curField5zgensym_72ba5d454ae3d9dd_6 = decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6] 70 } 71 //fmt.Printf("switching on curField: '%v'\n", curField5zgensym_72ba5d454ae3d9dd_6) 72 switch curField5zgensym_72ba5d454ae3d9dd_6 { 73 // -- templateDecodeMsg ends here -- 74 75 case "U_zid00_str": 76 found5zgensym_72ba5d454ae3d9dd_6[0] = true 77 z.U, err = dc.ReadString() 78 if err != nil { 79 return 80 } 81 case "Nt_zid01_int": 82 found5zgensym_72ba5d454ae3d9dd_6[1] = true 83 z.Nt, err = dc.ReadInt() 84 if err != nil { 85 return 86 } 87 case "Snot_zid02_map": 88 found5zgensym_72ba5d454ae3d9dd_6[2] = true 89 var zgensym_72ba5d454ae3d9dd_7 uint32 90 zgensym_72ba5d454ae3d9dd_7, err = dc.ReadMapHeader() 91 if err != nil { 92 return 93 } 94 if z.Snot == nil && zgensym_72ba5d454ae3d9dd_7 > 0 { 95 z.Snot = make(map[string]bool, zgensym_72ba5d454ae3d9dd_7) 96 } else if len(z.Snot) > 0 { 97 for key, _ := range z.Snot { 98 delete(z.Snot, key) 99 } 100 } 101 for zgensym_72ba5d454ae3d9dd_7 > 0 { 102 zgensym_72ba5d454ae3d9dd_7-- 103 var zgensym_72ba5d454ae3d9dd_0 string 104 var zgensym_72ba5d454ae3d9dd_1 bool 105 zgensym_72ba5d454ae3d9dd_0, err = dc.ReadString() 106 if err != nil { 107 return 108 } 109 zgensym_72ba5d454ae3d9dd_1, err = dc.ReadBool() 110 if err != nil { 111 return 112 } 113 z.Snot[zgensym_72ba5d454ae3d9dd_0] = zgensym_72ba5d454ae3d9dd_1 114 } 115 case "Notyet_zid03_map": 116 found5zgensym_72ba5d454ae3d9dd_6[3] = true 117 var zgensym_72ba5d454ae3d9dd_8 uint32 118 zgensym_72ba5d454ae3d9dd_8, err = dc.ReadMapHeader() 119 if err != nil { 120 return 121 } 122 if z.Notyet == nil && zgensym_72ba5d454ae3d9dd_8 > 0 { 123 z.Notyet = make(map[string]bool, zgensym_72ba5d454ae3d9dd_8) 124 } else if len(z.Notyet) > 0 { 125 for key, _ := range z.Notyet { 126 delete(z.Notyet, key) 127 } 128 } 129 for zgensym_72ba5d454ae3d9dd_8 > 0 { 130 zgensym_72ba5d454ae3d9dd_8-- 131 var zgensym_72ba5d454ae3d9dd_2 string 132 var zgensym_72ba5d454ae3d9dd_3 bool 133 zgensym_72ba5d454ae3d9dd_2, err = dc.ReadString() 134 if err != nil { 135 return 136 } 137 zgensym_72ba5d454ae3d9dd_3, err = dc.ReadBool() 138 if err != nil { 139 return 140 } 141 z.Notyet[zgensym_72ba5d454ae3d9dd_2] = zgensym_72ba5d454ae3d9dd_3 142 } 143 case "Setm_zid04_slc": 144 found5zgensym_72ba5d454ae3d9dd_6[4] = true 145 var zgensym_72ba5d454ae3d9dd_9 uint32 146 zgensym_72ba5d454ae3d9dd_9, err = dc.ReadArrayHeader() 147 if err != nil { 148 return 149 } 150 if cap(z.Setm) >= int(zgensym_72ba5d454ae3d9dd_9) { 151 z.Setm = (z.Setm)[:zgensym_72ba5d454ae3d9dd_9] 152 } else { 153 z.Setm = make([]*inn, zgensym_72ba5d454ae3d9dd_9) 154 } 155 for zgensym_72ba5d454ae3d9dd_4 := range z.Setm { 156 if dc.IsNil() { 157 err = dc.ReadNil() 158 if err != nil { 159 return 160 } 161 162 if z.Setm[zgensym_72ba5d454ae3d9dd_4] != nil { 163 dc.PushAlwaysNil() 164 err = z.Setm[zgensym_72ba5d454ae3d9dd_4].DecodeMsg(dc) 165 if err != nil { 166 return 167 } 168 dc.PopAlwaysNil() 169 } 170 } else { 171 // not Nil, we have something to read 172 173 if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil { 174 z.Setm[zgensym_72ba5d454ae3d9dd_4] = new(inn) 175 } 176 err = z.Setm[zgensym_72ba5d454ae3d9dd_4].DecodeMsg(dc) 177 if err != nil { 178 return 179 } 180 } 181 } 182 default: 183 err = dc.Skip() 184 if err != nil { 185 return 186 } 187 } 188 } 189 if nextMiss5zgensym_72ba5d454ae3d9dd_6 != -1 { 190 dc.PopAlwaysNil() 191 } 192 193 if sawTopNil { 194 dc.PopAlwaysNil() 195 } 196 197 if p, ok := interface{}(z).(msgp.PostLoad); ok { 198 p.PostLoadHook() 199 } 200 201 return 202 } 203 204 // fields of Tr 205 var decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6 = []string{"U_zid00_str", "Nt_zid01_int", "Snot_zid02_map", "Notyet_zid03_map", "Setm_zid04_slc", ""} 206 207 var decodeMsgFieldSkip5zgensym_72ba5d454ae3d9dd_6 = []bool{false, false, false, false, false, true} 208 209 // fieldsNotEmpty supports omitempty tags 210 func (z *Tr) fieldsNotEmpty(isempty []bool) uint32 { 211 if len(isempty) == 0 { 212 return 5 213 } 214 var fieldsInUse uint32 = 5 215 isempty[0] = (len(z.U) == 0) // string, omitempty 216 if isempty[0] { 217 fieldsInUse-- 218 } 219 isempty[1] = (z.Nt == 0) // number, omitempty 220 if isempty[1] { 221 fieldsInUse-- 222 } 223 isempty[2] = (len(z.Snot) == 0) // string, omitempty 224 if isempty[2] { 225 fieldsInUse-- 226 } 227 isempty[3] = (len(z.Notyet) == 0) // string, omitempty 228 if isempty[3] { 229 fieldsInUse-- 230 } 231 isempty[4] = (len(z.Setm) == 0) // string, omitempty 232 if isempty[4] { 233 fieldsInUse-- 234 } 235 236 return fieldsInUse 237 } 238 239 // EncodeMsg implements msgp.Encodable 240 func (z *Tr) EncodeMsg(en *msgp.Writer) (err error) { 241 if p, ok := interface{}(z).(msgp.PreSave); ok { 242 p.PreSaveHook() 243 } 244 245 // honor the omitempty tags 246 var empty_zgensym_72ba5d454ae3d9dd_10 [6]bool 247 fieldsInUse_zgensym_72ba5d454ae3d9dd_11 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_10[:]) 248 249 // map header 250 err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_11) 251 if err != nil { 252 return err 253 } 254 255 if !empty_zgensym_72ba5d454ae3d9dd_10[0] { 256 // write "U_zid00_str" 257 err = en.Append(0xab, 0x55, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x73, 0x74, 0x72) 258 if err != nil { 259 return err 260 } 261 err = en.WriteString(z.U) 262 if err != nil { 263 return 264 } 265 } 266 267 if !empty_zgensym_72ba5d454ae3d9dd_10[1] { 268 // write "Nt_zid01_int" 269 err = en.Append(0xac, 0x4e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x6e, 0x74) 270 if err != nil { 271 return err 272 } 273 err = en.WriteInt(z.Nt) 274 if err != nil { 275 return 276 } 277 } 278 279 if !empty_zgensym_72ba5d454ae3d9dd_10[2] { 280 // write "Snot_zid02_map" 281 err = en.Append(0xae, 0x53, 0x6e, 0x6f, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x6d, 0x61, 0x70) 282 if err != nil { 283 return err 284 } 285 err = en.WriteMapHeader(uint32(len(z.Snot))) 286 if err != nil { 287 return 288 } 289 for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot { 290 err = en.WriteString(zgensym_72ba5d454ae3d9dd_0) 291 if err != nil { 292 return 293 } 294 err = en.WriteBool(zgensym_72ba5d454ae3d9dd_1) 295 if err != nil { 296 return 297 } 298 } 299 } 300 301 if !empty_zgensym_72ba5d454ae3d9dd_10[3] { 302 // write "Notyet_zid03_map" 303 err = en.Append(0xb0, 0x4e, 0x6f, 0x74, 0x79, 0x65, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x33, 0x5f, 0x6d, 0x61, 0x70) 304 if err != nil { 305 return err 306 } 307 err = en.WriteMapHeader(uint32(len(z.Notyet))) 308 if err != nil { 309 return 310 } 311 for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet { 312 err = en.WriteString(zgensym_72ba5d454ae3d9dd_2) 313 if err != nil { 314 return 315 } 316 err = en.WriteBool(zgensym_72ba5d454ae3d9dd_3) 317 if err != nil { 318 return 319 } 320 } 321 } 322 323 if !empty_zgensym_72ba5d454ae3d9dd_10[4] { 324 // write "Setm_zid04_slc" 325 err = en.Append(0xae, 0x53, 0x65, 0x74, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x34, 0x5f, 0x73, 0x6c, 0x63) 326 if err != nil { 327 return err 328 } 329 err = en.WriteArrayHeader(uint32(len(z.Setm))) 330 if err != nil { 331 return 332 } 333 for zgensym_72ba5d454ae3d9dd_4 := range z.Setm { 334 if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil { 335 err = en.WriteNil() 336 if err != nil { 337 return 338 } 339 } else { 340 err = z.Setm[zgensym_72ba5d454ae3d9dd_4].EncodeMsg(en) 341 if err != nil { 342 return 343 } 344 } 345 } 346 } 347 348 return 349 } 350 351 // MarshalMsg implements msgp.Marshaler 352 func (z *Tr) MarshalMsg(b []byte) (o []byte, err error) { 353 if p, ok := interface{}(z).(msgp.PreSave); ok { 354 p.PreSaveHook() 355 } 356 357 o = msgp.Require(b, z.Msgsize()) 358 359 // honor the omitempty tags 360 var empty [6]bool 361 fieldsInUse := z.fieldsNotEmpty(empty[:]) 362 o = msgp.AppendMapHeader(o, fieldsInUse) 363 364 if !empty[0] { 365 // string "U_zid00_str" 366 o = append(o, 0xab, 0x55, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x73, 0x74, 0x72) 367 o = msgp.AppendString(o, z.U) 368 } 369 370 if !empty[1] { 371 // string "Nt_zid01_int" 372 o = append(o, 0xac, 0x4e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x6e, 0x74) 373 o = msgp.AppendInt(o, z.Nt) 374 } 375 376 if !empty[2] { 377 // string "Snot_zid02_map" 378 o = append(o, 0xae, 0x53, 0x6e, 0x6f, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x6d, 0x61, 0x70) 379 o = msgp.AppendMapHeader(o, uint32(len(z.Snot))) 380 for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot { 381 o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_0) 382 o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_1) 383 } 384 } 385 386 if !empty[3] { 387 // string "Notyet_zid03_map" 388 o = append(o, 0xb0, 0x4e, 0x6f, 0x74, 0x79, 0x65, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x33, 0x5f, 0x6d, 0x61, 0x70) 389 o = msgp.AppendMapHeader(o, uint32(len(z.Notyet))) 390 for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet { 391 o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_2) 392 o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_3) 393 } 394 } 395 396 if !empty[4] { 397 // string "Setm_zid04_slc" 398 o = append(o, 0xae, 0x53, 0x65, 0x74, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x34, 0x5f, 0x73, 0x6c, 0x63) 399 o = msgp.AppendArrayHeader(o, uint32(len(z.Setm))) 400 for zgensym_72ba5d454ae3d9dd_4 := range z.Setm { 401 if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil { 402 o = msgp.AppendNil(o) 403 } else { 404 o, err = z.Setm[zgensym_72ba5d454ae3d9dd_4].MarshalMsg(o) 405 if err != nil { 406 return 407 } 408 } 409 } 410 } 411 412 return 413 } 414 415 // UnmarshalMsg implements msgp.Unmarshaler 416 func (z *Tr) UnmarshalMsg(bts []byte) (o []byte, err error) { 417 return z.UnmarshalMsgWithCfg(bts, nil) 418 } 419 func (z *Tr) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 420 var nbs msgp.NilBitsStack 421 nbs.Init(cfg) 422 var sawTopNil bool 423 if msgp.IsNil(bts) { 424 sawTopNil = true 425 bts = nbs.PushAlwaysNil(bts[1:]) 426 } 427 428 var field []byte 429 _ = field 430 const maxFields12zgensym_72ba5d454ae3d9dd_13 = 6 431 432 // -- templateUnmarshalMsg starts here-- 433 var totalEncodedFields12zgensym_72ba5d454ae3d9dd_13 uint32 434 if !nbs.AlwaysNil { 435 totalEncodedFields12zgensym_72ba5d454ae3d9dd_13, bts, err = nbs.ReadMapHeaderBytes(bts) 436 if err != nil { 437 return 438 } 439 } 440 encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 := totalEncodedFields12zgensym_72ba5d454ae3d9dd_13 441 missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13 := maxFields12zgensym_72ba5d454ae3d9dd_13 - totalEncodedFields12zgensym_72ba5d454ae3d9dd_13 442 443 var nextMiss12zgensym_72ba5d454ae3d9dd_13 int32 = -1 444 var found12zgensym_72ba5d454ae3d9dd_13 [maxFields12zgensym_72ba5d454ae3d9dd_13]bool 445 var curField12zgensym_72ba5d454ae3d9dd_13 string 446 447 doneWithStruct12zgensym_72ba5d454ae3d9dd_13: 448 // First fill all the encoded fields, then 449 // treat the remaining, missing fields, as Nil. 450 for encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 || missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 { 451 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13, missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13, msgp.ShowFound(found12zgensym_72ba5d454ae3d9dd_13[:]), unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13) 452 if encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 { 453 encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13-- 454 field, bts, err = nbs.ReadMapKeyZC(bts) 455 if err != nil { 456 return 457 } 458 curField12zgensym_72ba5d454ae3d9dd_13 = msgp.UnsafeString(field) 459 } else { 460 //missing fields need handling 461 if nextMiss12zgensym_72ba5d454ae3d9dd_13 < 0 { 462 // set bts to contain just mnil (0xc0) 463 bts = nbs.PushAlwaysNil(bts) 464 nextMiss12zgensym_72ba5d454ae3d9dd_13 = 0 465 } 466 for nextMiss12zgensym_72ba5d454ae3d9dd_13 < maxFields12zgensym_72ba5d454ae3d9dd_13 && (found12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13] || unmarshalMsgFieldSkip12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13]) { 467 nextMiss12zgensym_72ba5d454ae3d9dd_13++ 468 } 469 if nextMiss12zgensym_72ba5d454ae3d9dd_13 == maxFields12zgensym_72ba5d454ae3d9dd_13 { 470 // filled all the empty fields! 471 break doneWithStruct12zgensym_72ba5d454ae3d9dd_13 472 } 473 missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13-- 474 curField12zgensym_72ba5d454ae3d9dd_13 = unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13] 475 } 476 //fmt.Printf("switching on curField: '%v'\n", curField12zgensym_72ba5d454ae3d9dd_13) 477 switch curField12zgensym_72ba5d454ae3d9dd_13 { 478 // -- templateUnmarshalMsg ends here -- 479 480 case "U_zid00_str": 481 found12zgensym_72ba5d454ae3d9dd_13[0] = true 482 z.U, bts, err = nbs.ReadStringBytes(bts) 483 484 if err != nil { 485 return 486 } 487 case "Nt_zid01_int": 488 found12zgensym_72ba5d454ae3d9dd_13[1] = true 489 z.Nt, bts, err = nbs.ReadIntBytes(bts) 490 491 if err != nil { 492 return 493 } 494 case "Snot_zid02_map": 495 found12zgensym_72ba5d454ae3d9dd_13[2] = true 496 if nbs.AlwaysNil { 497 if len(z.Snot) > 0 { 498 for key, _ := range z.Snot { 499 delete(z.Snot, key) 500 } 501 } 502 503 } else { 504 505 var zgensym_72ba5d454ae3d9dd_14 uint32 506 zgensym_72ba5d454ae3d9dd_14, bts, err = nbs.ReadMapHeaderBytes(bts) 507 if err != nil { 508 return 509 } 510 if z.Snot == nil && zgensym_72ba5d454ae3d9dd_14 > 0 { 511 z.Snot = make(map[string]bool, zgensym_72ba5d454ae3d9dd_14) 512 } else if len(z.Snot) > 0 { 513 for key, _ := range z.Snot { 514 delete(z.Snot, key) 515 } 516 } 517 for zgensym_72ba5d454ae3d9dd_14 > 0 { 518 var zgensym_72ba5d454ae3d9dd_0 string 519 var zgensym_72ba5d454ae3d9dd_1 bool 520 zgensym_72ba5d454ae3d9dd_14-- 521 zgensym_72ba5d454ae3d9dd_0, bts, err = nbs.ReadStringBytes(bts) 522 if err != nil { 523 return 524 } 525 zgensym_72ba5d454ae3d9dd_1, bts, err = nbs.ReadBoolBytes(bts) 526 527 if err != nil { 528 return 529 } 530 z.Snot[zgensym_72ba5d454ae3d9dd_0] = zgensym_72ba5d454ae3d9dd_1 531 } 532 } 533 case "Notyet_zid03_map": 534 found12zgensym_72ba5d454ae3d9dd_13[3] = true 535 if nbs.AlwaysNil { 536 if len(z.Notyet) > 0 { 537 for key, _ := range z.Notyet { 538 delete(z.Notyet, key) 539 } 540 } 541 542 } else { 543 544 var zgensym_72ba5d454ae3d9dd_15 uint32 545 zgensym_72ba5d454ae3d9dd_15, bts, err = nbs.ReadMapHeaderBytes(bts) 546 if err != nil { 547 return 548 } 549 if z.Notyet == nil && zgensym_72ba5d454ae3d9dd_15 > 0 { 550 z.Notyet = make(map[string]bool, zgensym_72ba5d454ae3d9dd_15) 551 } else if len(z.Notyet) > 0 { 552 for key, _ := range z.Notyet { 553 delete(z.Notyet, key) 554 } 555 } 556 for zgensym_72ba5d454ae3d9dd_15 > 0 { 557 var zgensym_72ba5d454ae3d9dd_2 string 558 var zgensym_72ba5d454ae3d9dd_3 bool 559 zgensym_72ba5d454ae3d9dd_15-- 560 zgensym_72ba5d454ae3d9dd_2, bts, err = nbs.ReadStringBytes(bts) 561 if err != nil { 562 return 563 } 564 zgensym_72ba5d454ae3d9dd_3, bts, err = nbs.ReadBoolBytes(bts) 565 566 if err != nil { 567 return 568 } 569 z.Notyet[zgensym_72ba5d454ae3d9dd_2] = zgensym_72ba5d454ae3d9dd_3 570 } 571 } 572 case "Setm_zid04_slc": 573 found12zgensym_72ba5d454ae3d9dd_13[4] = true 574 if nbs.AlwaysNil { 575 (z.Setm) = (z.Setm)[:0] 576 } else { 577 578 var zgensym_72ba5d454ae3d9dd_16 uint32 579 zgensym_72ba5d454ae3d9dd_16, bts, err = nbs.ReadArrayHeaderBytes(bts) 580 if err != nil { 581 return 582 } 583 if cap(z.Setm) >= int(zgensym_72ba5d454ae3d9dd_16) { 584 z.Setm = (z.Setm)[:zgensym_72ba5d454ae3d9dd_16] 585 } else { 586 z.Setm = make([]*inn, zgensym_72ba5d454ae3d9dd_16) 587 } 588 for zgensym_72ba5d454ae3d9dd_4 := range z.Setm { 589 if nbs.AlwaysNil { 590 if z.Setm[zgensym_72ba5d454ae3d9dd_4] != nil { 591 z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(msgp.OnlyNilSlice) 592 } 593 } else { 594 // not nbs.AlwaysNil 595 if msgp.IsNil(bts) { 596 bts = bts[1:] 597 if nil != z.Setm[zgensym_72ba5d454ae3d9dd_4] { 598 z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(msgp.OnlyNilSlice) 599 } 600 } else { 601 // not nbs.AlwaysNil and not IsNil(bts): have something to read 602 603 if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil { 604 z.Setm[zgensym_72ba5d454ae3d9dd_4] = new(inn) 605 } 606 bts, err = z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(bts) 607 if err != nil { 608 return 609 } 610 if err != nil { 611 return 612 } 613 } 614 } 615 } 616 } 617 default: 618 bts, err = msgp.Skip(bts) 619 if err != nil { 620 return 621 } 622 } 623 } 624 if nextMiss12zgensym_72ba5d454ae3d9dd_13 != -1 { 625 bts = nbs.PopAlwaysNil() 626 } 627 628 if sawTopNil { 629 bts = nbs.PopAlwaysNil() 630 } 631 o = bts 632 if p, ok := interface{}(z).(msgp.PostLoad); ok { 633 p.PostLoadHook() 634 } 635 636 return 637 } 638 639 // fields of Tr 640 var unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13 = []string{"U_zid00_str", "Nt_zid01_int", "Snot_zid02_map", "Notyet_zid03_map", "Setm_zid04_slc", ""} 641 642 var unmarshalMsgFieldSkip12zgensym_72ba5d454ae3d9dd_13 = []bool{false, false, false, false, false, true} 643 644 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 645 func (z *Tr) Msgsize() (s int) { 646 s = 1 + 12 + msgp.StringPrefixSize + len(z.U) + 13 + msgp.IntSize + 15 + msgp.MapHeaderSize 647 if z.Snot != nil { 648 for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot { 649 _ = zgensym_72ba5d454ae3d9dd_1 650 _ = zgensym_72ba5d454ae3d9dd_0 651 s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_0) + msgp.BoolSize 652 } 653 } 654 s += 17 + msgp.MapHeaderSize 655 if z.Notyet != nil { 656 for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet { 657 _ = zgensym_72ba5d454ae3d9dd_3 658 _ = zgensym_72ba5d454ae3d9dd_2 659 s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_2) + msgp.BoolSize 660 } 661 } 662 s += 15 + msgp.ArrayHeaderSize 663 for zgensym_72ba5d454ae3d9dd_4 := range z.Setm { 664 if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil { 665 s += msgp.NilSize 666 } else { 667 s += z.Setm[zgensym_72ba5d454ae3d9dd_4].Msgsize() 668 } 669 } 670 return 671 } 672 673 // DecodeMsg implements msgp.Decodable 674 // We treat empty fields as if we read a Nil from the wire. 675 func (z *inn) DecodeMsg(dc *msgp.Reader) (err error) { 676 var sawTopNil bool 677 if dc.IsNil() { 678 sawTopNil = true 679 err = dc.ReadNil() 680 if err != nil { 681 return 682 } 683 dc.PushAlwaysNil() 684 } 685 686 var field []byte 687 _ = field 688 const maxFields19zgensym_72ba5d454ae3d9dd_20 = 2 689 690 // -- templateDecodeMsg starts here-- 691 var totalEncodedFields19zgensym_72ba5d454ae3d9dd_20 uint32 692 totalEncodedFields19zgensym_72ba5d454ae3d9dd_20, err = dc.ReadMapHeader() 693 if err != nil { 694 return 695 } 696 encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 := totalEncodedFields19zgensym_72ba5d454ae3d9dd_20 697 missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20 := maxFields19zgensym_72ba5d454ae3d9dd_20 - totalEncodedFields19zgensym_72ba5d454ae3d9dd_20 698 699 var nextMiss19zgensym_72ba5d454ae3d9dd_20 int32 = -1 700 var found19zgensym_72ba5d454ae3d9dd_20 [maxFields19zgensym_72ba5d454ae3d9dd_20]bool 701 var curField19zgensym_72ba5d454ae3d9dd_20 string 702 703 doneWithStruct19zgensym_72ba5d454ae3d9dd_20: 704 // First fill all the encoded fields, then 705 // treat the remaining, missing fields, as Nil. 706 for encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 || missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 { 707 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20, missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20, msgp.ShowFound(found19zgensym_72ba5d454ae3d9dd_20[:]), decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20) 708 if encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 { 709 encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20-- 710 field, err = dc.ReadMapKeyPtr() 711 if err != nil { 712 return 713 } 714 curField19zgensym_72ba5d454ae3d9dd_20 = msgp.UnsafeString(field) 715 } else { 716 //missing fields need handling 717 if nextMiss19zgensym_72ba5d454ae3d9dd_20 < 0 { 718 // tell the reader to only give us Nils 719 // until further notice. 720 dc.PushAlwaysNil() 721 nextMiss19zgensym_72ba5d454ae3d9dd_20 = 0 722 } 723 for nextMiss19zgensym_72ba5d454ae3d9dd_20 < maxFields19zgensym_72ba5d454ae3d9dd_20 && (found19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20] || decodeMsgFieldSkip19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20]) { 724 nextMiss19zgensym_72ba5d454ae3d9dd_20++ 725 } 726 if nextMiss19zgensym_72ba5d454ae3d9dd_20 == maxFields19zgensym_72ba5d454ae3d9dd_20 { 727 // filled all the empty fields! 728 break doneWithStruct19zgensym_72ba5d454ae3d9dd_20 729 } 730 missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20-- 731 curField19zgensym_72ba5d454ae3d9dd_20 = decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20] 732 } 733 //fmt.Printf("switching on curField: '%v'\n", curField19zgensym_72ba5d454ae3d9dd_20) 734 switch curField19zgensym_72ba5d454ae3d9dd_20 { 735 // -- templateDecodeMsg ends here -- 736 737 case "j_zid00_map": 738 found19zgensym_72ba5d454ae3d9dd_20[0] = true 739 var zgensym_72ba5d454ae3d9dd_21 uint32 740 zgensym_72ba5d454ae3d9dd_21, err = dc.ReadMapHeader() 741 if err != nil { 742 return 743 } 744 if z.j == nil && zgensym_72ba5d454ae3d9dd_21 > 0 { 745 z.j = make(map[string]bool, zgensym_72ba5d454ae3d9dd_21) 746 } else if len(z.j) > 0 { 747 for key, _ := range z.j { 748 delete(z.j, key) 749 } 750 } 751 for zgensym_72ba5d454ae3d9dd_21 > 0 { 752 zgensym_72ba5d454ae3d9dd_21-- 753 var zgensym_72ba5d454ae3d9dd_17 string 754 var zgensym_72ba5d454ae3d9dd_18 bool 755 zgensym_72ba5d454ae3d9dd_17, err = dc.ReadString() 756 if err != nil { 757 return 758 } 759 zgensym_72ba5d454ae3d9dd_18, err = dc.ReadBool() 760 if err != nil { 761 return 762 } 763 z.j[zgensym_72ba5d454ae3d9dd_17] = zgensym_72ba5d454ae3d9dd_18 764 } 765 case "e_zid01_i64": 766 found19zgensym_72ba5d454ae3d9dd_20[1] = true 767 z.e, err = dc.ReadInt64() 768 if err != nil { 769 return 770 } 771 default: 772 err = dc.Skip() 773 if err != nil { 774 return 775 } 776 } 777 } 778 if nextMiss19zgensym_72ba5d454ae3d9dd_20 != -1 { 779 dc.PopAlwaysNil() 780 } 781 782 if sawTopNil { 783 dc.PopAlwaysNil() 784 } 785 786 if p, ok := interface{}(z).(msgp.PostLoad); ok { 787 p.PostLoadHook() 788 } 789 790 return 791 } 792 793 // fields of inn 794 var decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20 = []string{"j_zid00_map", "e_zid01_i64"} 795 796 var decodeMsgFieldSkip19zgensym_72ba5d454ae3d9dd_20 = []bool{false, false} 797 798 // fieldsNotEmpty supports omitempty tags 799 func (z *inn) fieldsNotEmpty(isempty []bool) uint32 { 800 if len(isempty) == 0 { 801 return 2 802 } 803 var fieldsInUse uint32 = 2 804 isempty[0] = (len(z.j) == 0) // string, omitempty 805 if isempty[0] { 806 fieldsInUse-- 807 } 808 isempty[1] = (z.e == 0) // number, omitempty 809 if isempty[1] { 810 fieldsInUse-- 811 } 812 813 return fieldsInUse 814 } 815 816 // EncodeMsg implements msgp.Encodable 817 func (z *inn) EncodeMsg(en *msgp.Writer) (err error) { 818 if p, ok := interface{}(z).(msgp.PreSave); ok { 819 p.PreSaveHook() 820 } 821 822 // honor the omitempty tags 823 var empty_zgensym_72ba5d454ae3d9dd_22 [2]bool 824 fieldsInUse_zgensym_72ba5d454ae3d9dd_23 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_22[:]) 825 826 // map header 827 err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_23) 828 if err != nil { 829 return err 830 } 831 832 if !empty_zgensym_72ba5d454ae3d9dd_22[0] { 833 // write "j_zid00_map" 834 err = en.Append(0xab, 0x6a, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70) 835 if err != nil { 836 return err 837 } 838 err = en.WriteMapHeader(uint32(len(z.j))) 839 if err != nil { 840 return 841 } 842 for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j { 843 err = en.WriteString(zgensym_72ba5d454ae3d9dd_17) 844 if err != nil { 845 return 846 } 847 err = en.WriteBool(zgensym_72ba5d454ae3d9dd_18) 848 if err != nil { 849 return 850 } 851 } 852 } 853 854 if !empty_zgensym_72ba5d454ae3d9dd_22[1] { 855 // write "e_zid01_i64" 856 err = en.Append(0xab, 0x65, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x36, 0x34) 857 if err != nil { 858 return err 859 } 860 err = en.WriteInt64(z.e) 861 if err != nil { 862 return 863 } 864 } 865 866 return 867 } 868 869 // MarshalMsg implements msgp.Marshaler 870 func (z *inn) MarshalMsg(b []byte) (o []byte, err error) { 871 if p, ok := interface{}(z).(msgp.PreSave); ok { 872 p.PreSaveHook() 873 } 874 875 o = msgp.Require(b, z.Msgsize()) 876 877 // honor the omitempty tags 878 var empty [2]bool 879 fieldsInUse := z.fieldsNotEmpty(empty[:]) 880 o = msgp.AppendMapHeader(o, fieldsInUse) 881 882 if !empty[0] { 883 // string "j_zid00_map" 884 o = append(o, 0xab, 0x6a, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70) 885 o = msgp.AppendMapHeader(o, uint32(len(z.j))) 886 for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j { 887 o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_17) 888 o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_18) 889 } 890 } 891 892 if !empty[1] { 893 // string "e_zid01_i64" 894 o = append(o, 0xab, 0x65, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x36, 0x34) 895 o = msgp.AppendInt64(o, z.e) 896 } 897 898 return 899 } 900 901 // UnmarshalMsg implements msgp.Unmarshaler 902 func (z *inn) UnmarshalMsg(bts []byte) (o []byte, err error) { 903 return z.UnmarshalMsgWithCfg(bts, nil) 904 } 905 func (z *inn) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 906 var nbs msgp.NilBitsStack 907 nbs.Init(cfg) 908 var sawTopNil bool 909 if msgp.IsNil(bts) { 910 sawTopNil = true 911 bts = nbs.PushAlwaysNil(bts[1:]) 912 } 913 914 var field []byte 915 _ = field 916 const maxFields24zgensym_72ba5d454ae3d9dd_25 = 2 917 918 // -- templateUnmarshalMsg starts here-- 919 var totalEncodedFields24zgensym_72ba5d454ae3d9dd_25 uint32 920 if !nbs.AlwaysNil { 921 totalEncodedFields24zgensym_72ba5d454ae3d9dd_25, bts, err = nbs.ReadMapHeaderBytes(bts) 922 if err != nil { 923 return 924 } 925 } 926 encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 := totalEncodedFields24zgensym_72ba5d454ae3d9dd_25 927 missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25 := maxFields24zgensym_72ba5d454ae3d9dd_25 - totalEncodedFields24zgensym_72ba5d454ae3d9dd_25 928 929 var nextMiss24zgensym_72ba5d454ae3d9dd_25 int32 = -1 930 var found24zgensym_72ba5d454ae3d9dd_25 [maxFields24zgensym_72ba5d454ae3d9dd_25]bool 931 var curField24zgensym_72ba5d454ae3d9dd_25 string 932 933 doneWithStruct24zgensym_72ba5d454ae3d9dd_25: 934 // First fill all the encoded fields, then 935 // treat the remaining, missing fields, as Nil. 936 for encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 || missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 { 937 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25, missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25, msgp.ShowFound(found24zgensym_72ba5d454ae3d9dd_25[:]), unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25) 938 if encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 { 939 encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25-- 940 field, bts, err = nbs.ReadMapKeyZC(bts) 941 if err != nil { 942 return 943 } 944 curField24zgensym_72ba5d454ae3d9dd_25 = msgp.UnsafeString(field) 945 } else { 946 //missing fields need handling 947 if nextMiss24zgensym_72ba5d454ae3d9dd_25 < 0 { 948 // set bts to contain just mnil (0xc0) 949 bts = nbs.PushAlwaysNil(bts) 950 nextMiss24zgensym_72ba5d454ae3d9dd_25 = 0 951 } 952 for nextMiss24zgensym_72ba5d454ae3d9dd_25 < maxFields24zgensym_72ba5d454ae3d9dd_25 && (found24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25] || unmarshalMsgFieldSkip24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25]) { 953 nextMiss24zgensym_72ba5d454ae3d9dd_25++ 954 } 955 if nextMiss24zgensym_72ba5d454ae3d9dd_25 == maxFields24zgensym_72ba5d454ae3d9dd_25 { 956 // filled all the empty fields! 957 break doneWithStruct24zgensym_72ba5d454ae3d9dd_25 958 } 959 missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25-- 960 curField24zgensym_72ba5d454ae3d9dd_25 = unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25] 961 } 962 //fmt.Printf("switching on curField: '%v'\n", curField24zgensym_72ba5d454ae3d9dd_25) 963 switch curField24zgensym_72ba5d454ae3d9dd_25 { 964 // -- templateUnmarshalMsg ends here -- 965 966 case "j_zid00_map": 967 found24zgensym_72ba5d454ae3d9dd_25[0] = true 968 if nbs.AlwaysNil { 969 if len(z.j) > 0 { 970 for key, _ := range z.j { 971 delete(z.j, key) 972 } 973 } 974 975 } else { 976 977 var zgensym_72ba5d454ae3d9dd_26 uint32 978 zgensym_72ba5d454ae3d9dd_26, bts, err = nbs.ReadMapHeaderBytes(bts) 979 if err != nil { 980 return 981 } 982 if z.j == nil && zgensym_72ba5d454ae3d9dd_26 > 0 { 983 z.j = make(map[string]bool, zgensym_72ba5d454ae3d9dd_26) 984 } else if len(z.j) > 0 { 985 for key, _ := range z.j { 986 delete(z.j, key) 987 } 988 } 989 for zgensym_72ba5d454ae3d9dd_26 > 0 { 990 var zgensym_72ba5d454ae3d9dd_17 string 991 var zgensym_72ba5d454ae3d9dd_18 bool 992 zgensym_72ba5d454ae3d9dd_26-- 993 zgensym_72ba5d454ae3d9dd_17, bts, err = nbs.ReadStringBytes(bts) 994 if err != nil { 995 return 996 } 997 zgensym_72ba5d454ae3d9dd_18, bts, err = nbs.ReadBoolBytes(bts) 998 999 if err != nil { 1000 return 1001 } 1002 z.j[zgensym_72ba5d454ae3d9dd_17] = zgensym_72ba5d454ae3d9dd_18 1003 } 1004 } 1005 case "e_zid01_i64": 1006 found24zgensym_72ba5d454ae3d9dd_25[1] = true 1007 z.e, bts, err = nbs.ReadInt64Bytes(bts) 1008 1009 if err != nil { 1010 return 1011 } 1012 default: 1013 bts, err = msgp.Skip(bts) 1014 if err != nil { 1015 return 1016 } 1017 } 1018 } 1019 if nextMiss24zgensym_72ba5d454ae3d9dd_25 != -1 { 1020 bts = nbs.PopAlwaysNil() 1021 } 1022 1023 if sawTopNil { 1024 bts = nbs.PopAlwaysNil() 1025 } 1026 o = bts 1027 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1028 p.PostLoadHook() 1029 } 1030 1031 return 1032 } 1033 1034 // fields of inn 1035 var unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25 = []string{"j_zid00_map", "e_zid01_i64"} 1036 1037 var unmarshalMsgFieldSkip24zgensym_72ba5d454ae3d9dd_25 = []bool{false, false} 1038 1039 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1040 func (z *inn) Msgsize() (s int) { 1041 s = 1 + 12 + msgp.MapHeaderSize 1042 if z.j != nil { 1043 for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j { 1044 _ = zgensym_72ba5d454ae3d9dd_18 1045 _ = zgensym_72ba5d454ae3d9dd_17 1046 s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_17) + msgp.BoolSize 1047 } 1048 } 1049 s += 12 + msgp.Int64Size 1050 return 1051 } 1052 1053 // DecodeMsg implements msgp.Decodable 1054 // We treat empty fields as if we read a Nil from the wire. 1055 func (z *u) DecodeMsg(dc *msgp.Reader) (err error) { 1056 var sawTopNil bool 1057 if dc.IsNil() { 1058 sawTopNil = true 1059 err = dc.ReadNil() 1060 if err != nil { 1061 return 1062 } 1063 dc.PushAlwaysNil() 1064 } 1065 1066 var field []byte 1067 _ = field 1068 const maxFields29zgensym_72ba5d454ae3d9dd_30 = 3 1069 1070 // -- templateDecodeMsg starts here-- 1071 var totalEncodedFields29zgensym_72ba5d454ae3d9dd_30 uint32 1072 totalEncodedFields29zgensym_72ba5d454ae3d9dd_30, err = dc.ReadMapHeader() 1073 if err != nil { 1074 return 1075 } 1076 encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 := totalEncodedFields29zgensym_72ba5d454ae3d9dd_30 1077 missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30 := maxFields29zgensym_72ba5d454ae3d9dd_30 - totalEncodedFields29zgensym_72ba5d454ae3d9dd_30 1078 1079 var nextMiss29zgensym_72ba5d454ae3d9dd_30 int32 = -1 1080 var found29zgensym_72ba5d454ae3d9dd_30 [maxFields29zgensym_72ba5d454ae3d9dd_30]bool 1081 var curField29zgensym_72ba5d454ae3d9dd_30 string 1082 1083 doneWithStruct29zgensym_72ba5d454ae3d9dd_30: 1084 // First fill all the encoded fields, then 1085 // treat the remaining, missing fields, as Nil. 1086 for encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 || missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 { 1087 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30, missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30, msgp.ShowFound(found29zgensym_72ba5d454ae3d9dd_30[:]), decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30) 1088 if encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 { 1089 encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30-- 1090 field, err = dc.ReadMapKeyPtr() 1091 if err != nil { 1092 return 1093 } 1094 curField29zgensym_72ba5d454ae3d9dd_30 = msgp.UnsafeString(field) 1095 } else { 1096 //missing fields need handling 1097 if nextMiss29zgensym_72ba5d454ae3d9dd_30 < 0 { 1098 // tell the reader to only give us Nils 1099 // until further notice. 1100 dc.PushAlwaysNil() 1101 nextMiss29zgensym_72ba5d454ae3d9dd_30 = 0 1102 } 1103 for nextMiss29zgensym_72ba5d454ae3d9dd_30 < maxFields29zgensym_72ba5d454ae3d9dd_30 && (found29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30] || decodeMsgFieldSkip29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30]) { 1104 nextMiss29zgensym_72ba5d454ae3d9dd_30++ 1105 } 1106 if nextMiss29zgensym_72ba5d454ae3d9dd_30 == maxFields29zgensym_72ba5d454ae3d9dd_30 { 1107 // filled all the empty fields! 1108 break doneWithStruct29zgensym_72ba5d454ae3d9dd_30 1109 } 1110 missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30-- 1111 curField29zgensym_72ba5d454ae3d9dd_30 = decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30] 1112 } 1113 //fmt.Printf("switching on curField: '%v'\n", curField29zgensym_72ba5d454ae3d9dd_30) 1114 switch curField29zgensym_72ba5d454ae3d9dd_30 { 1115 // -- templateDecodeMsg ends here -- 1116 1117 case "m_zid00_map": 1118 found29zgensym_72ba5d454ae3d9dd_30[0] = true 1119 var zgensym_72ba5d454ae3d9dd_31 uint32 1120 zgensym_72ba5d454ae3d9dd_31, err = dc.ReadMapHeader() 1121 if err != nil { 1122 return 1123 } 1124 if z.m == nil && zgensym_72ba5d454ae3d9dd_31 > 0 { 1125 z.m = make(map[string]*Tr, zgensym_72ba5d454ae3d9dd_31) 1126 } else if len(z.m) > 0 { 1127 for key, _ := range z.m { 1128 delete(z.m, key) 1129 } 1130 } 1131 for zgensym_72ba5d454ae3d9dd_31 > 0 { 1132 zgensym_72ba5d454ae3d9dd_31-- 1133 var zgensym_72ba5d454ae3d9dd_27 string 1134 var zgensym_72ba5d454ae3d9dd_28 *Tr 1135 zgensym_72ba5d454ae3d9dd_27, err = dc.ReadString() 1136 if err != nil { 1137 return 1138 } 1139 if dc.IsNil() { 1140 err = dc.ReadNil() 1141 if err != nil { 1142 return 1143 } 1144 1145 if zgensym_72ba5d454ae3d9dd_28 != nil { 1146 dc.PushAlwaysNil() 1147 err = zgensym_72ba5d454ae3d9dd_28.DecodeMsg(dc) 1148 if err != nil { 1149 return 1150 } 1151 dc.PopAlwaysNil() 1152 } 1153 } else { 1154 // not Nil, we have something to read 1155 1156 if zgensym_72ba5d454ae3d9dd_28 == nil { 1157 zgensym_72ba5d454ae3d9dd_28 = new(Tr) 1158 } 1159 err = zgensym_72ba5d454ae3d9dd_28.DecodeMsg(dc) 1160 if err != nil { 1161 return 1162 } 1163 } 1164 z.m[zgensym_72ba5d454ae3d9dd_27] = zgensym_72ba5d454ae3d9dd_28 1165 } 1166 case "s_zid01_str": 1167 found29zgensym_72ba5d454ae3d9dd_30[1] = true 1168 z.s, err = dc.ReadString() 1169 if err != nil { 1170 return 1171 } 1172 case "n_zid02_i64": 1173 found29zgensym_72ba5d454ae3d9dd_30[2] = true 1174 z.n, err = dc.ReadInt64() 1175 if err != nil { 1176 return 1177 } 1178 default: 1179 err = dc.Skip() 1180 if err != nil { 1181 return 1182 } 1183 } 1184 } 1185 if nextMiss29zgensym_72ba5d454ae3d9dd_30 != -1 { 1186 dc.PopAlwaysNil() 1187 } 1188 1189 if sawTopNil { 1190 dc.PopAlwaysNil() 1191 } 1192 1193 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1194 p.PostLoadHook() 1195 } 1196 1197 return 1198 } 1199 1200 // fields of u 1201 var decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30 = []string{"m_zid00_map", "s_zid01_str", "n_zid02_i64"} 1202 1203 var decodeMsgFieldSkip29zgensym_72ba5d454ae3d9dd_30 = []bool{false, false, false} 1204 1205 // fieldsNotEmpty supports omitempty tags 1206 func (z *u) fieldsNotEmpty(isempty []bool) uint32 { 1207 if len(isempty) == 0 { 1208 return 3 1209 } 1210 var fieldsInUse uint32 = 3 1211 isempty[0] = (len(z.m) == 0) // string, omitempty 1212 if isempty[0] { 1213 fieldsInUse-- 1214 } 1215 isempty[1] = (len(z.s) == 0) // string, omitempty 1216 if isempty[1] { 1217 fieldsInUse-- 1218 } 1219 isempty[2] = (z.n == 0) // number, omitempty 1220 if isempty[2] { 1221 fieldsInUse-- 1222 } 1223 1224 return fieldsInUse 1225 } 1226 1227 // EncodeMsg implements msgp.Encodable 1228 func (z *u) EncodeMsg(en *msgp.Writer) (err error) { 1229 if p, ok := interface{}(z).(msgp.PreSave); ok { 1230 p.PreSaveHook() 1231 } 1232 1233 // honor the omitempty tags 1234 var empty_zgensym_72ba5d454ae3d9dd_32 [3]bool 1235 fieldsInUse_zgensym_72ba5d454ae3d9dd_33 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_32[:]) 1236 1237 // map header 1238 err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_33) 1239 if err != nil { 1240 return err 1241 } 1242 1243 if !empty_zgensym_72ba5d454ae3d9dd_32[0] { 1244 // write "m_zid00_map" 1245 err = en.Append(0xab, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70) 1246 if err != nil { 1247 return err 1248 } 1249 err = en.WriteMapHeader(uint32(len(z.m))) 1250 if err != nil { 1251 return 1252 } 1253 for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m { 1254 err = en.WriteString(zgensym_72ba5d454ae3d9dd_27) 1255 if err != nil { 1256 return 1257 } 1258 if zgensym_72ba5d454ae3d9dd_28 == nil { 1259 err = en.WriteNil() 1260 if err != nil { 1261 return 1262 } 1263 } else { 1264 err = zgensym_72ba5d454ae3d9dd_28.EncodeMsg(en) 1265 if err != nil { 1266 return 1267 } 1268 } 1269 } 1270 } 1271 1272 if !empty_zgensym_72ba5d454ae3d9dd_32[1] { 1273 // write "s_zid01_str" 1274 err = en.Append(0xab, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 1275 if err != nil { 1276 return err 1277 } 1278 err = en.WriteString(z.s) 1279 if err != nil { 1280 return 1281 } 1282 } 1283 1284 if !empty_zgensym_72ba5d454ae3d9dd_32[2] { 1285 // write "n_zid02_i64" 1286 err = en.Append(0xab, 0x6e, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34) 1287 if err != nil { 1288 return err 1289 } 1290 err = en.WriteInt64(z.n) 1291 if err != nil { 1292 return 1293 } 1294 } 1295 1296 return 1297 } 1298 1299 // MarshalMsg implements msgp.Marshaler 1300 func (z *u) MarshalMsg(b []byte) (o []byte, err error) { 1301 if p, ok := interface{}(z).(msgp.PreSave); ok { 1302 p.PreSaveHook() 1303 } 1304 1305 o = msgp.Require(b, z.Msgsize()) 1306 1307 // honor the omitempty tags 1308 var empty [3]bool 1309 fieldsInUse := z.fieldsNotEmpty(empty[:]) 1310 o = msgp.AppendMapHeader(o, fieldsInUse) 1311 1312 if !empty[0] { 1313 // string "m_zid00_map" 1314 o = append(o, 0xab, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70) 1315 o = msgp.AppendMapHeader(o, uint32(len(z.m))) 1316 for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m { 1317 o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_27) 1318 if zgensym_72ba5d454ae3d9dd_28 == nil { 1319 o = msgp.AppendNil(o) 1320 } else { 1321 o, err = zgensym_72ba5d454ae3d9dd_28.MarshalMsg(o) 1322 if err != nil { 1323 return 1324 } 1325 } 1326 } 1327 } 1328 1329 if !empty[1] { 1330 // string "s_zid01_str" 1331 o = append(o, 0xab, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72) 1332 o = msgp.AppendString(o, z.s) 1333 } 1334 1335 if !empty[2] { 1336 // string "n_zid02_i64" 1337 o = append(o, 0xab, 0x6e, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34) 1338 o = msgp.AppendInt64(o, z.n) 1339 } 1340 1341 return 1342 } 1343 1344 // UnmarshalMsg implements msgp.Unmarshaler 1345 func (z *u) UnmarshalMsg(bts []byte) (o []byte, err error) { 1346 return z.UnmarshalMsgWithCfg(bts, nil) 1347 } 1348 func (z *u) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 1349 var nbs msgp.NilBitsStack 1350 nbs.Init(cfg) 1351 var sawTopNil bool 1352 if msgp.IsNil(bts) { 1353 sawTopNil = true 1354 bts = nbs.PushAlwaysNil(bts[1:]) 1355 } 1356 1357 var field []byte 1358 _ = field 1359 const maxFields34zgensym_72ba5d454ae3d9dd_35 = 3 1360 1361 // -- templateUnmarshalMsg starts here-- 1362 var totalEncodedFields34zgensym_72ba5d454ae3d9dd_35 uint32 1363 if !nbs.AlwaysNil { 1364 totalEncodedFields34zgensym_72ba5d454ae3d9dd_35, bts, err = nbs.ReadMapHeaderBytes(bts) 1365 if err != nil { 1366 return 1367 } 1368 } 1369 encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 := totalEncodedFields34zgensym_72ba5d454ae3d9dd_35 1370 missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35 := maxFields34zgensym_72ba5d454ae3d9dd_35 - totalEncodedFields34zgensym_72ba5d454ae3d9dd_35 1371 1372 var nextMiss34zgensym_72ba5d454ae3d9dd_35 int32 = -1 1373 var found34zgensym_72ba5d454ae3d9dd_35 [maxFields34zgensym_72ba5d454ae3d9dd_35]bool 1374 var curField34zgensym_72ba5d454ae3d9dd_35 string 1375 1376 doneWithStruct34zgensym_72ba5d454ae3d9dd_35: 1377 // First fill all the encoded fields, then 1378 // treat the remaining, missing fields, as Nil. 1379 for encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 || missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 { 1380 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35, missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35, msgp.ShowFound(found34zgensym_72ba5d454ae3d9dd_35[:]), unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35) 1381 if encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 { 1382 encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35-- 1383 field, bts, err = nbs.ReadMapKeyZC(bts) 1384 if err != nil { 1385 return 1386 } 1387 curField34zgensym_72ba5d454ae3d9dd_35 = msgp.UnsafeString(field) 1388 } else { 1389 //missing fields need handling 1390 if nextMiss34zgensym_72ba5d454ae3d9dd_35 < 0 { 1391 // set bts to contain just mnil (0xc0) 1392 bts = nbs.PushAlwaysNil(bts) 1393 nextMiss34zgensym_72ba5d454ae3d9dd_35 = 0 1394 } 1395 for nextMiss34zgensym_72ba5d454ae3d9dd_35 < maxFields34zgensym_72ba5d454ae3d9dd_35 && (found34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35] || unmarshalMsgFieldSkip34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35]) { 1396 nextMiss34zgensym_72ba5d454ae3d9dd_35++ 1397 } 1398 if nextMiss34zgensym_72ba5d454ae3d9dd_35 == maxFields34zgensym_72ba5d454ae3d9dd_35 { 1399 // filled all the empty fields! 1400 break doneWithStruct34zgensym_72ba5d454ae3d9dd_35 1401 } 1402 missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35-- 1403 curField34zgensym_72ba5d454ae3d9dd_35 = unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35] 1404 } 1405 //fmt.Printf("switching on curField: '%v'\n", curField34zgensym_72ba5d454ae3d9dd_35) 1406 switch curField34zgensym_72ba5d454ae3d9dd_35 { 1407 // -- templateUnmarshalMsg ends here -- 1408 1409 case "m_zid00_map": 1410 found34zgensym_72ba5d454ae3d9dd_35[0] = true 1411 if nbs.AlwaysNil { 1412 if len(z.m) > 0 { 1413 for key, _ := range z.m { 1414 delete(z.m, key) 1415 } 1416 } 1417 1418 } else { 1419 1420 var zgensym_72ba5d454ae3d9dd_36 uint32 1421 zgensym_72ba5d454ae3d9dd_36, bts, err = nbs.ReadMapHeaderBytes(bts) 1422 if err != nil { 1423 return 1424 } 1425 if z.m == nil && zgensym_72ba5d454ae3d9dd_36 > 0 { 1426 z.m = make(map[string]*Tr, zgensym_72ba5d454ae3d9dd_36) 1427 } else if len(z.m) > 0 { 1428 for key, _ := range z.m { 1429 delete(z.m, key) 1430 } 1431 } 1432 for zgensym_72ba5d454ae3d9dd_36 > 0 { 1433 var zgensym_72ba5d454ae3d9dd_27 string 1434 var zgensym_72ba5d454ae3d9dd_28 *Tr 1435 zgensym_72ba5d454ae3d9dd_36-- 1436 zgensym_72ba5d454ae3d9dd_27, bts, err = nbs.ReadStringBytes(bts) 1437 if err != nil { 1438 return 1439 } 1440 if nbs.AlwaysNil { 1441 if zgensym_72ba5d454ae3d9dd_28 != nil { 1442 zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(msgp.OnlyNilSlice) 1443 } 1444 } else { 1445 // not nbs.AlwaysNil 1446 if msgp.IsNil(bts) { 1447 bts = bts[1:] 1448 if nil != zgensym_72ba5d454ae3d9dd_28 { 1449 zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(msgp.OnlyNilSlice) 1450 } 1451 } else { 1452 // not nbs.AlwaysNil and not IsNil(bts): have something to read 1453 1454 if zgensym_72ba5d454ae3d9dd_28 == nil { 1455 zgensym_72ba5d454ae3d9dd_28 = new(Tr) 1456 } 1457 bts, err = zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(bts) 1458 if err != nil { 1459 return 1460 } 1461 if err != nil { 1462 return 1463 } 1464 } 1465 } 1466 z.m[zgensym_72ba5d454ae3d9dd_27] = zgensym_72ba5d454ae3d9dd_28 1467 } 1468 } 1469 case "s_zid01_str": 1470 found34zgensym_72ba5d454ae3d9dd_35[1] = true 1471 z.s, bts, err = nbs.ReadStringBytes(bts) 1472 1473 if err != nil { 1474 return 1475 } 1476 case "n_zid02_i64": 1477 found34zgensym_72ba5d454ae3d9dd_35[2] = true 1478 z.n, bts, err = nbs.ReadInt64Bytes(bts) 1479 1480 if err != nil { 1481 return 1482 } 1483 default: 1484 bts, err = msgp.Skip(bts) 1485 if err != nil { 1486 return 1487 } 1488 } 1489 } 1490 if nextMiss34zgensym_72ba5d454ae3d9dd_35 != -1 { 1491 bts = nbs.PopAlwaysNil() 1492 } 1493 1494 if sawTopNil { 1495 bts = nbs.PopAlwaysNil() 1496 } 1497 o = bts 1498 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1499 p.PostLoadHook() 1500 } 1501 1502 return 1503 } 1504 1505 // fields of u 1506 var unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35 = []string{"m_zid00_map", "s_zid01_str", "n_zid02_i64"} 1507 1508 var unmarshalMsgFieldSkip34zgensym_72ba5d454ae3d9dd_35 = []bool{false, false, false} 1509 1510 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1511 func (z *u) Msgsize() (s int) { 1512 s = 1 + 12 + msgp.MapHeaderSize 1513 if z.m != nil { 1514 for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m { 1515 _ = zgensym_72ba5d454ae3d9dd_28 1516 _ = zgensym_72ba5d454ae3d9dd_27 1517 s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_27) 1518 if zgensym_72ba5d454ae3d9dd_28 == nil { 1519 s += msgp.NilSize 1520 } else { 1521 s += zgensym_72ba5d454ae3d9dd_28.Msgsize() 1522 } 1523 } 1524 } 1525 s += 12 + msgp.StringPrefixSize + len(z.s) + 12 + msgp.Int64Size 1526 return 1527 }