github.com/urso/go-structform@v0.0.2/gotype/unfold_refl.generated.go (about) 1 // This file has been generated from 'unfold_refl.yml', do not edit 2 package gotype 3 4 import ( 5 "reflect" 6 7 structform "github.com/urso/go-structform" 8 ) 9 10 func (u *unfolderReflSlice) OnNil(ctx *unfoldCtx) error { 11 u.prepare(ctx) 12 return nil 13 } 14 15 func (u *unfolderReflSlice) OnByte(ctx *unfoldCtx, v byte) error { 16 elem := u.prepare(ctx) 17 u.elem.initState(ctx, elem) 18 err := ctx.unfolder.current.OnByte(ctx, v) 19 20 return err 21 } 22 23 func (u *unfolderReflSlice) OnStringRef(ctx *unfoldCtx, v []byte) error { 24 return u.OnString(ctx, string(v)) 25 } 26 27 func (u *unfolderReflSlice) OnBool(ctx *unfoldCtx, v bool) error { 28 elem := u.prepare(ctx) 29 u.elem.initState(ctx, elem) 30 err := ctx.unfolder.current.OnBool(ctx, v) 31 32 return err 33 } 34 35 func (u *unfolderReflSlice) OnString(ctx *unfoldCtx, v string) error { 36 elem := u.prepare(ctx) 37 u.elem.initState(ctx, elem) 38 err := ctx.unfolder.current.OnString(ctx, v) 39 40 return err 41 } 42 43 func (u *unfolderReflSlice) OnUint(ctx *unfoldCtx, v uint) error { 44 elem := u.prepare(ctx) 45 u.elem.initState(ctx, elem) 46 err := ctx.unfolder.current.OnUint(ctx, v) 47 48 return err 49 } 50 51 func (u *unfolderReflSlice) OnUint8(ctx *unfoldCtx, v uint8) error { 52 elem := u.prepare(ctx) 53 u.elem.initState(ctx, elem) 54 err := ctx.unfolder.current.OnUint8(ctx, v) 55 56 return err 57 } 58 59 func (u *unfolderReflSlice) OnUint16(ctx *unfoldCtx, v uint16) error { 60 elem := u.prepare(ctx) 61 u.elem.initState(ctx, elem) 62 err := ctx.unfolder.current.OnUint16(ctx, v) 63 64 return err 65 } 66 67 func (u *unfolderReflSlice) OnUint32(ctx *unfoldCtx, v uint32) error { 68 elem := u.prepare(ctx) 69 u.elem.initState(ctx, elem) 70 err := ctx.unfolder.current.OnUint32(ctx, v) 71 72 return err 73 } 74 75 func (u *unfolderReflSlice) OnUint64(ctx *unfoldCtx, v uint64) error { 76 elem := u.prepare(ctx) 77 u.elem.initState(ctx, elem) 78 err := ctx.unfolder.current.OnUint64(ctx, v) 79 80 return err 81 } 82 83 func (u *unfolderReflSlice) OnInt(ctx *unfoldCtx, v int) error { 84 elem := u.prepare(ctx) 85 u.elem.initState(ctx, elem) 86 err := ctx.unfolder.current.OnInt(ctx, v) 87 88 return err 89 } 90 91 func (u *unfolderReflSlice) OnInt8(ctx *unfoldCtx, v int8) error { 92 elem := u.prepare(ctx) 93 u.elem.initState(ctx, elem) 94 err := ctx.unfolder.current.OnInt8(ctx, v) 95 96 return err 97 } 98 99 func (u *unfolderReflSlice) OnInt16(ctx *unfoldCtx, v int16) error { 100 elem := u.prepare(ctx) 101 u.elem.initState(ctx, elem) 102 err := ctx.unfolder.current.OnInt16(ctx, v) 103 104 return err 105 } 106 107 func (u *unfolderReflSlice) OnInt32(ctx *unfoldCtx, v int32) error { 108 elem := u.prepare(ctx) 109 u.elem.initState(ctx, elem) 110 err := ctx.unfolder.current.OnInt32(ctx, v) 111 112 return err 113 } 114 115 func (u *unfolderReflSlice) OnInt64(ctx *unfoldCtx, v int64) error { 116 elem := u.prepare(ctx) 117 u.elem.initState(ctx, elem) 118 err := ctx.unfolder.current.OnInt64(ctx, v) 119 120 return err 121 } 122 123 func (u *unfolderReflSlice) OnFloat32(ctx *unfoldCtx, v float32) error { 124 elem := u.prepare(ctx) 125 u.elem.initState(ctx, elem) 126 err := ctx.unfolder.current.OnFloat32(ctx, v) 127 128 return err 129 } 130 131 func (u *unfolderReflSlice) OnFloat64(ctx *unfoldCtx, v float64) error { 132 elem := u.prepare(ctx) 133 u.elem.initState(ctx, elem) 134 err := ctx.unfolder.current.OnFloat64(ctx, v) 135 136 return err 137 } 138 139 func (u *unfolderReflSlice) OnArrayStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 140 elem := u.prepare(ctx) 141 u.elem.initState(ctx, elem) 142 return ctx.unfolder.current.OnArrayStart(ctx, l, bt) 143 } 144 145 func (u *unfolderReflSlice) OnChildArrayDone(ctx *unfoldCtx) error { 146 147 return nil 148 } 149 150 func (u *unfolderReflSlice) OnObjectStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 151 elem := u.prepare(ctx) 152 u.elem.initState(ctx, elem) 153 return ctx.unfolder.current.OnObjectStart(ctx, l, bt) 154 } 155 156 func (u *unfolderReflSlice) OnKey(_ *unfoldCtx, _ string) error { 157 return errUnsupported 158 } 159 160 func (u *unfolderReflSlice) OnKeyRef(_ *unfoldCtx, _ []byte) error { 161 return errUnsupported 162 } 163 164 func (u *unfolderReflSlice) OnChildObjectDone(ctx *unfoldCtx) error { 165 166 return nil 167 } 168 169 func (u *unfolderReflMapOnElem) OnNil(ctx *unfoldCtx) error { 170 ptr := ctx.value.current 171 m := ptr.Elem() 172 v := reflect.Zero(m.Type().Elem()) 173 m.SetMapIndex(reflect.ValueOf(ctx.key.pop()), v) 174 175 ctx.unfolder.current = u.shared.waitKey 176 return nil 177 } 178 179 func (u *unfolderReflMapOnElem) OnByte(ctx *unfoldCtx, v byte) error { 180 elem := u.prepare(ctx) 181 u.elem.initState(ctx, elem) 182 err := ctx.unfolder.current.OnByte(ctx, v) 183 184 if err == nil { 185 u.process(ctx) 186 } 187 188 return err 189 } 190 191 func (u *unfolderReflMapOnElem) OnStringRef(ctx *unfoldCtx, v []byte) error { 192 return u.OnString(ctx, string(v)) 193 } 194 195 func (u *unfolderReflMapOnElem) OnBool(ctx *unfoldCtx, v bool) error { 196 elem := u.prepare(ctx) 197 u.elem.initState(ctx, elem) 198 err := ctx.unfolder.current.OnBool(ctx, v) 199 200 if err == nil { 201 u.process(ctx) 202 } 203 204 return err 205 } 206 207 func (u *unfolderReflMapOnElem) OnString(ctx *unfoldCtx, v string) error { 208 elem := u.prepare(ctx) 209 u.elem.initState(ctx, elem) 210 err := ctx.unfolder.current.OnString(ctx, v) 211 212 if err == nil { 213 u.process(ctx) 214 } 215 216 return err 217 } 218 219 func (u *unfolderReflMapOnElem) OnUint(ctx *unfoldCtx, v uint) error { 220 elem := u.prepare(ctx) 221 u.elem.initState(ctx, elem) 222 err := ctx.unfolder.current.OnUint(ctx, v) 223 224 if err == nil { 225 u.process(ctx) 226 } 227 228 return err 229 } 230 231 func (u *unfolderReflMapOnElem) OnUint8(ctx *unfoldCtx, v uint8) error { 232 elem := u.prepare(ctx) 233 u.elem.initState(ctx, elem) 234 err := ctx.unfolder.current.OnUint8(ctx, v) 235 236 if err == nil { 237 u.process(ctx) 238 } 239 240 return err 241 } 242 243 func (u *unfolderReflMapOnElem) OnUint16(ctx *unfoldCtx, v uint16) error { 244 elem := u.prepare(ctx) 245 u.elem.initState(ctx, elem) 246 err := ctx.unfolder.current.OnUint16(ctx, v) 247 248 if err == nil { 249 u.process(ctx) 250 } 251 252 return err 253 } 254 255 func (u *unfolderReflMapOnElem) OnUint32(ctx *unfoldCtx, v uint32) error { 256 elem := u.prepare(ctx) 257 u.elem.initState(ctx, elem) 258 err := ctx.unfolder.current.OnUint32(ctx, v) 259 260 if err == nil { 261 u.process(ctx) 262 } 263 264 return err 265 } 266 267 func (u *unfolderReflMapOnElem) OnUint64(ctx *unfoldCtx, v uint64) error { 268 elem := u.prepare(ctx) 269 u.elem.initState(ctx, elem) 270 err := ctx.unfolder.current.OnUint64(ctx, v) 271 272 if err == nil { 273 u.process(ctx) 274 } 275 276 return err 277 } 278 279 func (u *unfolderReflMapOnElem) OnInt(ctx *unfoldCtx, v int) error { 280 elem := u.prepare(ctx) 281 u.elem.initState(ctx, elem) 282 err := ctx.unfolder.current.OnInt(ctx, v) 283 284 if err == nil { 285 u.process(ctx) 286 } 287 288 return err 289 } 290 291 func (u *unfolderReflMapOnElem) OnInt8(ctx *unfoldCtx, v int8) error { 292 elem := u.prepare(ctx) 293 u.elem.initState(ctx, elem) 294 err := ctx.unfolder.current.OnInt8(ctx, v) 295 296 if err == nil { 297 u.process(ctx) 298 } 299 300 return err 301 } 302 303 func (u *unfolderReflMapOnElem) OnInt16(ctx *unfoldCtx, v int16) error { 304 elem := u.prepare(ctx) 305 u.elem.initState(ctx, elem) 306 err := ctx.unfolder.current.OnInt16(ctx, v) 307 308 if err == nil { 309 u.process(ctx) 310 } 311 312 return err 313 } 314 315 func (u *unfolderReflMapOnElem) OnInt32(ctx *unfoldCtx, v int32) error { 316 elem := u.prepare(ctx) 317 u.elem.initState(ctx, elem) 318 err := ctx.unfolder.current.OnInt32(ctx, v) 319 320 if err == nil { 321 u.process(ctx) 322 } 323 324 return err 325 } 326 327 func (u *unfolderReflMapOnElem) OnInt64(ctx *unfoldCtx, v int64) error { 328 elem := u.prepare(ctx) 329 u.elem.initState(ctx, elem) 330 err := ctx.unfolder.current.OnInt64(ctx, v) 331 332 if err == nil { 333 u.process(ctx) 334 } 335 336 return err 337 } 338 339 func (u *unfolderReflMapOnElem) OnFloat32(ctx *unfoldCtx, v float32) error { 340 elem := u.prepare(ctx) 341 u.elem.initState(ctx, elem) 342 err := ctx.unfolder.current.OnFloat32(ctx, v) 343 344 if err == nil { 345 u.process(ctx) 346 } 347 348 return err 349 } 350 351 func (u *unfolderReflMapOnElem) OnFloat64(ctx *unfoldCtx, v float64) error { 352 elem := u.prepare(ctx) 353 u.elem.initState(ctx, elem) 354 err := ctx.unfolder.current.OnFloat64(ctx, v) 355 356 if err == nil { 357 u.process(ctx) 358 } 359 360 return err 361 } 362 363 func (u *unfolderReflMapOnElem) OnArrayStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 364 elem := u.prepare(ctx) 365 u.elem.initState(ctx, elem) 366 return ctx.unfolder.current.OnArrayStart(ctx, l, bt) 367 } 368 369 func (u *unfolderReflMapOnElem) OnChildArrayDone(ctx *unfoldCtx) error { 370 371 u.process(ctx) 372 373 return nil 374 } 375 376 func (u *unfolderReflMapOnElem) OnObjectStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 377 elem := u.prepare(ctx) 378 u.elem.initState(ctx, elem) 379 return ctx.unfolder.current.OnObjectStart(ctx, l, bt) 380 } 381 382 func (u *unfolderReflMapOnElem) OnKey(_ *unfoldCtx, _ string) error { 383 return errExpectedObjectValue 384 } 385 386 func (u *unfolderReflMapOnElem) OnKeyRef(_ *unfoldCtx, _ []byte) error { 387 return errExpectedObjectValue 388 } 389 390 func (u *unfolderReflMapOnElem) OnChildObjectDone(ctx *unfoldCtx) error { 391 392 u.process(ctx) 393 394 return nil 395 } 396 397 func (u *unfolderReflPtr) OnNil(ctx *unfoldCtx) error { 398 ptr := ctx.value.current 399 v := ptr.Elem() 400 v.Set(reflect.Zero(v.Type())) 401 u.cleanup(ctx) 402 return nil 403 } 404 405 func (u *unfolderReflPtr) OnByte(ctx *unfoldCtx, v byte) error { 406 elem := u.prepare(ctx) 407 u.elem.initState(ctx, elem) 408 err := ctx.unfolder.current.OnByte(ctx, v) 409 410 if err == nil { 411 u.process(ctx) 412 } 413 414 return err 415 } 416 417 func (u *unfolderReflPtr) OnStringRef(ctx *unfoldCtx, v []byte) error { 418 return u.OnString(ctx, string(v)) 419 } 420 421 func (u *unfolderReflPtr) OnBool(ctx *unfoldCtx, v bool) error { 422 elem := u.prepare(ctx) 423 u.elem.initState(ctx, elem) 424 err := ctx.unfolder.current.OnBool(ctx, v) 425 426 if err == nil { 427 u.process(ctx) 428 } 429 430 return err 431 } 432 433 func (u *unfolderReflPtr) OnString(ctx *unfoldCtx, v string) error { 434 elem := u.prepare(ctx) 435 u.elem.initState(ctx, elem) 436 err := ctx.unfolder.current.OnString(ctx, v) 437 438 if err == nil { 439 u.process(ctx) 440 } 441 442 return err 443 } 444 445 func (u *unfolderReflPtr) OnUint(ctx *unfoldCtx, v uint) error { 446 elem := u.prepare(ctx) 447 u.elem.initState(ctx, elem) 448 err := ctx.unfolder.current.OnUint(ctx, v) 449 450 if err == nil { 451 u.process(ctx) 452 } 453 454 return err 455 } 456 457 func (u *unfolderReflPtr) OnUint8(ctx *unfoldCtx, v uint8) error { 458 elem := u.prepare(ctx) 459 u.elem.initState(ctx, elem) 460 err := ctx.unfolder.current.OnUint8(ctx, v) 461 462 if err == nil { 463 u.process(ctx) 464 } 465 466 return err 467 } 468 469 func (u *unfolderReflPtr) OnUint16(ctx *unfoldCtx, v uint16) error { 470 elem := u.prepare(ctx) 471 u.elem.initState(ctx, elem) 472 err := ctx.unfolder.current.OnUint16(ctx, v) 473 474 if err == nil { 475 u.process(ctx) 476 } 477 478 return err 479 } 480 481 func (u *unfolderReflPtr) OnUint32(ctx *unfoldCtx, v uint32) error { 482 elem := u.prepare(ctx) 483 u.elem.initState(ctx, elem) 484 err := ctx.unfolder.current.OnUint32(ctx, v) 485 486 if err == nil { 487 u.process(ctx) 488 } 489 490 return err 491 } 492 493 func (u *unfolderReflPtr) OnUint64(ctx *unfoldCtx, v uint64) error { 494 elem := u.prepare(ctx) 495 u.elem.initState(ctx, elem) 496 err := ctx.unfolder.current.OnUint64(ctx, v) 497 498 if err == nil { 499 u.process(ctx) 500 } 501 502 return err 503 } 504 505 func (u *unfolderReflPtr) OnInt(ctx *unfoldCtx, v int) error { 506 elem := u.prepare(ctx) 507 u.elem.initState(ctx, elem) 508 err := ctx.unfolder.current.OnInt(ctx, v) 509 510 if err == nil { 511 u.process(ctx) 512 } 513 514 return err 515 } 516 517 func (u *unfolderReflPtr) OnInt8(ctx *unfoldCtx, v int8) error { 518 elem := u.prepare(ctx) 519 u.elem.initState(ctx, elem) 520 err := ctx.unfolder.current.OnInt8(ctx, v) 521 522 if err == nil { 523 u.process(ctx) 524 } 525 526 return err 527 } 528 529 func (u *unfolderReflPtr) OnInt16(ctx *unfoldCtx, v int16) error { 530 elem := u.prepare(ctx) 531 u.elem.initState(ctx, elem) 532 err := ctx.unfolder.current.OnInt16(ctx, v) 533 534 if err == nil { 535 u.process(ctx) 536 } 537 538 return err 539 } 540 541 func (u *unfolderReflPtr) OnInt32(ctx *unfoldCtx, v int32) error { 542 elem := u.prepare(ctx) 543 u.elem.initState(ctx, elem) 544 err := ctx.unfolder.current.OnInt32(ctx, v) 545 546 if err == nil { 547 u.process(ctx) 548 } 549 550 return err 551 } 552 553 func (u *unfolderReflPtr) OnInt64(ctx *unfoldCtx, v int64) error { 554 elem := u.prepare(ctx) 555 u.elem.initState(ctx, elem) 556 err := ctx.unfolder.current.OnInt64(ctx, v) 557 558 if err == nil { 559 u.process(ctx) 560 } 561 562 return err 563 } 564 565 func (u *unfolderReflPtr) OnFloat32(ctx *unfoldCtx, v float32) error { 566 elem := u.prepare(ctx) 567 u.elem.initState(ctx, elem) 568 err := ctx.unfolder.current.OnFloat32(ctx, v) 569 570 if err == nil { 571 u.process(ctx) 572 } 573 574 return err 575 } 576 577 func (u *unfolderReflPtr) OnFloat64(ctx *unfoldCtx, v float64) error { 578 elem := u.prepare(ctx) 579 u.elem.initState(ctx, elem) 580 err := ctx.unfolder.current.OnFloat64(ctx, v) 581 582 if err == nil { 583 u.process(ctx) 584 } 585 586 return err 587 } 588 589 func (u *unfolderReflPtr) OnArrayStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 590 elem := u.prepare(ctx) 591 u.elem.initState(ctx, elem) 592 return ctx.unfolder.current.OnArrayStart(ctx, l, bt) 593 } 594 595 func (u *unfolderReflPtr) OnChildArrayDone(ctx *unfoldCtx) error { 596 597 u.process(ctx) 598 599 return nil 600 } 601 602 func (u *unfolderReflPtr) OnObjectStart(ctx *unfoldCtx, l int, bt structform.BaseType) error { 603 elem := u.prepare(ctx) 604 u.elem.initState(ctx, elem) 605 return ctx.unfolder.current.OnObjectStart(ctx, l, bt) 606 } 607 608 func (u *unfolderReflPtr) OnKey(_ *unfoldCtx, _ string) error { 609 return errUnsupported 610 } 611 612 func (u *unfolderReflPtr) OnKeyRef(_ *unfoldCtx, _ []byte) error { 613 return errUnsupported 614 } 615 616 func (u *unfolderReflPtr) OnChildObjectDone(ctx *unfoldCtx) error { 617 618 u.process(ctx) 619 620 return nil 621 }