github.com/glycerine/zebrapack@v4.1.1-0.20181107023619-e955d028f9bf+incompatible/zebra/zebra_gen.go (about) 1 // Code generated by ZEBRAPACK (github.com/glycerine/zebrapack). DO NOT EDIT. 2 3 package zebra 4 5 import ( 6 "github.com/glycerine/zebrapack/msgp" 7 ) 8 9 // DecodeMsg implements msgp.Decodable 10 // We treat empty fields as if we read a Nil from the wire. 11 func (z *Field) DecodeMsg(dc *msgp.Reader) (err error) { 12 var sawTopNil bool 13 if dc.IsNil() { 14 sawTopNil = true 15 err = dc.ReadNil() 16 if err != nil { 17 return 18 } 19 dc.PushAlwaysNil() 20 } 21 22 var field []byte 23 _ = field 24 const maxFields0zgensym_754b0115c175ee89_1 = 11 25 26 // -- templateDecodeMsg starts here-- 27 var totalEncodedFields0zgensym_754b0115c175ee89_1 uint32 28 totalEncodedFields0zgensym_754b0115c175ee89_1, err = dc.ReadMapHeader() 29 if err != nil { 30 return 31 } 32 encodedFieldsLeft0zgensym_754b0115c175ee89_1 := totalEncodedFields0zgensym_754b0115c175ee89_1 33 missingFieldsLeft0zgensym_754b0115c175ee89_1 := maxFields0zgensym_754b0115c175ee89_1 - totalEncodedFields0zgensym_754b0115c175ee89_1 34 35 var nextMiss0zgensym_754b0115c175ee89_1 int32 = -1 36 var found0zgensym_754b0115c175ee89_1 [maxFields0zgensym_754b0115c175ee89_1]bool 37 var curField0zgensym_754b0115c175ee89_1 string 38 39 doneWithStruct0zgensym_754b0115c175ee89_1: 40 // First fill all the encoded fields, then 41 // treat the remaining, missing fields, as Nil. 42 for encodedFieldsLeft0zgensym_754b0115c175ee89_1 > 0 || missingFieldsLeft0zgensym_754b0115c175ee89_1 > 0 { 43 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft0zgensym_754b0115c175ee89_1, missingFieldsLeft0zgensym_754b0115c175ee89_1, msgp.ShowFound(found0zgensym_754b0115c175ee89_1[:]), decodeMsgFieldOrder0zgensym_754b0115c175ee89_1) 44 if encodedFieldsLeft0zgensym_754b0115c175ee89_1 > 0 { 45 encodedFieldsLeft0zgensym_754b0115c175ee89_1-- 46 field, err = dc.ReadMapKeyPtr() 47 if err != nil { 48 return 49 } 50 curField0zgensym_754b0115c175ee89_1 = msgp.UnsafeString(field) 51 } else { 52 //missing fields need handling 53 if nextMiss0zgensym_754b0115c175ee89_1 < 0 { 54 // tell the reader to only give us Nils 55 // until further notice. 56 dc.PushAlwaysNil() 57 nextMiss0zgensym_754b0115c175ee89_1 = 0 58 } 59 for nextMiss0zgensym_754b0115c175ee89_1 < maxFields0zgensym_754b0115c175ee89_1 && (found0zgensym_754b0115c175ee89_1[nextMiss0zgensym_754b0115c175ee89_1] || decodeMsgFieldSkip0zgensym_754b0115c175ee89_1[nextMiss0zgensym_754b0115c175ee89_1]) { 60 nextMiss0zgensym_754b0115c175ee89_1++ 61 } 62 if nextMiss0zgensym_754b0115c175ee89_1 == maxFields0zgensym_754b0115c175ee89_1 { 63 // filled all the empty fields! 64 break doneWithStruct0zgensym_754b0115c175ee89_1 65 } 66 missingFieldsLeft0zgensym_754b0115c175ee89_1-- 67 curField0zgensym_754b0115c175ee89_1 = decodeMsgFieldOrder0zgensym_754b0115c175ee89_1[nextMiss0zgensym_754b0115c175ee89_1] 68 } 69 //fmt.Printf("switching on curField: '%v'\n", curField0zgensym_754b0115c175ee89_1) 70 switch curField0zgensym_754b0115c175ee89_1 { 71 // -- templateDecodeMsg ends here -- 72 73 case "Zid": 74 found0zgensym_754b0115c175ee89_1[0] = true 75 z.Zid, err = dc.ReadInt64() 76 if err != nil { 77 return 78 } 79 case "FieldGoName": 80 found0zgensym_754b0115c175ee89_1[1] = true 81 z.FieldGoName, err = dc.ReadString() 82 if err != nil { 83 return 84 } 85 case "FieldTagName": 86 found0zgensym_754b0115c175ee89_1[2] = true 87 z.FieldTagName, err = dc.ReadString() 88 if err != nil { 89 return 90 } 91 case "FieldTypeStr": 92 found0zgensym_754b0115c175ee89_1[3] = true 93 z.FieldTypeStr, err = dc.ReadString() 94 if err != nil { 95 return 96 } 97 case "FieldCategory": 98 found0zgensym_754b0115c175ee89_1[4] = true 99 { 100 var zgensym_754b0115c175ee89_2 uint64 101 zgensym_754b0115c175ee89_2, err = dc.ReadUint64() 102 z.FieldCategory = Zkind(zgensym_754b0115c175ee89_2) 103 } 104 if err != nil { 105 return 106 } 107 case "FieldPrimitive": 108 found0zgensym_754b0115c175ee89_1[5] = true 109 { 110 var zgensym_754b0115c175ee89_3 uint64 111 zgensym_754b0115c175ee89_3, err = dc.ReadUint64() 112 z.FieldPrimitive = Zkind(zgensym_754b0115c175ee89_3) 113 } 114 if err != nil { 115 return 116 } 117 case "FieldFullType": 118 found0zgensym_754b0115c175ee89_1[6] = true 119 if dc.IsNil() { 120 err = dc.ReadNil() 121 if err != nil { 122 return 123 } 124 125 if z.FieldFullType != nil { 126 dc.PushAlwaysNil() 127 err = z.FieldFullType.DecodeMsg(dc) 128 if err != nil { 129 return 130 } 131 dc.PopAlwaysNil() 132 } 133 } else { 134 // not Nil, we have something to read 135 136 if z.FieldFullType == nil { 137 z.FieldFullType = new(Ztype) 138 } 139 err = z.FieldFullType.DecodeMsg(dc) 140 if err != nil { 141 return 142 } 143 } 144 case "OmitEmpty": 145 found0zgensym_754b0115c175ee89_1[7] = true 146 z.OmitEmpty, err = dc.ReadBool() 147 if err != nil { 148 return 149 } 150 case "Skip": 151 found0zgensym_754b0115c175ee89_1[8] = true 152 z.Skip, err = dc.ReadBool() 153 if err != nil { 154 return 155 } 156 case "Deprecated": 157 found0zgensym_754b0115c175ee89_1[9] = true 158 z.Deprecated, err = dc.ReadBool() 159 if err != nil { 160 return 161 } 162 case "ShowZero": 163 found0zgensym_754b0115c175ee89_1[10] = true 164 z.ShowZero, err = dc.ReadBool() 165 if err != nil { 166 return 167 } 168 default: 169 err = dc.Skip() 170 if err != nil { 171 return 172 } 173 } 174 } 175 if nextMiss0zgensym_754b0115c175ee89_1 != -1 { 176 dc.PopAlwaysNil() 177 } 178 179 if sawTopNil { 180 dc.PopAlwaysNil() 181 } 182 183 if p, ok := interface{}(z).(msgp.PostLoad); ok { 184 p.PostLoadHook() 185 } 186 187 return 188 } 189 190 // fields of Field 191 var decodeMsgFieldOrder0zgensym_754b0115c175ee89_1 = []string{"Zid", "FieldGoName", "FieldTagName", "FieldTypeStr", "FieldCategory", "FieldPrimitive", "FieldFullType", "OmitEmpty", "Skip", "Deprecated", "ShowZero"} 192 193 var decodeMsgFieldSkip0zgensym_754b0115c175ee89_1 = []bool{false, false, false, false, false, false, false, false, false, false, false} 194 195 // fieldsNotEmpty supports omitempty tags 196 func (z *Field) fieldsNotEmpty(isempty []bool) uint32 { 197 if len(isempty) == 0 { 198 return 11 199 } 200 var fieldsInUse uint32 = 11 201 isempty[2] = (len(z.FieldTagName) == 0) // string, omitempty 202 if isempty[2] { 203 fieldsInUse-- 204 } 205 isempty[3] = (len(z.FieldTypeStr) == 0) // string, omitempty 206 if isempty[3] { 207 fieldsInUse-- 208 } 209 isempty[4] = (z.FieldCategory == 0) // number, omitempty 210 if isempty[4] { 211 fieldsInUse-- 212 } 213 isempty[5] = (z.FieldPrimitive == 0) // number, omitempty 214 if isempty[5] { 215 fieldsInUse-- 216 } 217 isempty[6] = (z.FieldFullType == nil) // pointer, omitempty 218 if isempty[6] { 219 fieldsInUse-- 220 } 221 isempty[7] = (!z.OmitEmpty) // bool, omitempty 222 if isempty[7] { 223 fieldsInUse-- 224 } 225 isempty[8] = (!z.Skip) // bool, omitempty 226 if isempty[8] { 227 fieldsInUse-- 228 } 229 isempty[9] = (!z.Deprecated) // bool, omitempty 230 if isempty[9] { 231 fieldsInUse-- 232 } 233 isempty[10] = (!z.ShowZero) // bool, omitempty 234 if isempty[10] { 235 fieldsInUse-- 236 } 237 238 return fieldsInUse 239 } 240 241 // EncodeMsg implements msgp.Encodable 242 func (z *Field) EncodeMsg(en *msgp.Writer) (err error) { 243 if p, ok := interface{}(z).(msgp.PreSave); ok { 244 p.PreSaveHook() 245 } 246 247 // honor the omitempty tags 248 var empty_zgensym_754b0115c175ee89_4 [11]bool 249 fieldsInUse_zgensym_754b0115c175ee89_5 := z.fieldsNotEmpty(empty_zgensym_754b0115c175ee89_4[:]) 250 251 // map header 252 err = en.WriteMapHeader(fieldsInUse_zgensym_754b0115c175ee89_5) 253 if err != nil { 254 return err 255 } 256 257 // write "Zid" 258 err = en.Append(0xa3, 0x5a, 0x69, 0x64) 259 if err != nil { 260 return err 261 } 262 err = en.WriteInt64(z.Zid) 263 if err != nil { 264 return 265 } 266 // write "FieldGoName" 267 err = en.Append(0xab, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x6f, 0x4e, 0x61, 0x6d, 0x65) 268 if err != nil { 269 return err 270 } 271 err = en.WriteString(z.FieldGoName) 272 if err != nil { 273 return 274 } 275 if !empty_zgensym_754b0115c175ee89_4[2] { 276 // write "FieldTagName" 277 err = en.Append(0xac, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65) 278 if err != nil { 279 return err 280 } 281 err = en.WriteString(z.FieldTagName) 282 if err != nil { 283 return 284 } 285 } 286 287 if !empty_zgensym_754b0115c175ee89_4[3] { 288 // write "FieldTypeStr" 289 err = en.Append(0xac, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72) 290 if err != nil { 291 return err 292 } 293 err = en.WriteString(z.FieldTypeStr) 294 if err != nil { 295 return 296 } 297 } 298 299 if !empty_zgensym_754b0115c175ee89_4[4] { 300 // write "FieldCategory" 301 err = en.Append(0xad, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79) 302 if err != nil { 303 return err 304 } 305 err = en.WriteUint64(uint64(z.FieldCategory)) 306 if err != nil { 307 return 308 } 309 } 310 311 if !empty_zgensym_754b0115c175ee89_4[5] { 312 // write "FieldPrimitive" 313 err = en.Append(0xae, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65) 314 if err != nil { 315 return err 316 } 317 err = en.WriteUint64(uint64(z.FieldPrimitive)) 318 if err != nil { 319 return 320 } 321 } 322 323 if !empty_zgensym_754b0115c175ee89_4[6] { 324 // write "FieldFullType" 325 err = en.Append(0xad, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65) 326 if err != nil { 327 return err 328 } 329 if z.FieldFullType == nil { 330 err = en.WriteNil() 331 if err != nil { 332 return 333 } 334 } else { 335 err = z.FieldFullType.EncodeMsg(en) 336 if err != nil { 337 return 338 } 339 } 340 } 341 342 if !empty_zgensym_754b0115c175ee89_4[7] { 343 // write "OmitEmpty" 344 err = en.Append(0xa9, 0x4f, 0x6d, 0x69, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79) 345 if err != nil { 346 return err 347 } 348 err = en.WriteBool(z.OmitEmpty) 349 if err != nil { 350 return 351 } 352 } 353 354 if !empty_zgensym_754b0115c175ee89_4[8] { 355 // write "Skip" 356 err = en.Append(0xa4, 0x53, 0x6b, 0x69, 0x70) 357 if err != nil { 358 return err 359 } 360 err = en.WriteBool(z.Skip) 361 if err != nil { 362 return 363 } 364 } 365 366 if !empty_zgensym_754b0115c175ee89_4[9] { 367 // write "Deprecated" 368 err = en.Append(0xaa, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64) 369 if err != nil { 370 return err 371 } 372 err = en.WriteBool(z.Deprecated) 373 if err != nil { 374 return 375 } 376 } 377 378 if !empty_zgensym_754b0115c175ee89_4[10] { 379 // write "ShowZero" 380 err = en.Append(0xa8, 0x53, 0x68, 0x6f, 0x77, 0x5a, 0x65, 0x72, 0x6f) 381 if err != nil { 382 return err 383 } 384 err = en.WriteBool(z.ShowZero) 385 if err != nil { 386 return 387 } 388 } 389 390 return 391 } 392 393 // MarshalMsg implements msgp.Marshaler 394 func (z *Field) MarshalMsg(b []byte) (o []byte, err error) { 395 if p, ok := interface{}(z).(msgp.PreSave); ok { 396 p.PreSaveHook() 397 } 398 399 o = msgp.Require(b, z.Msgsize()) 400 401 // honor the omitempty tags 402 var empty [11]bool 403 fieldsInUse := z.fieldsNotEmpty(empty[:]) 404 o = msgp.AppendMapHeader(o, fieldsInUse) 405 406 // string "Zid" 407 o = append(o, 0xa3, 0x5a, 0x69, 0x64) 408 o = msgp.AppendInt64(o, z.Zid) 409 // string "FieldGoName" 410 o = append(o, 0xab, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x6f, 0x4e, 0x61, 0x6d, 0x65) 411 o = msgp.AppendString(o, z.FieldGoName) 412 if !empty[2] { 413 // string "FieldTagName" 414 o = append(o, 0xac, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65) 415 o = msgp.AppendString(o, z.FieldTagName) 416 } 417 418 if !empty[3] { 419 // string "FieldTypeStr" 420 o = append(o, 0xac, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72) 421 o = msgp.AppendString(o, z.FieldTypeStr) 422 } 423 424 if !empty[4] { 425 // string "FieldCategory" 426 o = append(o, 0xad, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79) 427 o = msgp.AppendUint64(o, uint64(z.FieldCategory)) 428 } 429 430 if !empty[5] { 431 // string "FieldPrimitive" 432 o = append(o, 0xae, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65) 433 o = msgp.AppendUint64(o, uint64(z.FieldPrimitive)) 434 } 435 436 if !empty[6] { 437 // string "FieldFullType" 438 o = append(o, 0xad, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65) 439 if z.FieldFullType == nil { 440 o = msgp.AppendNil(o) 441 } else { 442 o, err = z.FieldFullType.MarshalMsg(o) 443 if err != nil { 444 return 445 } 446 } 447 } 448 449 if !empty[7] { 450 // string "OmitEmpty" 451 o = append(o, 0xa9, 0x4f, 0x6d, 0x69, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79) 452 o = msgp.AppendBool(o, z.OmitEmpty) 453 } 454 455 if !empty[8] { 456 // string "Skip" 457 o = append(o, 0xa4, 0x53, 0x6b, 0x69, 0x70) 458 o = msgp.AppendBool(o, z.Skip) 459 } 460 461 if !empty[9] { 462 // string "Deprecated" 463 o = append(o, 0xaa, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64) 464 o = msgp.AppendBool(o, z.Deprecated) 465 } 466 467 if !empty[10] { 468 // string "ShowZero" 469 o = append(o, 0xa8, 0x53, 0x68, 0x6f, 0x77, 0x5a, 0x65, 0x72, 0x6f) 470 o = msgp.AppendBool(o, z.ShowZero) 471 } 472 473 return 474 } 475 476 // UnmarshalMsg implements msgp.Unmarshaler 477 func (z *Field) UnmarshalMsg(bts []byte) (o []byte, err error) { 478 return z.UnmarshalMsgWithCfg(bts, nil) 479 } 480 func (z *Field) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 481 var nbs msgp.NilBitsStack 482 nbs.Init(cfg) 483 var sawTopNil bool 484 if msgp.IsNil(bts) { 485 sawTopNil = true 486 bts = nbs.PushAlwaysNil(bts[1:]) 487 } 488 489 var field []byte 490 _ = field 491 const maxFields6zgensym_754b0115c175ee89_7 = 11 492 493 // -- templateUnmarshalMsg starts here-- 494 var totalEncodedFields6zgensym_754b0115c175ee89_7 uint32 495 if !nbs.AlwaysNil { 496 totalEncodedFields6zgensym_754b0115c175ee89_7, bts, err = nbs.ReadMapHeaderBytes(bts) 497 if err != nil { 498 return 499 } 500 } 501 encodedFieldsLeft6zgensym_754b0115c175ee89_7 := totalEncodedFields6zgensym_754b0115c175ee89_7 502 missingFieldsLeft6zgensym_754b0115c175ee89_7 := maxFields6zgensym_754b0115c175ee89_7 - totalEncodedFields6zgensym_754b0115c175ee89_7 503 504 var nextMiss6zgensym_754b0115c175ee89_7 int32 = -1 505 var found6zgensym_754b0115c175ee89_7 [maxFields6zgensym_754b0115c175ee89_7]bool 506 var curField6zgensym_754b0115c175ee89_7 string 507 508 doneWithStruct6zgensym_754b0115c175ee89_7: 509 // First fill all the encoded fields, then 510 // treat the remaining, missing fields, as Nil. 511 for encodedFieldsLeft6zgensym_754b0115c175ee89_7 > 0 || missingFieldsLeft6zgensym_754b0115c175ee89_7 > 0 { 512 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft6zgensym_754b0115c175ee89_7, missingFieldsLeft6zgensym_754b0115c175ee89_7, msgp.ShowFound(found6zgensym_754b0115c175ee89_7[:]), unmarshalMsgFieldOrder6zgensym_754b0115c175ee89_7) 513 if encodedFieldsLeft6zgensym_754b0115c175ee89_7 > 0 { 514 encodedFieldsLeft6zgensym_754b0115c175ee89_7-- 515 field, bts, err = nbs.ReadMapKeyZC(bts) 516 if err != nil { 517 return 518 } 519 curField6zgensym_754b0115c175ee89_7 = msgp.UnsafeString(field) 520 } else { 521 //missing fields need handling 522 if nextMiss6zgensym_754b0115c175ee89_7 < 0 { 523 // set bts to contain just mnil (0xc0) 524 bts = nbs.PushAlwaysNil(bts) 525 nextMiss6zgensym_754b0115c175ee89_7 = 0 526 } 527 for nextMiss6zgensym_754b0115c175ee89_7 < maxFields6zgensym_754b0115c175ee89_7 && (found6zgensym_754b0115c175ee89_7[nextMiss6zgensym_754b0115c175ee89_7] || unmarshalMsgFieldSkip6zgensym_754b0115c175ee89_7[nextMiss6zgensym_754b0115c175ee89_7]) { 528 nextMiss6zgensym_754b0115c175ee89_7++ 529 } 530 if nextMiss6zgensym_754b0115c175ee89_7 == maxFields6zgensym_754b0115c175ee89_7 { 531 // filled all the empty fields! 532 break doneWithStruct6zgensym_754b0115c175ee89_7 533 } 534 missingFieldsLeft6zgensym_754b0115c175ee89_7-- 535 curField6zgensym_754b0115c175ee89_7 = unmarshalMsgFieldOrder6zgensym_754b0115c175ee89_7[nextMiss6zgensym_754b0115c175ee89_7] 536 } 537 //fmt.Printf("switching on curField: '%v'\n", curField6zgensym_754b0115c175ee89_7) 538 switch curField6zgensym_754b0115c175ee89_7 { 539 // -- templateUnmarshalMsg ends here -- 540 541 case "Zid": 542 found6zgensym_754b0115c175ee89_7[0] = true 543 z.Zid, bts, err = nbs.ReadInt64Bytes(bts) 544 545 if err != nil { 546 return 547 } 548 case "FieldGoName": 549 found6zgensym_754b0115c175ee89_7[1] = true 550 z.FieldGoName, bts, err = nbs.ReadStringBytes(bts) 551 552 if err != nil { 553 return 554 } 555 case "FieldTagName": 556 found6zgensym_754b0115c175ee89_7[2] = true 557 z.FieldTagName, bts, err = nbs.ReadStringBytes(bts) 558 559 if err != nil { 560 return 561 } 562 case "FieldTypeStr": 563 found6zgensym_754b0115c175ee89_7[3] = true 564 z.FieldTypeStr, bts, err = nbs.ReadStringBytes(bts) 565 566 if err != nil { 567 return 568 } 569 case "FieldCategory": 570 found6zgensym_754b0115c175ee89_7[4] = true 571 { 572 var zgensym_754b0115c175ee89_8 uint64 573 zgensym_754b0115c175ee89_8, bts, err = nbs.ReadUint64Bytes(bts) 574 575 if err != nil { 576 return 577 } 578 z.FieldCategory = Zkind(zgensym_754b0115c175ee89_8) 579 } 580 case "FieldPrimitive": 581 found6zgensym_754b0115c175ee89_7[5] = true 582 { 583 var zgensym_754b0115c175ee89_9 uint64 584 zgensym_754b0115c175ee89_9, bts, err = nbs.ReadUint64Bytes(bts) 585 586 if err != nil { 587 return 588 } 589 z.FieldPrimitive = Zkind(zgensym_754b0115c175ee89_9) 590 } 591 case "FieldFullType": 592 found6zgensym_754b0115c175ee89_7[6] = true 593 if nbs.AlwaysNil { 594 if z.FieldFullType != nil { 595 z.FieldFullType.UnmarshalMsg(msgp.OnlyNilSlice) 596 } 597 } else { 598 // not nbs.AlwaysNil 599 if msgp.IsNil(bts) { 600 bts = bts[1:] 601 if nil != z.FieldFullType { 602 z.FieldFullType.UnmarshalMsg(msgp.OnlyNilSlice) 603 } 604 } else { 605 // not nbs.AlwaysNil and not IsNil(bts): have something to read 606 607 if z.FieldFullType == nil { 608 z.FieldFullType = new(Ztype) 609 } 610 bts, err = z.FieldFullType.UnmarshalMsg(bts) 611 if err != nil { 612 return 613 } 614 if err != nil { 615 return 616 } 617 } 618 } 619 case "OmitEmpty": 620 found6zgensym_754b0115c175ee89_7[7] = true 621 z.OmitEmpty, bts, err = nbs.ReadBoolBytes(bts) 622 623 if err != nil { 624 return 625 } 626 case "Skip": 627 found6zgensym_754b0115c175ee89_7[8] = true 628 z.Skip, bts, err = nbs.ReadBoolBytes(bts) 629 630 if err != nil { 631 return 632 } 633 case "Deprecated": 634 found6zgensym_754b0115c175ee89_7[9] = true 635 z.Deprecated, bts, err = nbs.ReadBoolBytes(bts) 636 637 if err != nil { 638 return 639 } 640 case "ShowZero": 641 found6zgensym_754b0115c175ee89_7[10] = true 642 z.ShowZero, bts, err = nbs.ReadBoolBytes(bts) 643 644 if err != nil { 645 return 646 } 647 default: 648 bts, err = msgp.Skip(bts) 649 if err != nil { 650 return 651 } 652 } 653 } 654 if nextMiss6zgensym_754b0115c175ee89_7 != -1 { 655 bts = nbs.PopAlwaysNil() 656 } 657 658 if sawTopNil { 659 bts = nbs.PopAlwaysNil() 660 } 661 o = bts 662 if p, ok := interface{}(z).(msgp.PostLoad); ok { 663 p.PostLoadHook() 664 } 665 666 return 667 } 668 669 // fields of Field 670 var unmarshalMsgFieldOrder6zgensym_754b0115c175ee89_7 = []string{"Zid", "FieldGoName", "FieldTagName", "FieldTypeStr", "FieldCategory", "FieldPrimitive", "FieldFullType", "OmitEmpty", "Skip", "Deprecated", "ShowZero"} 671 672 var unmarshalMsgFieldSkip6zgensym_754b0115c175ee89_7 = []bool{false, false, false, false, false, false, false, false, false, false, false} 673 674 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 675 func (z *Field) Msgsize() (s int) { 676 s = 1 + 4 + msgp.Int64Size + 12 + msgp.StringPrefixSize + len(z.FieldGoName) + 13 + msgp.StringPrefixSize + len(z.FieldTagName) + 13 + msgp.StringPrefixSize + len(z.FieldTypeStr) + 14 + msgp.Uint64Size + 15 + msgp.Uint64Size + 14 677 if z.FieldFullType == nil { 678 s += msgp.NilSize 679 } else { 680 s += z.FieldFullType.Msgsize() 681 } 682 s += 10 + msgp.BoolSize + 5 + msgp.BoolSize + 11 + msgp.BoolSize + 9 + msgp.BoolSize 683 return 684 } 685 686 // DecodeMsg implements msgp.Decodable 687 // We treat empty fields as if we read a Nil from the wire. 688 func (z *Schema) DecodeMsg(dc *msgp.Reader) (err error) { 689 var sawTopNil bool 690 if dc.IsNil() { 691 sawTopNil = true 692 err = dc.ReadNil() 693 if err != nil { 694 return 695 } 696 dc.PushAlwaysNil() 697 } 698 699 var field []byte 700 _ = field 701 const maxFields14zgensym_754b0115c175ee89_15 = 5 702 703 // -- templateDecodeMsg starts here-- 704 var totalEncodedFields14zgensym_754b0115c175ee89_15 uint32 705 totalEncodedFields14zgensym_754b0115c175ee89_15, err = dc.ReadMapHeader() 706 if err != nil { 707 return 708 } 709 encodedFieldsLeft14zgensym_754b0115c175ee89_15 := totalEncodedFields14zgensym_754b0115c175ee89_15 710 missingFieldsLeft14zgensym_754b0115c175ee89_15 := maxFields14zgensym_754b0115c175ee89_15 - totalEncodedFields14zgensym_754b0115c175ee89_15 711 712 var nextMiss14zgensym_754b0115c175ee89_15 int32 = -1 713 var found14zgensym_754b0115c175ee89_15 [maxFields14zgensym_754b0115c175ee89_15]bool 714 var curField14zgensym_754b0115c175ee89_15 string 715 716 doneWithStruct14zgensym_754b0115c175ee89_15: 717 // First fill all the encoded fields, then 718 // treat the remaining, missing fields, as Nil. 719 for encodedFieldsLeft14zgensym_754b0115c175ee89_15 > 0 || missingFieldsLeft14zgensym_754b0115c175ee89_15 > 0 { 720 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft14zgensym_754b0115c175ee89_15, missingFieldsLeft14zgensym_754b0115c175ee89_15, msgp.ShowFound(found14zgensym_754b0115c175ee89_15[:]), decodeMsgFieldOrder14zgensym_754b0115c175ee89_15) 721 if encodedFieldsLeft14zgensym_754b0115c175ee89_15 > 0 { 722 encodedFieldsLeft14zgensym_754b0115c175ee89_15-- 723 field, err = dc.ReadMapKeyPtr() 724 if err != nil { 725 return 726 } 727 curField14zgensym_754b0115c175ee89_15 = msgp.UnsafeString(field) 728 } else { 729 //missing fields need handling 730 if nextMiss14zgensym_754b0115c175ee89_15 < 0 { 731 // tell the reader to only give us Nils 732 // until further notice. 733 dc.PushAlwaysNil() 734 nextMiss14zgensym_754b0115c175ee89_15 = 0 735 } 736 for nextMiss14zgensym_754b0115c175ee89_15 < maxFields14zgensym_754b0115c175ee89_15 && (found14zgensym_754b0115c175ee89_15[nextMiss14zgensym_754b0115c175ee89_15] || decodeMsgFieldSkip14zgensym_754b0115c175ee89_15[nextMiss14zgensym_754b0115c175ee89_15]) { 737 nextMiss14zgensym_754b0115c175ee89_15++ 738 } 739 if nextMiss14zgensym_754b0115c175ee89_15 == maxFields14zgensym_754b0115c175ee89_15 { 740 // filled all the empty fields! 741 break doneWithStruct14zgensym_754b0115c175ee89_15 742 } 743 missingFieldsLeft14zgensym_754b0115c175ee89_15-- 744 curField14zgensym_754b0115c175ee89_15 = decodeMsgFieldOrder14zgensym_754b0115c175ee89_15[nextMiss14zgensym_754b0115c175ee89_15] 745 } 746 //fmt.Printf("switching on curField: '%v'\n", curField14zgensym_754b0115c175ee89_15) 747 switch curField14zgensym_754b0115c175ee89_15 { 748 // -- templateDecodeMsg ends here -- 749 750 case "SourcePath": 751 found14zgensym_754b0115c175ee89_15[0] = true 752 z.SourcePath, err = dc.ReadString() 753 if err != nil { 754 return 755 } 756 case "SourcePackage": 757 found14zgensym_754b0115c175ee89_15[1] = true 758 z.SourcePackage, err = dc.ReadString() 759 if err != nil { 760 return 761 } 762 case "ZebraSchemaId": 763 found14zgensym_754b0115c175ee89_15[2] = true 764 z.ZebraSchemaId, err = dc.ReadInt64() 765 if err != nil { 766 return 767 } 768 case "Structs": 769 found14zgensym_754b0115c175ee89_15[3] = true 770 var zgensym_754b0115c175ee89_16 uint32 771 zgensym_754b0115c175ee89_16, err = dc.ReadMapHeader() 772 if err != nil { 773 return 774 } 775 if z.Structs == nil && zgensym_754b0115c175ee89_16 > 0 { 776 z.Structs = make(map[string]*Struct, zgensym_754b0115c175ee89_16) 777 } else if len(z.Structs) > 0 { 778 for key, _ := range z.Structs { 779 delete(z.Structs, key) 780 } 781 } 782 for zgensym_754b0115c175ee89_16 > 0 { 783 zgensym_754b0115c175ee89_16-- 784 var zgensym_754b0115c175ee89_10 string 785 var zgensym_754b0115c175ee89_11 *Struct 786 zgensym_754b0115c175ee89_10, err = dc.ReadString() 787 if err != nil { 788 return 789 } 790 if dc.IsNil() { 791 err = dc.ReadNil() 792 if err != nil { 793 return 794 } 795 796 zgensym_754b0115c175ee89_11 = nil 797 } else { 798 if zgensym_754b0115c175ee89_11 == nil { 799 zgensym_754b0115c175ee89_11 = new(Struct) 800 } 801 const maxFields17zgensym_754b0115c175ee89_18 = 2 802 803 // -- templateDecodeMsg starts here-- 804 var totalEncodedFields17zgensym_754b0115c175ee89_18 uint32 805 totalEncodedFields17zgensym_754b0115c175ee89_18, err = dc.ReadMapHeader() 806 if err != nil { 807 return 808 } 809 encodedFieldsLeft17zgensym_754b0115c175ee89_18 := totalEncodedFields17zgensym_754b0115c175ee89_18 810 missingFieldsLeft17zgensym_754b0115c175ee89_18 := maxFields17zgensym_754b0115c175ee89_18 - totalEncodedFields17zgensym_754b0115c175ee89_18 811 812 var nextMiss17zgensym_754b0115c175ee89_18 int32 = -1 813 var found17zgensym_754b0115c175ee89_18 [maxFields17zgensym_754b0115c175ee89_18]bool 814 var curField17zgensym_754b0115c175ee89_18 string 815 816 doneWithStruct17zgensym_754b0115c175ee89_18: 817 // First fill all the encoded fields, then 818 // treat the remaining, missing fields, as Nil. 819 for encodedFieldsLeft17zgensym_754b0115c175ee89_18 > 0 || missingFieldsLeft17zgensym_754b0115c175ee89_18 > 0 { 820 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft17zgensym_754b0115c175ee89_18, missingFieldsLeft17zgensym_754b0115c175ee89_18, msgp.ShowFound(found17zgensym_754b0115c175ee89_18[:]), decodeMsgFieldOrder17zgensym_754b0115c175ee89_18) 821 if encodedFieldsLeft17zgensym_754b0115c175ee89_18 > 0 { 822 encodedFieldsLeft17zgensym_754b0115c175ee89_18-- 823 field, err = dc.ReadMapKeyPtr() 824 if err != nil { 825 return 826 } 827 curField17zgensym_754b0115c175ee89_18 = msgp.UnsafeString(field) 828 } else { 829 //missing fields need handling 830 if nextMiss17zgensym_754b0115c175ee89_18 < 0 { 831 // tell the reader to only give us Nils 832 // until further notice. 833 dc.PushAlwaysNil() 834 nextMiss17zgensym_754b0115c175ee89_18 = 0 835 } 836 for nextMiss17zgensym_754b0115c175ee89_18 < maxFields17zgensym_754b0115c175ee89_18 && (found17zgensym_754b0115c175ee89_18[nextMiss17zgensym_754b0115c175ee89_18] || decodeMsgFieldSkip17zgensym_754b0115c175ee89_18[nextMiss17zgensym_754b0115c175ee89_18]) { 837 nextMiss17zgensym_754b0115c175ee89_18++ 838 } 839 if nextMiss17zgensym_754b0115c175ee89_18 == maxFields17zgensym_754b0115c175ee89_18 { 840 // filled all the empty fields! 841 break doneWithStruct17zgensym_754b0115c175ee89_18 842 } 843 missingFieldsLeft17zgensym_754b0115c175ee89_18-- 844 curField17zgensym_754b0115c175ee89_18 = decodeMsgFieldOrder17zgensym_754b0115c175ee89_18[nextMiss17zgensym_754b0115c175ee89_18] 845 } 846 //fmt.Printf("switching on curField: '%v'\n", curField17zgensym_754b0115c175ee89_18) 847 switch curField17zgensym_754b0115c175ee89_18 { 848 // -- templateDecodeMsg ends here -- 849 850 case "StructName": 851 found17zgensym_754b0115c175ee89_18[0] = true 852 zgensym_754b0115c175ee89_11.StructName, err = dc.ReadString() 853 if err != nil { 854 return 855 } 856 case "Fields": 857 found17zgensym_754b0115c175ee89_18[1] = true 858 var zgensym_754b0115c175ee89_19 uint32 859 zgensym_754b0115c175ee89_19, err = dc.ReadArrayHeader() 860 if err != nil { 861 return 862 } 863 if cap(zgensym_754b0115c175ee89_11.Fields) >= int(zgensym_754b0115c175ee89_19) { 864 zgensym_754b0115c175ee89_11.Fields = (zgensym_754b0115c175ee89_11.Fields)[:zgensym_754b0115c175ee89_19] 865 } else { 866 zgensym_754b0115c175ee89_11.Fields = make([]Field, zgensym_754b0115c175ee89_19) 867 } 868 for zgensym_754b0115c175ee89_12 := range zgensym_754b0115c175ee89_11.Fields { 869 err = zgensym_754b0115c175ee89_11.Fields[zgensym_754b0115c175ee89_12].DecodeMsg(dc) 870 if err != nil { 871 return 872 } 873 } 874 default: 875 err = dc.Skip() 876 if err != nil { 877 return 878 } 879 } 880 } 881 if nextMiss17zgensym_754b0115c175ee89_18 != -1 { 882 dc.PopAlwaysNil() 883 } 884 885 } 886 z.Structs[zgensym_754b0115c175ee89_10] = zgensym_754b0115c175ee89_11 887 } 888 case "Imports": 889 found14zgensym_754b0115c175ee89_15[4] = true 890 var zgensym_754b0115c175ee89_20 uint32 891 zgensym_754b0115c175ee89_20, err = dc.ReadArrayHeader() 892 if err != nil { 893 return 894 } 895 if cap(z.Imports) >= int(zgensym_754b0115c175ee89_20) { 896 z.Imports = (z.Imports)[:zgensym_754b0115c175ee89_20] 897 } else { 898 z.Imports = make([]string, zgensym_754b0115c175ee89_20) 899 } 900 for zgensym_754b0115c175ee89_13 := range z.Imports { 901 z.Imports[zgensym_754b0115c175ee89_13], err = dc.ReadString() 902 if err != nil { 903 return 904 } 905 } 906 default: 907 err = dc.Skip() 908 if err != nil { 909 return 910 } 911 } 912 } 913 if nextMiss14zgensym_754b0115c175ee89_15 != -1 { 914 dc.PopAlwaysNil() 915 } 916 917 if sawTopNil { 918 dc.PopAlwaysNil() 919 } 920 921 if p, ok := interface{}(z).(msgp.PostLoad); ok { 922 p.PostLoadHook() 923 } 924 925 return 926 } 927 928 // fields of Schema 929 var decodeMsgFieldOrder14zgensym_754b0115c175ee89_15 = []string{"SourcePath", "SourcePackage", "ZebraSchemaId", "Structs", "Imports"} 930 931 var decodeMsgFieldSkip14zgensym_754b0115c175ee89_15 = []bool{false, false, false, false, false} 932 933 // fields of Struct 934 var decodeMsgFieldOrder17zgensym_754b0115c175ee89_18 = []string{"StructName", "Fields"} 935 936 var decodeMsgFieldSkip17zgensym_754b0115c175ee89_18 = []bool{false, false} 937 938 // fieldsNotEmpty supports omitempty tags 939 func (z *Schema) fieldsNotEmpty(isempty []bool) uint32 { 940 if len(isempty) == 0 { 941 return 5 942 } 943 var fieldsInUse uint32 = 5 944 isempty[0] = (len(z.SourcePath) == 0) // string, omitempty 945 if isempty[0] { 946 fieldsInUse-- 947 } 948 isempty[1] = (len(z.SourcePackage) == 0) // string, omitempty 949 if isempty[1] { 950 fieldsInUse-- 951 } 952 isempty[2] = (z.ZebraSchemaId == 0) // number, omitempty 953 if isempty[2] { 954 fieldsInUse-- 955 } 956 isempty[3] = (len(z.Structs) == 0) // string, omitempty 957 if isempty[3] { 958 fieldsInUse-- 959 } 960 isempty[4] = (len(z.Imports) == 0) // string, omitempty 961 if isempty[4] { 962 fieldsInUse-- 963 } 964 965 return fieldsInUse 966 } 967 968 // EncodeMsg implements msgp.Encodable 969 func (z *Schema) EncodeMsg(en *msgp.Writer) (err error) { 970 if p, ok := interface{}(z).(msgp.PreSave); ok { 971 p.PreSaveHook() 972 } 973 974 // honor the omitempty tags 975 var empty_zgensym_754b0115c175ee89_21 [5]bool 976 fieldsInUse_zgensym_754b0115c175ee89_22 := z.fieldsNotEmpty(empty_zgensym_754b0115c175ee89_21[:]) 977 978 // map header 979 err = en.WriteMapHeader(fieldsInUse_zgensym_754b0115c175ee89_22) 980 if err != nil { 981 return err 982 } 983 984 if !empty_zgensym_754b0115c175ee89_21[0] { 985 // write "SourcePath" 986 err = en.Append(0xaa, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68) 987 if err != nil { 988 return err 989 } 990 err = en.WriteString(z.SourcePath) 991 if err != nil { 992 return 993 } 994 } 995 996 if !empty_zgensym_754b0115c175ee89_21[1] { 997 // write "SourcePackage" 998 err = en.Append(0xad, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65) 999 if err != nil { 1000 return err 1001 } 1002 err = en.WriteString(z.SourcePackage) 1003 if err != nil { 1004 return 1005 } 1006 } 1007 1008 if !empty_zgensym_754b0115c175ee89_21[2] { 1009 // write "ZebraSchemaId" 1010 err = en.Append(0xad, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64) 1011 if err != nil { 1012 return err 1013 } 1014 err = en.WriteInt64(z.ZebraSchemaId) 1015 if err != nil { 1016 return 1017 } 1018 } 1019 1020 if !empty_zgensym_754b0115c175ee89_21[3] { 1021 // write "Structs" 1022 err = en.Append(0xa7, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73) 1023 if err != nil { 1024 return err 1025 } 1026 err = en.WriteMapHeader(uint32(len(z.Structs))) 1027 if err != nil { 1028 return 1029 } 1030 for zgensym_754b0115c175ee89_10, zgensym_754b0115c175ee89_11 := range z.Structs { 1031 err = en.WriteString(zgensym_754b0115c175ee89_10) 1032 if err != nil { 1033 return 1034 } 1035 if zgensym_754b0115c175ee89_11 == nil { 1036 err = en.WriteNil() 1037 if err != nil { 1038 return 1039 } 1040 } else { 1041 // map header, size 2 1042 // write "StructName" 1043 err = en.Append(0x82, 0xaa, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65) 1044 if err != nil { 1045 return err 1046 } 1047 err = en.WriteString(zgensym_754b0115c175ee89_11.StructName) 1048 if err != nil { 1049 return 1050 } 1051 // write "Fields" 1052 err = en.Append(0xa6, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73) 1053 if err != nil { 1054 return err 1055 } 1056 err = en.WriteArrayHeader(uint32(len(zgensym_754b0115c175ee89_11.Fields))) 1057 if err != nil { 1058 return 1059 } 1060 for zgensym_754b0115c175ee89_12 := range zgensym_754b0115c175ee89_11.Fields { 1061 err = zgensym_754b0115c175ee89_11.Fields[zgensym_754b0115c175ee89_12].EncodeMsg(en) 1062 if err != nil { 1063 return 1064 } 1065 } 1066 } 1067 } 1068 } 1069 1070 if !empty_zgensym_754b0115c175ee89_21[4] { 1071 // write "Imports" 1072 err = en.Append(0xa7, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73) 1073 if err != nil { 1074 return err 1075 } 1076 err = en.WriteArrayHeader(uint32(len(z.Imports))) 1077 if err != nil { 1078 return 1079 } 1080 for zgensym_754b0115c175ee89_13 := range z.Imports { 1081 err = en.WriteString(z.Imports[zgensym_754b0115c175ee89_13]) 1082 if err != nil { 1083 return 1084 } 1085 } 1086 } 1087 1088 return 1089 } 1090 1091 // MarshalMsg implements msgp.Marshaler 1092 func (z *Schema) MarshalMsg(b []byte) (o []byte, err error) { 1093 if p, ok := interface{}(z).(msgp.PreSave); ok { 1094 p.PreSaveHook() 1095 } 1096 1097 o = msgp.Require(b, z.Msgsize()) 1098 1099 // honor the omitempty tags 1100 var empty [5]bool 1101 fieldsInUse := z.fieldsNotEmpty(empty[:]) 1102 o = msgp.AppendMapHeader(o, fieldsInUse) 1103 1104 if !empty[0] { 1105 // string "SourcePath" 1106 o = append(o, 0xaa, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68) 1107 o = msgp.AppendString(o, z.SourcePath) 1108 } 1109 1110 if !empty[1] { 1111 // string "SourcePackage" 1112 o = append(o, 0xad, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65) 1113 o = msgp.AppendString(o, z.SourcePackage) 1114 } 1115 1116 if !empty[2] { 1117 // string "ZebraSchemaId" 1118 o = append(o, 0xad, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64) 1119 o = msgp.AppendInt64(o, z.ZebraSchemaId) 1120 } 1121 1122 if !empty[3] { 1123 // string "Structs" 1124 o = append(o, 0xa7, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73) 1125 o = msgp.AppendMapHeader(o, uint32(len(z.Structs))) 1126 for zgensym_754b0115c175ee89_10, zgensym_754b0115c175ee89_11 := range z.Structs { 1127 o = msgp.AppendString(o, zgensym_754b0115c175ee89_10) 1128 if zgensym_754b0115c175ee89_11 == nil { 1129 o = msgp.AppendNil(o) 1130 } else { 1131 // map header, size 2 1132 // string "StructName" 1133 o = append(o, 0x82, 0xaa, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65) 1134 o = msgp.AppendString(o, zgensym_754b0115c175ee89_11.StructName) 1135 // string "Fields" 1136 o = append(o, 0xa6, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73) 1137 o = msgp.AppendArrayHeader(o, uint32(len(zgensym_754b0115c175ee89_11.Fields))) 1138 for zgensym_754b0115c175ee89_12 := range zgensym_754b0115c175ee89_11.Fields { 1139 o, err = zgensym_754b0115c175ee89_11.Fields[zgensym_754b0115c175ee89_12].MarshalMsg(o) 1140 if err != nil { 1141 return 1142 } 1143 } 1144 } 1145 } 1146 } 1147 1148 if !empty[4] { 1149 // string "Imports" 1150 o = append(o, 0xa7, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73) 1151 o = msgp.AppendArrayHeader(o, uint32(len(z.Imports))) 1152 for zgensym_754b0115c175ee89_13 := range z.Imports { 1153 o = msgp.AppendString(o, z.Imports[zgensym_754b0115c175ee89_13]) 1154 } 1155 } 1156 1157 return 1158 } 1159 1160 // UnmarshalMsg implements msgp.Unmarshaler 1161 func (z *Schema) UnmarshalMsg(bts []byte) (o []byte, err error) { 1162 return z.UnmarshalMsgWithCfg(bts, nil) 1163 } 1164 func (z *Schema) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 1165 var nbs msgp.NilBitsStack 1166 nbs.Init(cfg) 1167 var sawTopNil bool 1168 if msgp.IsNil(bts) { 1169 sawTopNil = true 1170 bts = nbs.PushAlwaysNil(bts[1:]) 1171 } 1172 1173 var field []byte 1174 _ = field 1175 const maxFields25zgensym_754b0115c175ee89_26 = 5 1176 1177 // -- templateUnmarshalMsg starts here-- 1178 var totalEncodedFields25zgensym_754b0115c175ee89_26 uint32 1179 if !nbs.AlwaysNil { 1180 totalEncodedFields25zgensym_754b0115c175ee89_26, bts, err = nbs.ReadMapHeaderBytes(bts) 1181 if err != nil { 1182 return 1183 } 1184 } 1185 encodedFieldsLeft25zgensym_754b0115c175ee89_26 := totalEncodedFields25zgensym_754b0115c175ee89_26 1186 missingFieldsLeft25zgensym_754b0115c175ee89_26 := maxFields25zgensym_754b0115c175ee89_26 - totalEncodedFields25zgensym_754b0115c175ee89_26 1187 1188 var nextMiss25zgensym_754b0115c175ee89_26 int32 = -1 1189 var found25zgensym_754b0115c175ee89_26 [maxFields25zgensym_754b0115c175ee89_26]bool 1190 var curField25zgensym_754b0115c175ee89_26 string 1191 1192 doneWithStruct25zgensym_754b0115c175ee89_26: 1193 // First fill all the encoded fields, then 1194 // treat the remaining, missing fields, as Nil. 1195 for encodedFieldsLeft25zgensym_754b0115c175ee89_26 > 0 || missingFieldsLeft25zgensym_754b0115c175ee89_26 > 0 { 1196 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft25zgensym_754b0115c175ee89_26, missingFieldsLeft25zgensym_754b0115c175ee89_26, msgp.ShowFound(found25zgensym_754b0115c175ee89_26[:]), unmarshalMsgFieldOrder25zgensym_754b0115c175ee89_26) 1197 if encodedFieldsLeft25zgensym_754b0115c175ee89_26 > 0 { 1198 encodedFieldsLeft25zgensym_754b0115c175ee89_26-- 1199 field, bts, err = nbs.ReadMapKeyZC(bts) 1200 if err != nil { 1201 return 1202 } 1203 curField25zgensym_754b0115c175ee89_26 = msgp.UnsafeString(field) 1204 } else { 1205 //missing fields need handling 1206 if nextMiss25zgensym_754b0115c175ee89_26 < 0 { 1207 // set bts to contain just mnil (0xc0) 1208 bts = nbs.PushAlwaysNil(bts) 1209 nextMiss25zgensym_754b0115c175ee89_26 = 0 1210 } 1211 for nextMiss25zgensym_754b0115c175ee89_26 < maxFields25zgensym_754b0115c175ee89_26 && (found25zgensym_754b0115c175ee89_26[nextMiss25zgensym_754b0115c175ee89_26] || unmarshalMsgFieldSkip25zgensym_754b0115c175ee89_26[nextMiss25zgensym_754b0115c175ee89_26]) { 1212 nextMiss25zgensym_754b0115c175ee89_26++ 1213 } 1214 if nextMiss25zgensym_754b0115c175ee89_26 == maxFields25zgensym_754b0115c175ee89_26 { 1215 // filled all the empty fields! 1216 break doneWithStruct25zgensym_754b0115c175ee89_26 1217 } 1218 missingFieldsLeft25zgensym_754b0115c175ee89_26-- 1219 curField25zgensym_754b0115c175ee89_26 = unmarshalMsgFieldOrder25zgensym_754b0115c175ee89_26[nextMiss25zgensym_754b0115c175ee89_26] 1220 } 1221 //fmt.Printf("switching on curField: '%v'\n", curField25zgensym_754b0115c175ee89_26) 1222 switch curField25zgensym_754b0115c175ee89_26 { 1223 // -- templateUnmarshalMsg ends here -- 1224 1225 case "SourcePath": 1226 found25zgensym_754b0115c175ee89_26[0] = true 1227 z.SourcePath, bts, err = nbs.ReadStringBytes(bts) 1228 1229 if err != nil { 1230 return 1231 } 1232 case "SourcePackage": 1233 found25zgensym_754b0115c175ee89_26[1] = true 1234 z.SourcePackage, bts, err = nbs.ReadStringBytes(bts) 1235 1236 if err != nil { 1237 return 1238 } 1239 case "ZebraSchemaId": 1240 found25zgensym_754b0115c175ee89_26[2] = true 1241 z.ZebraSchemaId, bts, err = nbs.ReadInt64Bytes(bts) 1242 1243 if err != nil { 1244 return 1245 } 1246 case "Structs": 1247 found25zgensym_754b0115c175ee89_26[3] = true 1248 if nbs.AlwaysNil { 1249 if len(z.Structs) > 0 { 1250 for key, _ := range z.Structs { 1251 delete(z.Structs, key) 1252 } 1253 } 1254 1255 } else { 1256 1257 var zgensym_754b0115c175ee89_27 uint32 1258 zgensym_754b0115c175ee89_27, bts, err = nbs.ReadMapHeaderBytes(bts) 1259 if err != nil { 1260 return 1261 } 1262 if z.Structs == nil && zgensym_754b0115c175ee89_27 > 0 { 1263 z.Structs = make(map[string]*Struct, zgensym_754b0115c175ee89_27) 1264 } else if len(z.Structs) > 0 { 1265 for key, _ := range z.Structs { 1266 delete(z.Structs, key) 1267 } 1268 } 1269 for zgensym_754b0115c175ee89_27 > 0 { 1270 var zgensym_754b0115c175ee89_10 string 1271 var zgensym_754b0115c175ee89_11 *Struct 1272 zgensym_754b0115c175ee89_27-- 1273 zgensym_754b0115c175ee89_10, bts, err = nbs.ReadStringBytes(bts) 1274 if err != nil { 1275 return 1276 } 1277 // default gPtr logic. 1278 if nbs.PeekNil(bts) && zgensym_754b0115c175ee89_11 == nil { 1279 // consume the nil 1280 bts, err = nbs.ReadNilBytes(bts) 1281 if err != nil { 1282 return 1283 } 1284 } else { 1285 // read as-if the wire has bytes, letting nbs take care of nils. 1286 1287 if zgensym_754b0115c175ee89_11 == nil { 1288 zgensym_754b0115c175ee89_11 = new(Struct) 1289 } 1290 const maxFields28zgensym_754b0115c175ee89_29 = 2 1291 1292 // -- templateUnmarshalMsg starts here-- 1293 var totalEncodedFields28zgensym_754b0115c175ee89_29 uint32 1294 if !nbs.AlwaysNil { 1295 totalEncodedFields28zgensym_754b0115c175ee89_29, bts, err = nbs.ReadMapHeaderBytes(bts) 1296 if err != nil { 1297 return 1298 } 1299 } 1300 encodedFieldsLeft28zgensym_754b0115c175ee89_29 := totalEncodedFields28zgensym_754b0115c175ee89_29 1301 missingFieldsLeft28zgensym_754b0115c175ee89_29 := maxFields28zgensym_754b0115c175ee89_29 - totalEncodedFields28zgensym_754b0115c175ee89_29 1302 1303 var nextMiss28zgensym_754b0115c175ee89_29 int32 = -1 1304 var found28zgensym_754b0115c175ee89_29 [maxFields28zgensym_754b0115c175ee89_29]bool 1305 var curField28zgensym_754b0115c175ee89_29 string 1306 1307 doneWithStruct28zgensym_754b0115c175ee89_29: 1308 // First fill all the encoded fields, then 1309 // treat the remaining, missing fields, as Nil. 1310 for encodedFieldsLeft28zgensym_754b0115c175ee89_29 > 0 || missingFieldsLeft28zgensym_754b0115c175ee89_29 > 0 { 1311 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft28zgensym_754b0115c175ee89_29, missingFieldsLeft28zgensym_754b0115c175ee89_29, msgp.ShowFound(found28zgensym_754b0115c175ee89_29[:]), unmarshalMsgFieldOrder28zgensym_754b0115c175ee89_29) 1312 if encodedFieldsLeft28zgensym_754b0115c175ee89_29 > 0 { 1313 encodedFieldsLeft28zgensym_754b0115c175ee89_29-- 1314 field, bts, err = nbs.ReadMapKeyZC(bts) 1315 if err != nil { 1316 return 1317 } 1318 curField28zgensym_754b0115c175ee89_29 = msgp.UnsafeString(field) 1319 } else { 1320 //missing fields need handling 1321 if nextMiss28zgensym_754b0115c175ee89_29 < 0 { 1322 // set bts to contain just mnil (0xc0) 1323 bts = nbs.PushAlwaysNil(bts) 1324 nextMiss28zgensym_754b0115c175ee89_29 = 0 1325 } 1326 for nextMiss28zgensym_754b0115c175ee89_29 < maxFields28zgensym_754b0115c175ee89_29 && (found28zgensym_754b0115c175ee89_29[nextMiss28zgensym_754b0115c175ee89_29] || unmarshalMsgFieldSkip28zgensym_754b0115c175ee89_29[nextMiss28zgensym_754b0115c175ee89_29]) { 1327 nextMiss28zgensym_754b0115c175ee89_29++ 1328 } 1329 if nextMiss28zgensym_754b0115c175ee89_29 == maxFields28zgensym_754b0115c175ee89_29 { 1330 // filled all the empty fields! 1331 break doneWithStruct28zgensym_754b0115c175ee89_29 1332 } 1333 missingFieldsLeft28zgensym_754b0115c175ee89_29-- 1334 curField28zgensym_754b0115c175ee89_29 = unmarshalMsgFieldOrder28zgensym_754b0115c175ee89_29[nextMiss28zgensym_754b0115c175ee89_29] 1335 } 1336 //fmt.Printf("switching on curField: '%v'\n", curField28zgensym_754b0115c175ee89_29) 1337 switch curField28zgensym_754b0115c175ee89_29 { 1338 // -- templateUnmarshalMsg ends here -- 1339 1340 case "StructName": 1341 found28zgensym_754b0115c175ee89_29[0] = true 1342 zgensym_754b0115c175ee89_11.StructName, bts, err = nbs.ReadStringBytes(bts) 1343 1344 if err != nil { 1345 return 1346 } 1347 case "Fields": 1348 found28zgensym_754b0115c175ee89_29[1] = true 1349 if nbs.AlwaysNil { 1350 (zgensym_754b0115c175ee89_11.Fields) = (zgensym_754b0115c175ee89_11.Fields)[:0] 1351 } else { 1352 1353 var zgensym_754b0115c175ee89_30 uint32 1354 zgensym_754b0115c175ee89_30, bts, err = nbs.ReadArrayHeaderBytes(bts) 1355 if err != nil { 1356 return 1357 } 1358 if cap(zgensym_754b0115c175ee89_11.Fields) >= int(zgensym_754b0115c175ee89_30) { 1359 zgensym_754b0115c175ee89_11.Fields = (zgensym_754b0115c175ee89_11.Fields)[:zgensym_754b0115c175ee89_30] 1360 } else { 1361 zgensym_754b0115c175ee89_11.Fields = make([]Field, zgensym_754b0115c175ee89_30) 1362 } 1363 for zgensym_754b0115c175ee89_12 := range zgensym_754b0115c175ee89_11.Fields { 1364 bts, err = zgensym_754b0115c175ee89_11.Fields[zgensym_754b0115c175ee89_12].UnmarshalMsg(bts) 1365 if err != nil { 1366 return 1367 } 1368 if err != nil { 1369 return 1370 } 1371 } 1372 } 1373 default: 1374 bts, err = msgp.Skip(bts) 1375 if err != nil { 1376 return 1377 } 1378 } 1379 } 1380 if nextMiss28zgensym_754b0115c175ee89_29 != -1 { 1381 bts = nbs.PopAlwaysNil() 1382 } 1383 1384 } 1385 z.Structs[zgensym_754b0115c175ee89_10] = zgensym_754b0115c175ee89_11 1386 } 1387 } 1388 case "Imports": 1389 found25zgensym_754b0115c175ee89_26[4] = true 1390 if nbs.AlwaysNil { 1391 (z.Imports) = (z.Imports)[:0] 1392 } else { 1393 1394 var zgensym_754b0115c175ee89_31 uint32 1395 zgensym_754b0115c175ee89_31, bts, err = nbs.ReadArrayHeaderBytes(bts) 1396 if err != nil { 1397 return 1398 } 1399 if cap(z.Imports) >= int(zgensym_754b0115c175ee89_31) { 1400 z.Imports = (z.Imports)[:zgensym_754b0115c175ee89_31] 1401 } else { 1402 z.Imports = make([]string, zgensym_754b0115c175ee89_31) 1403 } 1404 for zgensym_754b0115c175ee89_13 := range z.Imports { 1405 z.Imports[zgensym_754b0115c175ee89_13], bts, err = nbs.ReadStringBytes(bts) 1406 1407 if err != nil { 1408 return 1409 } 1410 } 1411 } 1412 default: 1413 bts, err = msgp.Skip(bts) 1414 if err != nil { 1415 return 1416 } 1417 } 1418 } 1419 if nextMiss25zgensym_754b0115c175ee89_26 != -1 { 1420 bts = nbs.PopAlwaysNil() 1421 } 1422 1423 if sawTopNil { 1424 bts = nbs.PopAlwaysNil() 1425 } 1426 o = bts 1427 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1428 p.PostLoadHook() 1429 } 1430 1431 return 1432 } 1433 1434 // fields of Schema 1435 var unmarshalMsgFieldOrder25zgensym_754b0115c175ee89_26 = []string{"SourcePath", "SourcePackage", "ZebraSchemaId", "Structs", "Imports"} 1436 1437 var unmarshalMsgFieldSkip25zgensym_754b0115c175ee89_26 = []bool{false, false, false, false, false} 1438 1439 // fields of Struct 1440 var unmarshalMsgFieldOrder28zgensym_754b0115c175ee89_29 = []string{"StructName", "Fields"} 1441 1442 var unmarshalMsgFieldSkip28zgensym_754b0115c175ee89_29 = []bool{false, false} 1443 1444 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1445 func (z *Schema) Msgsize() (s int) { 1446 s = 1 + 11 + msgp.StringPrefixSize + len(z.SourcePath) + 14 + msgp.StringPrefixSize + len(z.SourcePackage) + 14 + msgp.Int64Size + 8 + msgp.MapHeaderSize 1447 if z.Structs != nil { 1448 for zgensym_754b0115c175ee89_10, zgensym_754b0115c175ee89_11 := range z.Structs { 1449 _ = zgensym_754b0115c175ee89_11 1450 _ = zgensym_754b0115c175ee89_10 1451 s += msgp.StringPrefixSize + len(zgensym_754b0115c175ee89_10) 1452 if zgensym_754b0115c175ee89_11 == nil { 1453 s += msgp.NilSize 1454 } else { 1455 s += 1 + 11 + msgp.StringPrefixSize + len(zgensym_754b0115c175ee89_11.StructName) + 7 + msgp.ArrayHeaderSize 1456 for zgensym_754b0115c175ee89_12 := range zgensym_754b0115c175ee89_11.Fields { 1457 s += zgensym_754b0115c175ee89_11.Fields[zgensym_754b0115c175ee89_12].Msgsize() 1458 } 1459 } 1460 } 1461 } 1462 s += 8 + msgp.ArrayHeaderSize 1463 for zgensym_754b0115c175ee89_13 := range z.Imports { 1464 s += msgp.StringPrefixSize + len(z.Imports[zgensym_754b0115c175ee89_13]) 1465 } 1466 return 1467 } 1468 1469 // DecodeMsg implements msgp.Decodable 1470 // We treat empty fields as if we read a Nil from the wire. 1471 func (z *Struct) DecodeMsg(dc *msgp.Reader) (err error) { 1472 var sawTopNil bool 1473 if dc.IsNil() { 1474 sawTopNil = true 1475 err = dc.ReadNil() 1476 if err != nil { 1477 return 1478 } 1479 dc.PushAlwaysNil() 1480 } 1481 1482 var field []byte 1483 _ = field 1484 const maxFields33zgensym_754b0115c175ee89_34 = 2 1485 1486 // -- templateDecodeMsg starts here-- 1487 var totalEncodedFields33zgensym_754b0115c175ee89_34 uint32 1488 totalEncodedFields33zgensym_754b0115c175ee89_34, err = dc.ReadMapHeader() 1489 if err != nil { 1490 return 1491 } 1492 encodedFieldsLeft33zgensym_754b0115c175ee89_34 := totalEncodedFields33zgensym_754b0115c175ee89_34 1493 missingFieldsLeft33zgensym_754b0115c175ee89_34 := maxFields33zgensym_754b0115c175ee89_34 - totalEncodedFields33zgensym_754b0115c175ee89_34 1494 1495 var nextMiss33zgensym_754b0115c175ee89_34 int32 = -1 1496 var found33zgensym_754b0115c175ee89_34 [maxFields33zgensym_754b0115c175ee89_34]bool 1497 var curField33zgensym_754b0115c175ee89_34 string 1498 1499 doneWithStruct33zgensym_754b0115c175ee89_34: 1500 // First fill all the encoded fields, then 1501 // treat the remaining, missing fields, as Nil. 1502 for encodedFieldsLeft33zgensym_754b0115c175ee89_34 > 0 || missingFieldsLeft33zgensym_754b0115c175ee89_34 > 0 { 1503 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft33zgensym_754b0115c175ee89_34, missingFieldsLeft33zgensym_754b0115c175ee89_34, msgp.ShowFound(found33zgensym_754b0115c175ee89_34[:]), decodeMsgFieldOrder33zgensym_754b0115c175ee89_34) 1504 if encodedFieldsLeft33zgensym_754b0115c175ee89_34 > 0 { 1505 encodedFieldsLeft33zgensym_754b0115c175ee89_34-- 1506 field, err = dc.ReadMapKeyPtr() 1507 if err != nil { 1508 return 1509 } 1510 curField33zgensym_754b0115c175ee89_34 = msgp.UnsafeString(field) 1511 } else { 1512 //missing fields need handling 1513 if nextMiss33zgensym_754b0115c175ee89_34 < 0 { 1514 // tell the reader to only give us Nils 1515 // until further notice. 1516 dc.PushAlwaysNil() 1517 nextMiss33zgensym_754b0115c175ee89_34 = 0 1518 } 1519 for nextMiss33zgensym_754b0115c175ee89_34 < maxFields33zgensym_754b0115c175ee89_34 && (found33zgensym_754b0115c175ee89_34[nextMiss33zgensym_754b0115c175ee89_34] || decodeMsgFieldSkip33zgensym_754b0115c175ee89_34[nextMiss33zgensym_754b0115c175ee89_34]) { 1520 nextMiss33zgensym_754b0115c175ee89_34++ 1521 } 1522 if nextMiss33zgensym_754b0115c175ee89_34 == maxFields33zgensym_754b0115c175ee89_34 { 1523 // filled all the empty fields! 1524 break doneWithStruct33zgensym_754b0115c175ee89_34 1525 } 1526 missingFieldsLeft33zgensym_754b0115c175ee89_34-- 1527 curField33zgensym_754b0115c175ee89_34 = decodeMsgFieldOrder33zgensym_754b0115c175ee89_34[nextMiss33zgensym_754b0115c175ee89_34] 1528 } 1529 //fmt.Printf("switching on curField: '%v'\n", curField33zgensym_754b0115c175ee89_34) 1530 switch curField33zgensym_754b0115c175ee89_34 { 1531 // -- templateDecodeMsg ends here -- 1532 1533 case "StructName": 1534 found33zgensym_754b0115c175ee89_34[0] = true 1535 z.StructName, err = dc.ReadString() 1536 if err != nil { 1537 return 1538 } 1539 case "Fields": 1540 found33zgensym_754b0115c175ee89_34[1] = true 1541 var zgensym_754b0115c175ee89_35 uint32 1542 zgensym_754b0115c175ee89_35, err = dc.ReadArrayHeader() 1543 if err != nil { 1544 return 1545 } 1546 if cap(z.Fields) >= int(zgensym_754b0115c175ee89_35) { 1547 z.Fields = (z.Fields)[:zgensym_754b0115c175ee89_35] 1548 } else { 1549 z.Fields = make([]Field, zgensym_754b0115c175ee89_35) 1550 } 1551 for zgensym_754b0115c175ee89_32 := range z.Fields { 1552 err = z.Fields[zgensym_754b0115c175ee89_32].DecodeMsg(dc) 1553 if err != nil { 1554 return 1555 } 1556 } 1557 default: 1558 err = dc.Skip() 1559 if err != nil { 1560 return 1561 } 1562 } 1563 } 1564 if nextMiss33zgensym_754b0115c175ee89_34 != -1 { 1565 dc.PopAlwaysNil() 1566 } 1567 1568 if sawTopNil { 1569 dc.PopAlwaysNil() 1570 } 1571 1572 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1573 p.PostLoadHook() 1574 } 1575 1576 return 1577 } 1578 1579 // fields of Struct 1580 var decodeMsgFieldOrder33zgensym_754b0115c175ee89_34 = []string{"StructName", "Fields"} 1581 1582 var decodeMsgFieldSkip33zgensym_754b0115c175ee89_34 = []bool{false, false} 1583 1584 // fieldsNotEmpty supports omitempty tags 1585 func (z *Struct) fieldsNotEmpty(isempty []bool) uint32 { 1586 if len(isempty) == 0 { 1587 return 2 1588 } 1589 var fieldsInUse uint32 = 2 1590 isempty[0] = (len(z.StructName) == 0) // string, omitempty 1591 if isempty[0] { 1592 fieldsInUse-- 1593 } 1594 isempty[1] = (len(z.Fields) == 0) // string, omitempty 1595 if isempty[1] { 1596 fieldsInUse-- 1597 } 1598 1599 return fieldsInUse 1600 } 1601 1602 // EncodeMsg implements msgp.Encodable 1603 func (z *Struct) EncodeMsg(en *msgp.Writer) (err error) { 1604 if p, ok := interface{}(z).(msgp.PreSave); ok { 1605 p.PreSaveHook() 1606 } 1607 1608 // honor the omitempty tags 1609 var empty_zgensym_754b0115c175ee89_36 [2]bool 1610 fieldsInUse_zgensym_754b0115c175ee89_37 := z.fieldsNotEmpty(empty_zgensym_754b0115c175ee89_36[:]) 1611 1612 // map header 1613 err = en.WriteMapHeader(fieldsInUse_zgensym_754b0115c175ee89_37) 1614 if err != nil { 1615 return err 1616 } 1617 1618 if !empty_zgensym_754b0115c175ee89_36[0] { 1619 // write "StructName" 1620 err = en.Append(0xaa, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65) 1621 if err != nil { 1622 return err 1623 } 1624 err = en.WriteString(z.StructName) 1625 if err != nil { 1626 return 1627 } 1628 } 1629 1630 if !empty_zgensym_754b0115c175ee89_36[1] { 1631 // write "Fields" 1632 err = en.Append(0xa6, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73) 1633 if err != nil { 1634 return err 1635 } 1636 err = en.WriteArrayHeader(uint32(len(z.Fields))) 1637 if err != nil { 1638 return 1639 } 1640 for zgensym_754b0115c175ee89_32 := range z.Fields { 1641 err = z.Fields[zgensym_754b0115c175ee89_32].EncodeMsg(en) 1642 if err != nil { 1643 return 1644 } 1645 } 1646 } 1647 1648 return 1649 } 1650 1651 // MarshalMsg implements msgp.Marshaler 1652 func (z *Struct) MarshalMsg(b []byte) (o []byte, err error) { 1653 if p, ok := interface{}(z).(msgp.PreSave); ok { 1654 p.PreSaveHook() 1655 } 1656 1657 o = msgp.Require(b, z.Msgsize()) 1658 1659 // honor the omitempty tags 1660 var empty [2]bool 1661 fieldsInUse := z.fieldsNotEmpty(empty[:]) 1662 o = msgp.AppendMapHeader(o, fieldsInUse) 1663 1664 if !empty[0] { 1665 // string "StructName" 1666 o = append(o, 0xaa, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65) 1667 o = msgp.AppendString(o, z.StructName) 1668 } 1669 1670 if !empty[1] { 1671 // string "Fields" 1672 o = append(o, 0xa6, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73) 1673 o = msgp.AppendArrayHeader(o, uint32(len(z.Fields))) 1674 for zgensym_754b0115c175ee89_32 := range z.Fields { 1675 o, err = z.Fields[zgensym_754b0115c175ee89_32].MarshalMsg(o) 1676 if err != nil { 1677 return 1678 } 1679 } 1680 } 1681 1682 return 1683 } 1684 1685 // UnmarshalMsg implements msgp.Unmarshaler 1686 func (z *Struct) UnmarshalMsg(bts []byte) (o []byte, err error) { 1687 return z.UnmarshalMsgWithCfg(bts, nil) 1688 } 1689 func (z *Struct) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 1690 var nbs msgp.NilBitsStack 1691 nbs.Init(cfg) 1692 var sawTopNil bool 1693 if msgp.IsNil(bts) { 1694 sawTopNil = true 1695 bts = nbs.PushAlwaysNil(bts[1:]) 1696 } 1697 1698 var field []byte 1699 _ = field 1700 const maxFields38zgensym_754b0115c175ee89_39 = 2 1701 1702 // -- templateUnmarshalMsg starts here-- 1703 var totalEncodedFields38zgensym_754b0115c175ee89_39 uint32 1704 if !nbs.AlwaysNil { 1705 totalEncodedFields38zgensym_754b0115c175ee89_39, bts, err = nbs.ReadMapHeaderBytes(bts) 1706 if err != nil { 1707 return 1708 } 1709 } 1710 encodedFieldsLeft38zgensym_754b0115c175ee89_39 := totalEncodedFields38zgensym_754b0115c175ee89_39 1711 missingFieldsLeft38zgensym_754b0115c175ee89_39 := maxFields38zgensym_754b0115c175ee89_39 - totalEncodedFields38zgensym_754b0115c175ee89_39 1712 1713 var nextMiss38zgensym_754b0115c175ee89_39 int32 = -1 1714 var found38zgensym_754b0115c175ee89_39 [maxFields38zgensym_754b0115c175ee89_39]bool 1715 var curField38zgensym_754b0115c175ee89_39 string 1716 1717 doneWithStruct38zgensym_754b0115c175ee89_39: 1718 // First fill all the encoded fields, then 1719 // treat the remaining, missing fields, as Nil. 1720 for encodedFieldsLeft38zgensym_754b0115c175ee89_39 > 0 || missingFieldsLeft38zgensym_754b0115c175ee89_39 > 0 { 1721 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft38zgensym_754b0115c175ee89_39, missingFieldsLeft38zgensym_754b0115c175ee89_39, msgp.ShowFound(found38zgensym_754b0115c175ee89_39[:]), unmarshalMsgFieldOrder38zgensym_754b0115c175ee89_39) 1722 if encodedFieldsLeft38zgensym_754b0115c175ee89_39 > 0 { 1723 encodedFieldsLeft38zgensym_754b0115c175ee89_39-- 1724 field, bts, err = nbs.ReadMapKeyZC(bts) 1725 if err != nil { 1726 return 1727 } 1728 curField38zgensym_754b0115c175ee89_39 = msgp.UnsafeString(field) 1729 } else { 1730 //missing fields need handling 1731 if nextMiss38zgensym_754b0115c175ee89_39 < 0 { 1732 // set bts to contain just mnil (0xc0) 1733 bts = nbs.PushAlwaysNil(bts) 1734 nextMiss38zgensym_754b0115c175ee89_39 = 0 1735 } 1736 for nextMiss38zgensym_754b0115c175ee89_39 < maxFields38zgensym_754b0115c175ee89_39 && (found38zgensym_754b0115c175ee89_39[nextMiss38zgensym_754b0115c175ee89_39] || unmarshalMsgFieldSkip38zgensym_754b0115c175ee89_39[nextMiss38zgensym_754b0115c175ee89_39]) { 1737 nextMiss38zgensym_754b0115c175ee89_39++ 1738 } 1739 if nextMiss38zgensym_754b0115c175ee89_39 == maxFields38zgensym_754b0115c175ee89_39 { 1740 // filled all the empty fields! 1741 break doneWithStruct38zgensym_754b0115c175ee89_39 1742 } 1743 missingFieldsLeft38zgensym_754b0115c175ee89_39-- 1744 curField38zgensym_754b0115c175ee89_39 = unmarshalMsgFieldOrder38zgensym_754b0115c175ee89_39[nextMiss38zgensym_754b0115c175ee89_39] 1745 } 1746 //fmt.Printf("switching on curField: '%v'\n", curField38zgensym_754b0115c175ee89_39) 1747 switch curField38zgensym_754b0115c175ee89_39 { 1748 // -- templateUnmarshalMsg ends here -- 1749 1750 case "StructName": 1751 found38zgensym_754b0115c175ee89_39[0] = true 1752 z.StructName, bts, err = nbs.ReadStringBytes(bts) 1753 1754 if err != nil { 1755 return 1756 } 1757 case "Fields": 1758 found38zgensym_754b0115c175ee89_39[1] = true 1759 if nbs.AlwaysNil { 1760 (z.Fields) = (z.Fields)[:0] 1761 } else { 1762 1763 var zgensym_754b0115c175ee89_40 uint32 1764 zgensym_754b0115c175ee89_40, bts, err = nbs.ReadArrayHeaderBytes(bts) 1765 if err != nil { 1766 return 1767 } 1768 if cap(z.Fields) >= int(zgensym_754b0115c175ee89_40) { 1769 z.Fields = (z.Fields)[:zgensym_754b0115c175ee89_40] 1770 } else { 1771 z.Fields = make([]Field, zgensym_754b0115c175ee89_40) 1772 } 1773 for zgensym_754b0115c175ee89_32 := range z.Fields { 1774 bts, err = z.Fields[zgensym_754b0115c175ee89_32].UnmarshalMsg(bts) 1775 if err != nil { 1776 return 1777 } 1778 if err != nil { 1779 return 1780 } 1781 } 1782 } 1783 default: 1784 bts, err = msgp.Skip(bts) 1785 if err != nil { 1786 return 1787 } 1788 } 1789 } 1790 if nextMiss38zgensym_754b0115c175ee89_39 != -1 { 1791 bts = nbs.PopAlwaysNil() 1792 } 1793 1794 if sawTopNil { 1795 bts = nbs.PopAlwaysNil() 1796 } 1797 o = bts 1798 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1799 p.PostLoadHook() 1800 } 1801 1802 return 1803 } 1804 1805 // fields of Struct 1806 var unmarshalMsgFieldOrder38zgensym_754b0115c175ee89_39 = []string{"StructName", "Fields"} 1807 1808 var unmarshalMsgFieldSkip38zgensym_754b0115c175ee89_39 = []bool{false, false} 1809 1810 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1811 func (z *Struct) Msgsize() (s int) { 1812 s = 1 + 11 + msgp.StringPrefixSize + len(z.StructName) + 7 + msgp.ArrayHeaderSize 1813 for zgensym_754b0115c175ee89_32 := range z.Fields { 1814 s += z.Fields[zgensym_754b0115c175ee89_32].Msgsize() 1815 } 1816 return 1817 } 1818 1819 // DecodeMsg implements msgp.Decodable 1820 // We treat empty fields as if we read a Nil from the wire. 1821 func (z *Zkind) DecodeMsg(dc *msgp.Reader) (err error) { 1822 var sawTopNil bool 1823 if dc.IsNil() { 1824 sawTopNil = true 1825 err = dc.ReadNil() 1826 if err != nil { 1827 return 1828 } 1829 dc.PushAlwaysNil() 1830 } 1831 1832 { 1833 var zgensym_754b0115c175ee89_41 uint64 1834 zgensym_754b0115c175ee89_41, err = dc.ReadUint64() 1835 (*z) = Zkind(zgensym_754b0115c175ee89_41) 1836 } 1837 if err != nil { 1838 return 1839 } 1840 if sawTopNil { 1841 dc.PopAlwaysNil() 1842 } 1843 1844 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1845 p.PostLoadHook() 1846 } 1847 1848 return 1849 } 1850 1851 // EncodeMsg implements msgp.Encodable 1852 func (z Zkind) EncodeMsg(en *msgp.Writer) (err error) { 1853 if p, ok := interface{}(z).(msgp.PreSave); ok { 1854 p.PreSaveHook() 1855 } 1856 1857 err = en.WriteUint64(uint64(z)) 1858 if err != nil { 1859 return 1860 } 1861 return 1862 } 1863 1864 // MarshalMsg implements msgp.Marshaler 1865 func (z Zkind) MarshalMsg(b []byte) (o []byte, err error) { 1866 if p, ok := interface{}(z).(msgp.PreSave); ok { 1867 p.PreSaveHook() 1868 } 1869 1870 o = msgp.Require(b, z.Msgsize()) 1871 o = msgp.AppendUint64(o, uint64(z)) 1872 return 1873 } 1874 1875 // UnmarshalMsg implements msgp.Unmarshaler 1876 func (z *Zkind) UnmarshalMsg(bts []byte) (o []byte, err error) { 1877 return z.UnmarshalMsgWithCfg(bts, nil) 1878 } 1879 func (z *Zkind) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 1880 var nbs msgp.NilBitsStack 1881 nbs.Init(cfg) 1882 var sawTopNil bool 1883 if msgp.IsNil(bts) { 1884 sawTopNil = true 1885 bts = nbs.PushAlwaysNil(bts[1:]) 1886 } 1887 1888 { 1889 var zgensym_754b0115c175ee89_42 uint64 1890 zgensym_754b0115c175ee89_42, bts, err = nbs.ReadUint64Bytes(bts) 1891 1892 if err != nil { 1893 return 1894 } 1895 (*z) = Zkind(zgensym_754b0115c175ee89_42) 1896 } 1897 if sawTopNil { 1898 bts = nbs.PopAlwaysNil() 1899 } 1900 o = bts 1901 if p, ok := interface{}(z).(msgp.PostLoad); ok { 1902 p.PostLoadHook() 1903 } 1904 1905 return 1906 } 1907 1908 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 1909 func (z Zkind) Msgsize() (s int) { 1910 s = msgp.Uint64Size 1911 return 1912 } 1913 1914 // DecodeMsg implements msgp.Decodable 1915 // We treat empty fields as if we read a Nil from the wire. 1916 func (z *Ztype) DecodeMsg(dc *msgp.Reader) (err error) { 1917 var sawTopNil bool 1918 if dc.IsNil() { 1919 sawTopNil = true 1920 err = dc.ReadNil() 1921 if err != nil { 1922 return 1923 } 1924 dc.PushAlwaysNil() 1925 } 1926 1927 var field []byte 1928 _ = field 1929 const maxFields43zgensym_754b0115c175ee89_44 = 4 1930 1931 // -- templateDecodeMsg starts here-- 1932 var totalEncodedFields43zgensym_754b0115c175ee89_44 uint32 1933 totalEncodedFields43zgensym_754b0115c175ee89_44, err = dc.ReadMapHeader() 1934 if err != nil { 1935 return 1936 } 1937 encodedFieldsLeft43zgensym_754b0115c175ee89_44 := totalEncodedFields43zgensym_754b0115c175ee89_44 1938 missingFieldsLeft43zgensym_754b0115c175ee89_44 := maxFields43zgensym_754b0115c175ee89_44 - totalEncodedFields43zgensym_754b0115c175ee89_44 1939 1940 var nextMiss43zgensym_754b0115c175ee89_44 int32 = -1 1941 var found43zgensym_754b0115c175ee89_44 [maxFields43zgensym_754b0115c175ee89_44]bool 1942 var curField43zgensym_754b0115c175ee89_44 string 1943 1944 doneWithStruct43zgensym_754b0115c175ee89_44: 1945 // First fill all the encoded fields, then 1946 // treat the remaining, missing fields, as Nil. 1947 for encodedFieldsLeft43zgensym_754b0115c175ee89_44 > 0 || missingFieldsLeft43zgensym_754b0115c175ee89_44 > 0 { 1948 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft43zgensym_754b0115c175ee89_44, missingFieldsLeft43zgensym_754b0115c175ee89_44, msgp.ShowFound(found43zgensym_754b0115c175ee89_44[:]), decodeMsgFieldOrder43zgensym_754b0115c175ee89_44) 1949 if encodedFieldsLeft43zgensym_754b0115c175ee89_44 > 0 { 1950 encodedFieldsLeft43zgensym_754b0115c175ee89_44-- 1951 field, err = dc.ReadMapKeyPtr() 1952 if err != nil { 1953 return 1954 } 1955 curField43zgensym_754b0115c175ee89_44 = msgp.UnsafeString(field) 1956 } else { 1957 //missing fields need handling 1958 if nextMiss43zgensym_754b0115c175ee89_44 < 0 { 1959 // tell the reader to only give us Nils 1960 // until further notice. 1961 dc.PushAlwaysNil() 1962 nextMiss43zgensym_754b0115c175ee89_44 = 0 1963 } 1964 for nextMiss43zgensym_754b0115c175ee89_44 < maxFields43zgensym_754b0115c175ee89_44 && (found43zgensym_754b0115c175ee89_44[nextMiss43zgensym_754b0115c175ee89_44] || decodeMsgFieldSkip43zgensym_754b0115c175ee89_44[nextMiss43zgensym_754b0115c175ee89_44]) { 1965 nextMiss43zgensym_754b0115c175ee89_44++ 1966 } 1967 if nextMiss43zgensym_754b0115c175ee89_44 == maxFields43zgensym_754b0115c175ee89_44 { 1968 // filled all the empty fields! 1969 break doneWithStruct43zgensym_754b0115c175ee89_44 1970 } 1971 missingFieldsLeft43zgensym_754b0115c175ee89_44-- 1972 curField43zgensym_754b0115c175ee89_44 = decodeMsgFieldOrder43zgensym_754b0115c175ee89_44[nextMiss43zgensym_754b0115c175ee89_44] 1973 } 1974 //fmt.Printf("switching on curField: '%v'\n", curField43zgensym_754b0115c175ee89_44) 1975 switch curField43zgensym_754b0115c175ee89_44 { 1976 // -- templateDecodeMsg ends here -- 1977 1978 case "Kind": 1979 found43zgensym_754b0115c175ee89_44[0] = true 1980 { 1981 var zgensym_754b0115c175ee89_45 uint64 1982 zgensym_754b0115c175ee89_45, err = dc.ReadUint64() 1983 z.Kind = Zkind(zgensym_754b0115c175ee89_45) 1984 } 1985 if err != nil { 1986 return 1987 } 1988 case "Str": 1989 found43zgensym_754b0115c175ee89_44[1] = true 1990 z.Str, err = dc.ReadString() 1991 if err != nil { 1992 return 1993 } 1994 case "Domain": 1995 found43zgensym_754b0115c175ee89_44[2] = true 1996 if dc.IsNil() { 1997 err = dc.ReadNil() 1998 if err != nil { 1999 return 2000 } 2001 2002 if z.Domain != nil { 2003 dc.PushAlwaysNil() 2004 err = z.Domain.DecodeMsg(dc) 2005 if err != nil { 2006 return 2007 } 2008 dc.PopAlwaysNil() 2009 } 2010 } else { 2011 // not Nil, we have something to read 2012 2013 if z.Domain == nil { 2014 z.Domain = new(Ztype) 2015 } 2016 err = z.Domain.DecodeMsg(dc) 2017 if err != nil { 2018 return 2019 } 2020 } 2021 case "Range": 2022 found43zgensym_754b0115c175ee89_44[3] = true 2023 if dc.IsNil() { 2024 err = dc.ReadNil() 2025 if err != nil { 2026 return 2027 } 2028 2029 if z.Range != nil { 2030 dc.PushAlwaysNil() 2031 err = z.Range.DecodeMsg(dc) 2032 if err != nil { 2033 return 2034 } 2035 dc.PopAlwaysNil() 2036 } 2037 } else { 2038 // not Nil, we have something to read 2039 2040 if z.Range == nil { 2041 z.Range = new(Ztype) 2042 } 2043 err = z.Range.DecodeMsg(dc) 2044 if err != nil { 2045 return 2046 } 2047 } 2048 default: 2049 err = dc.Skip() 2050 if err != nil { 2051 return 2052 } 2053 } 2054 } 2055 if nextMiss43zgensym_754b0115c175ee89_44 != -1 { 2056 dc.PopAlwaysNil() 2057 } 2058 2059 if sawTopNil { 2060 dc.PopAlwaysNil() 2061 } 2062 2063 if p, ok := interface{}(z).(msgp.PostLoad); ok { 2064 p.PostLoadHook() 2065 } 2066 2067 return 2068 } 2069 2070 // fields of Ztype 2071 var decodeMsgFieldOrder43zgensym_754b0115c175ee89_44 = []string{"Kind", "Str", "Domain", "Range"} 2072 2073 var decodeMsgFieldSkip43zgensym_754b0115c175ee89_44 = []bool{false, false, false, false} 2074 2075 // fieldsNotEmpty supports omitempty tags 2076 func (z *Ztype) fieldsNotEmpty(isempty []bool) uint32 { 2077 if len(isempty) == 0 { 2078 return 4 2079 } 2080 var fieldsInUse uint32 = 4 2081 isempty[1] = (len(z.Str) == 0) // string, omitempty 2082 if isempty[1] { 2083 fieldsInUse-- 2084 } 2085 isempty[2] = (z.Domain == nil) // pointer, omitempty 2086 if isempty[2] { 2087 fieldsInUse-- 2088 } 2089 isempty[3] = (z.Range == nil) // pointer, omitempty 2090 if isempty[3] { 2091 fieldsInUse-- 2092 } 2093 2094 return fieldsInUse 2095 } 2096 2097 // EncodeMsg implements msgp.Encodable 2098 func (z *Ztype) EncodeMsg(en *msgp.Writer) (err error) { 2099 if p, ok := interface{}(z).(msgp.PreSave); ok { 2100 p.PreSaveHook() 2101 } 2102 2103 // honor the omitempty tags 2104 var empty_zgensym_754b0115c175ee89_46 [4]bool 2105 fieldsInUse_zgensym_754b0115c175ee89_47 := z.fieldsNotEmpty(empty_zgensym_754b0115c175ee89_46[:]) 2106 2107 // map header 2108 err = en.WriteMapHeader(fieldsInUse_zgensym_754b0115c175ee89_47) 2109 if err != nil { 2110 return err 2111 } 2112 2113 // write "Kind" 2114 err = en.Append(0xa4, 0x4b, 0x69, 0x6e, 0x64) 2115 if err != nil { 2116 return err 2117 } 2118 err = en.WriteUint64(uint64(z.Kind)) 2119 if err != nil { 2120 return 2121 } 2122 if !empty_zgensym_754b0115c175ee89_46[1] { 2123 // write "Str" 2124 err = en.Append(0xa3, 0x53, 0x74, 0x72) 2125 if err != nil { 2126 return err 2127 } 2128 err = en.WriteString(z.Str) 2129 if err != nil { 2130 return 2131 } 2132 } 2133 2134 if !empty_zgensym_754b0115c175ee89_46[2] { 2135 // write "Domain" 2136 err = en.Append(0xa6, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e) 2137 if err != nil { 2138 return err 2139 } 2140 if z.Domain == nil { 2141 err = en.WriteNil() 2142 if err != nil { 2143 return 2144 } 2145 } else { 2146 err = z.Domain.EncodeMsg(en) 2147 if err != nil { 2148 return 2149 } 2150 } 2151 } 2152 2153 if !empty_zgensym_754b0115c175ee89_46[3] { 2154 // write "Range" 2155 err = en.Append(0xa5, 0x52, 0x61, 0x6e, 0x67, 0x65) 2156 if err != nil { 2157 return err 2158 } 2159 if z.Range == nil { 2160 err = en.WriteNil() 2161 if err != nil { 2162 return 2163 } 2164 } else { 2165 err = z.Range.EncodeMsg(en) 2166 if err != nil { 2167 return 2168 } 2169 } 2170 } 2171 2172 return 2173 } 2174 2175 // MarshalMsg implements msgp.Marshaler 2176 func (z *Ztype) MarshalMsg(b []byte) (o []byte, err error) { 2177 if p, ok := interface{}(z).(msgp.PreSave); ok { 2178 p.PreSaveHook() 2179 } 2180 2181 o = msgp.Require(b, z.Msgsize()) 2182 2183 // honor the omitempty tags 2184 var empty [4]bool 2185 fieldsInUse := z.fieldsNotEmpty(empty[:]) 2186 o = msgp.AppendMapHeader(o, fieldsInUse) 2187 2188 // string "Kind" 2189 o = append(o, 0xa4, 0x4b, 0x69, 0x6e, 0x64) 2190 o = msgp.AppendUint64(o, uint64(z.Kind)) 2191 if !empty[1] { 2192 // string "Str" 2193 o = append(o, 0xa3, 0x53, 0x74, 0x72) 2194 o = msgp.AppendString(o, z.Str) 2195 } 2196 2197 if !empty[2] { 2198 // string "Domain" 2199 o = append(o, 0xa6, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e) 2200 if z.Domain == nil { 2201 o = msgp.AppendNil(o) 2202 } else { 2203 o, err = z.Domain.MarshalMsg(o) 2204 if err != nil { 2205 return 2206 } 2207 } 2208 } 2209 2210 if !empty[3] { 2211 // string "Range" 2212 o = append(o, 0xa5, 0x52, 0x61, 0x6e, 0x67, 0x65) 2213 if z.Range == nil { 2214 o = msgp.AppendNil(o) 2215 } else { 2216 o, err = z.Range.MarshalMsg(o) 2217 if err != nil { 2218 return 2219 } 2220 } 2221 } 2222 2223 return 2224 } 2225 2226 // UnmarshalMsg implements msgp.Unmarshaler 2227 func (z *Ztype) UnmarshalMsg(bts []byte) (o []byte, err error) { 2228 return z.UnmarshalMsgWithCfg(bts, nil) 2229 } 2230 func (z *Ztype) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) { 2231 var nbs msgp.NilBitsStack 2232 nbs.Init(cfg) 2233 var sawTopNil bool 2234 if msgp.IsNil(bts) { 2235 sawTopNil = true 2236 bts = nbs.PushAlwaysNil(bts[1:]) 2237 } 2238 2239 var field []byte 2240 _ = field 2241 const maxFields48zgensym_754b0115c175ee89_49 = 4 2242 2243 // -- templateUnmarshalMsg starts here-- 2244 var totalEncodedFields48zgensym_754b0115c175ee89_49 uint32 2245 if !nbs.AlwaysNil { 2246 totalEncodedFields48zgensym_754b0115c175ee89_49, bts, err = nbs.ReadMapHeaderBytes(bts) 2247 if err != nil { 2248 return 2249 } 2250 } 2251 encodedFieldsLeft48zgensym_754b0115c175ee89_49 := totalEncodedFields48zgensym_754b0115c175ee89_49 2252 missingFieldsLeft48zgensym_754b0115c175ee89_49 := maxFields48zgensym_754b0115c175ee89_49 - totalEncodedFields48zgensym_754b0115c175ee89_49 2253 2254 var nextMiss48zgensym_754b0115c175ee89_49 int32 = -1 2255 var found48zgensym_754b0115c175ee89_49 [maxFields48zgensym_754b0115c175ee89_49]bool 2256 var curField48zgensym_754b0115c175ee89_49 string 2257 2258 doneWithStruct48zgensym_754b0115c175ee89_49: 2259 // First fill all the encoded fields, then 2260 // treat the remaining, missing fields, as Nil. 2261 for encodedFieldsLeft48zgensym_754b0115c175ee89_49 > 0 || missingFieldsLeft48zgensym_754b0115c175ee89_49 > 0 { 2262 //fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft48zgensym_754b0115c175ee89_49, missingFieldsLeft48zgensym_754b0115c175ee89_49, msgp.ShowFound(found48zgensym_754b0115c175ee89_49[:]), unmarshalMsgFieldOrder48zgensym_754b0115c175ee89_49) 2263 if encodedFieldsLeft48zgensym_754b0115c175ee89_49 > 0 { 2264 encodedFieldsLeft48zgensym_754b0115c175ee89_49-- 2265 field, bts, err = nbs.ReadMapKeyZC(bts) 2266 if err != nil { 2267 return 2268 } 2269 curField48zgensym_754b0115c175ee89_49 = msgp.UnsafeString(field) 2270 } else { 2271 //missing fields need handling 2272 if nextMiss48zgensym_754b0115c175ee89_49 < 0 { 2273 // set bts to contain just mnil (0xc0) 2274 bts = nbs.PushAlwaysNil(bts) 2275 nextMiss48zgensym_754b0115c175ee89_49 = 0 2276 } 2277 for nextMiss48zgensym_754b0115c175ee89_49 < maxFields48zgensym_754b0115c175ee89_49 && (found48zgensym_754b0115c175ee89_49[nextMiss48zgensym_754b0115c175ee89_49] || unmarshalMsgFieldSkip48zgensym_754b0115c175ee89_49[nextMiss48zgensym_754b0115c175ee89_49]) { 2278 nextMiss48zgensym_754b0115c175ee89_49++ 2279 } 2280 if nextMiss48zgensym_754b0115c175ee89_49 == maxFields48zgensym_754b0115c175ee89_49 { 2281 // filled all the empty fields! 2282 break doneWithStruct48zgensym_754b0115c175ee89_49 2283 } 2284 missingFieldsLeft48zgensym_754b0115c175ee89_49-- 2285 curField48zgensym_754b0115c175ee89_49 = unmarshalMsgFieldOrder48zgensym_754b0115c175ee89_49[nextMiss48zgensym_754b0115c175ee89_49] 2286 } 2287 //fmt.Printf("switching on curField: '%v'\n", curField48zgensym_754b0115c175ee89_49) 2288 switch curField48zgensym_754b0115c175ee89_49 { 2289 // -- templateUnmarshalMsg ends here -- 2290 2291 case "Kind": 2292 found48zgensym_754b0115c175ee89_49[0] = true 2293 { 2294 var zgensym_754b0115c175ee89_50 uint64 2295 zgensym_754b0115c175ee89_50, bts, err = nbs.ReadUint64Bytes(bts) 2296 2297 if err != nil { 2298 return 2299 } 2300 z.Kind = Zkind(zgensym_754b0115c175ee89_50) 2301 } 2302 case "Str": 2303 found48zgensym_754b0115c175ee89_49[1] = true 2304 z.Str, bts, err = nbs.ReadStringBytes(bts) 2305 2306 if err != nil { 2307 return 2308 } 2309 case "Domain": 2310 found48zgensym_754b0115c175ee89_49[2] = true 2311 if nbs.AlwaysNil { 2312 if z.Domain != nil { 2313 z.Domain.UnmarshalMsg(msgp.OnlyNilSlice) 2314 } 2315 } else { 2316 // not nbs.AlwaysNil 2317 if msgp.IsNil(bts) { 2318 bts = bts[1:] 2319 if nil != z.Domain { 2320 z.Domain.UnmarshalMsg(msgp.OnlyNilSlice) 2321 } 2322 } else { 2323 // not nbs.AlwaysNil and not IsNil(bts): have something to read 2324 2325 if z.Domain == nil { 2326 z.Domain = new(Ztype) 2327 } 2328 bts, err = z.Domain.UnmarshalMsg(bts) 2329 if err != nil { 2330 return 2331 } 2332 if err != nil { 2333 return 2334 } 2335 } 2336 } 2337 case "Range": 2338 found48zgensym_754b0115c175ee89_49[3] = true 2339 if nbs.AlwaysNil { 2340 if z.Range != nil { 2341 z.Range.UnmarshalMsg(msgp.OnlyNilSlice) 2342 } 2343 } else { 2344 // not nbs.AlwaysNil 2345 if msgp.IsNil(bts) { 2346 bts = bts[1:] 2347 if nil != z.Range { 2348 z.Range.UnmarshalMsg(msgp.OnlyNilSlice) 2349 } 2350 } else { 2351 // not nbs.AlwaysNil and not IsNil(bts): have something to read 2352 2353 if z.Range == nil { 2354 z.Range = new(Ztype) 2355 } 2356 bts, err = z.Range.UnmarshalMsg(bts) 2357 if err != nil { 2358 return 2359 } 2360 if err != nil { 2361 return 2362 } 2363 } 2364 } 2365 default: 2366 bts, err = msgp.Skip(bts) 2367 if err != nil { 2368 return 2369 } 2370 } 2371 } 2372 if nextMiss48zgensym_754b0115c175ee89_49 != -1 { 2373 bts = nbs.PopAlwaysNil() 2374 } 2375 2376 if sawTopNil { 2377 bts = nbs.PopAlwaysNil() 2378 } 2379 o = bts 2380 if p, ok := interface{}(z).(msgp.PostLoad); ok { 2381 p.PostLoadHook() 2382 } 2383 2384 return 2385 } 2386 2387 // fields of Ztype 2388 var unmarshalMsgFieldOrder48zgensym_754b0115c175ee89_49 = []string{"Kind", "Str", "Domain", "Range"} 2389 2390 var unmarshalMsgFieldSkip48zgensym_754b0115c175ee89_49 = []bool{false, false, false, false} 2391 2392 // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message 2393 func (z *Ztype) Msgsize() (s int) { 2394 s = 1 + 5 + msgp.Uint64Size + 4 + msgp.StringPrefixSize + len(z.Str) + 7 2395 if z.Domain == nil { 2396 s += msgp.NilSize 2397 } else { 2398 s += z.Domain.Msgsize() 2399 } 2400 s += 6 2401 if z.Range == nil { 2402 s += msgp.NilSize 2403 } else { 2404 s += z.Range.Msgsize() 2405 } 2406 return 2407 }