keys.generated.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921
  1. // ************************************************************
  2. // DO NOT EDIT.
  3. // THIS FILE IS AUTO-GENERATED BY codecgen.
  4. // ************************************************************
  5. package client
  6. import (
  7. "errors"
  8. "fmt"
  9. codec1978 "github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec"
  10. "reflect"
  11. "runtime"
  12. time "time"
  13. )
  14. const (
  15. codecSelferC_UTF81819 = 1
  16. codecSelferC_RAW1819 = 0
  17. codecSelferValueTypeArray1819 = 10
  18. codecSelferValueTypeMap1819 = 9
  19. )
  20. var (
  21. codecSelferBitsize1819 = uint8(reflect.TypeOf(uint(0)).Bits())
  22. codecSelferOnlyMapOrArrayEncodeToStructErr1819 = errors.New(`only encoded map or array can be decoded into a struct`)
  23. )
  24. type codecSelfer1819 struct{}
  25. func init() {
  26. if codec1978.GenVersion != 4 {
  27. _, file, _, _ := runtime.Caller(0)
  28. err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
  29. 4, codec1978.GenVersion, file)
  30. panic(err)
  31. }
  32. if false { // reference the types, but skip this branch at build/run time
  33. var v0 time.Time
  34. _ = v0
  35. }
  36. }
  37. func (x *Response) CodecEncodeSelf(e *codec1978.Encoder) {
  38. var h codecSelfer1819
  39. z, r := codec1978.GenHelperEncoder(e)
  40. _, _, _ = h, z, r
  41. if x == nil {
  42. r.EncodeNil()
  43. } else {
  44. yym1 := z.EncBinary()
  45. _ = yym1
  46. if false {
  47. } else if z.HasExtensions() && z.EncExt(x) {
  48. } else {
  49. yysep2 := !z.EncBinary()
  50. yy2arr2 := z.EncBasicHandle().StructToArray
  51. var yyq2 [3]bool
  52. _, _, _ = yysep2, yyq2, yy2arr2
  53. const yyr2 bool = false
  54. if yyr2 || yy2arr2 {
  55. r.EncodeArrayStart(3)
  56. } else {
  57. var yynn2 int = 3
  58. for _, b := range yyq2 {
  59. if b {
  60. yynn2++
  61. }
  62. }
  63. r.EncodeMapStart(yynn2)
  64. }
  65. if yyr2 || yy2arr2 {
  66. yym4 := z.EncBinary()
  67. _ = yym4
  68. if false {
  69. } else {
  70. r.EncodeString(codecSelferC_UTF81819, string(x.Action))
  71. }
  72. } else {
  73. r.EncodeString(codecSelferC_UTF81819, string("action"))
  74. yym5 := z.EncBinary()
  75. _ = yym5
  76. if false {
  77. } else {
  78. r.EncodeString(codecSelferC_UTF81819, string(x.Action))
  79. }
  80. }
  81. if yyr2 || yy2arr2 {
  82. if x.Node == nil {
  83. r.EncodeNil()
  84. } else {
  85. x.Node.CodecEncodeSelf(e)
  86. }
  87. } else {
  88. r.EncodeString(codecSelferC_UTF81819, string("node"))
  89. if x.Node == nil {
  90. r.EncodeNil()
  91. } else {
  92. x.Node.CodecEncodeSelf(e)
  93. }
  94. }
  95. if yyr2 || yy2arr2 {
  96. if x.PrevNode == nil {
  97. r.EncodeNil()
  98. } else {
  99. x.PrevNode.CodecEncodeSelf(e)
  100. }
  101. } else {
  102. r.EncodeString(codecSelferC_UTF81819, string("prevNode"))
  103. if x.PrevNode == nil {
  104. r.EncodeNil()
  105. } else {
  106. x.PrevNode.CodecEncodeSelf(e)
  107. }
  108. }
  109. if yysep2 {
  110. r.EncodeEnd()
  111. }
  112. }
  113. }
  114. }
  115. func (x *Response) CodecDecodeSelf(d *codec1978.Decoder) {
  116. var h codecSelfer1819
  117. z, r := codec1978.GenHelperDecoder(d)
  118. _, _, _ = h, z, r
  119. yym8 := z.DecBinary()
  120. _ = yym8
  121. if false {
  122. } else if z.HasExtensions() && z.DecExt(x) {
  123. } else {
  124. if r.IsContainerType(codecSelferValueTypeMap1819) {
  125. yyl9 := r.ReadMapStart()
  126. if yyl9 == 0 {
  127. r.ReadEnd()
  128. } else {
  129. x.codecDecodeSelfFromMap(yyl9, d)
  130. }
  131. } else if r.IsContainerType(codecSelferValueTypeArray1819) {
  132. yyl9 := r.ReadArrayStart()
  133. if yyl9 == 0 {
  134. r.ReadEnd()
  135. } else {
  136. x.codecDecodeSelfFromArray(yyl9, d)
  137. }
  138. } else {
  139. panic(codecSelferOnlyMapOrArrayEncodeToStructErr1819)
  140. }
  141. }
  142. }
  143. func (x *Response) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
  144. var h codecSelfer1819
  145. z, r := codec1978.GenHelperDecoder(d)
  146. _, _, _ = h, z, r
  147. var yys10Slc = z.DecScratchBuffer() // default slice to decode into
  148. _ = yys10Slc
  149. var yyhl10 bool = l >= 0
  150. for yyj10 := 0; ; yyj10++ {
  151. if yyhl10 {
  152. if yyj10 >= l {
  153. break
  154. }
  155. } else {
  156. if r.CheckBreak() {
  157. break
  158. }
  159. }
  160. yys10Slc = r.DecodeBytes(yys10Slc, true, true)
  161. yys10 := string(yys10Slc)
  162. switch yys10 {
  163. case "action":
  164. if r.TryDecodeAsNil() {
  165. x.Action = ""
  166. } else {
  167. x.Action = string(r.DecodeString())
  168. }
  169. case "node":
  170. if r.TryDecodeAsNil() {
  171. if x.Node != nil {
  172. x.Node = nil
  173. }
  174. } else {
  175. if x.Node == nil {
  176. x.Node = new(Node)
  177. }
  178. x.Node.CodecDecodeSelf(d)
  179. }
  180. case "prevNode":
  181. if r.TryDecodeAsNil() {
  182. if x.PrevNode != nil {
  183. x.PrevNode = nil
  184. }
  185. } else {
  186. if x.PrevNode == nil {
  187. x.PrevNode = new(Node)
  188. }
  189. x.PrevNode.CodecDecodeSelf(d)
  190. }
  191. default:
  192. z.DecStructFieldNotFound(-1, yys10)
  193. } // end switch yys10
  194. } // end for yyj10
  195. if !yyhl10 {
  196. r.ReadEnd()
  197. }
  198. }
  199. func (x *Response) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
  200. var h codecSelfer1819
  201. z, r := codec1978.GenHelperDecoder(d)
  202. _, _, _ = h, z, r
  203. var yyj14 int
  204. var yyb14 bool
  205. var yyhl14 bool = l >= 0
  206. yyj14++
  207. if yyhl14 {
  208. yyb14 = yyj14 > l
  209. } else {
  210. yyb14 = r.CheckBreak()
  211. }
  212. if yyb14 {
  213. r.ReadEnd()
  214. return
  215. }
  216. if r.TryDecodeAsNil() {
  217. x.Action = ""
  218. } else {
  219. x.Action = string(r.DecodeString())
  220. }
  221. yyj14++
  222. if yyhl14 {
  223. yyb14 = yyj14 > l
  224. } else {
  225. yyb14 = r.CheckBreak()
  226. }
  227. if yyb14 {
  228. r.ReadEnd()
  229. return
  230. }
  231. if r.TryDecodeAsNil() {
  232. if x.Node != nil {
  233. x.Node = nil
  234. }
  235. } else {
  236. if x.Node == nil {
  237. x.Node = new(Node)
  238. }
  239. x.Node.CodecDecodeSelf(d)
  240. }
  241. yyj14++
  242. if yyhl14 {
  243. yyb14 = yyj14 > l
  244. } else {
  245. yyb14 = r.CheckBreak()
  246. }
  247. if yyb14 {
  248. r.ReadEnd()
  249. return
  250. }
  251. if r.TryDecodeAsNil() {
  252. if x.PrevNode != nil {
  253. x.PrevNode = nil
  254. }
  255. } else {
  256. if x.PrevNode == nil {
  257. x.PrevNode = new(Node)
  258. }
  259. x.PrevNode.CodecDecodeSelf(d)
  260. }
  261. for {
  262. yyj14++
  263. if yyhl14 {
  264. yyb14 = yyj14 > l
  265. } else {
  266. yyb14 = r.CheckBreak()
  267. }
  268. if yyb14 {
  269. break
  270. }
  271. z.DecStructFieldNotFound(yyj14-1, "")
  272. }
  273. r.ReadEnd()
  274. }
  275. func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
  276. var h codecSelfer1819
  277. z, r := codec1978.GenHelperEncoder(e)
  278. _, _, _ = h, z, r
  279. if x == nil {
  280. r.EncodeNil()
  281. } else {
  282. yym18 := z.EncBinary()
  283. _ = yym18
  284. if false {
  285. } else if z.HasExtensions() && z.EncExt(x) {
  286. } else {
  287. yysep19 := !z.EncBinary()
  288. yy2arr19 := z.EncBasicHandle().StructToArray
  289. var yyq19 [8]bool
  290. _, _, _ = yysep19, yyq19, yy2arr19
  291. const yyr19 bool = false
  292. yyq19[1] = x.Dir != false
  293. yyq19[6] = x.Expiration != nil
  294. yyq19[7] = x.TTL != 0
  295. if yyr19 || yy2arr19 {
  296. r.EncodeArrayStart(8)
  297. } else {
  298. var yynn19 int = 5
  299. for _, b := range yyq19 {
  300. if b {
  301. yynn19++
  302. }
  303. }
  304. r.EncodeMapStart(yynn19)
  305. }
  306. if yyr19 || yy2arr19 {
  307. yym21 := z.EncBinary()
  308. _ = yym21
  309. if false {
  310. } else {
  311. r.EncodeString(codecSelferC_UTF81819, string(x.Key))
  312. }
  313. } else {
  314. r.EncodeString(codecSelferC_UTF81819, string("key"))
  315. yym22 := z.EncBinary()
  316. _ = yym22
  317. if false {
  318. } else {
  319. r.EncodeString(codecSelferC_UTF81819, string(x.Key))
  320. }
  321. }
  322. if yyr19 || yy2arr19 {
  323. if yyq19[1] {
  324. yym24 := z.EncBinary()
  325. _ = yym24
  326. if false {
  327. } else {
  328. r.EncodeBool(bool(x.Dir))
  329. }
  330. } else {
  331. r.EncodeBool(false)
  332. }
  333. } else {
  334. if yyq19[1] {
  335. r.EncodeString(codecSelferC_UTF81819, string("dir"))
  336. yym25 := z.EncBinary()
  337. _ = yym25
  338. if false {
  339. } else {
  340. r.EncodeBool(bool(x.Dir))
  341. }
  342. }
  343. }
  344. if yyr19 || yy2arr19 {
  345. yym27 := z.EncBinary()
  346. _ = yym27
  347. if false {
  348. } else {
  349. r.EncodeString(codecSelferC_UTF81819, string(x.Value))
  350. }
  351. } else {
  352. r.EncodeString(codecSelferC_UTF81819, string("value"))
  353. yym28 := z.EncBinary()
  354. _ = yym28
  355. if false {
  356. } else {
  357. r.EncodeString(codecSelferC_UTF81819, string(x.Value))
  358. }
  359. }
  360. if yyr19 || yy2arr19 {
  361. if x.Nodes == nil {
  362. r.EncodeNil()
  363. } else {
  364. x.Nodes.CodecEncodeSelf(e)
  365. }
  366. } else {
  367. r.EncodeString(codecSelferC_UTF81819, string("nodes"))
  368. if x.Nodes == nil {
  369. r.EncodeNil()
  370. } else {
  371. x.Nodes.CodecEncodeSelf(e)
  372. }
  373. }
  374. if yyr19 || yy2arr19 {
  375. yym31 := z.EncBinary()
  376. _ = yym31
  377. if false {
  378. } else {
  379. r.EncodeUint(uint64(x.CreatedIndex))
  380. }
  381. } else {
  382. r.EncodeString(codecSelferC_UTF81819, string("createdIndex"))
  383. yym32 := z.EncBinary()
  384. _ = yym32
  385. if false {
  386. } else {
  387. r.EncodeUint(uint64(x.CreatedIndex))
  388. }
  389. }
  390. if yyr19 || yy2arr19 {
  391. yym34 := z.EncBinary()
  392. _ = yym34
  393. if false {
  394. } else {
  395. r.EncodeUint(uint64(x.ModifiedIndex))
  396. }
  397. } else {
  398. r.EncodeString(codecSelferC_UTF81819, string("modifiedIndex"))
  399. yym35 := z.EncBinary()
  400. _ = yym35
  401. if false {
  402. } else {
  403. r.EncodeUint(uint64(x.ModifiedIndex))
  404. }
  405. }
  406. if yyr19 || yy2arr19 {
  407. if yyq19[6] {
  408. if x.Expiration == nil {
  409. r.EncodeNil()
  410. } else {
  411. yym37 := z.EncBinary()
  412. _ = yym37
  413. if false {
  414. } else if yym38 := z.TimeRtidIfBinc(); yym38 != 0 {
  415. r.EncodeBuiltin(yym38, x.Expiration)
  416. } else if z.HasExtensions() && z.EncExt(x.Expiration) {
  417. } else if yym37 {
  418. z.EncBinaryMarshal(x.Expiration)
  419. } else if !yym37 && z.IsJSONHandle() {
  420. z.EncJSONMarshal(x.Expiration)
  421. } else {
  422. z.EncFallback(x.Expiration)
  423. }
  424. }
  425. } else {
  426. r.EncodeNil()
  427. }
  428. } else {
  429. if yyq19[6] {
  430. r.EncodeString(codecSelferC_UTF81819, string("expiration"))
  431. if x.Expiration == nil {
  432. r.EncodeNil()
  433. } else {
  434. yym39 := z.EncBinary()
  435. _ = yym39
  436. if false {
  437. } else if yym40 := z.TimeRtidIfBinc(); yym40 != 0 {
  438. r.EncodeBuiltin(yym40, x.Expiration)
  439. } else if z.HasExtensions() && z.EncExt(x.Expiration) {
  440. } else if yym39 {
  441. z.EncBinaryMarshal(x.Expiration)
  442. } else if !yym39 && z.IsJSONHandle() {
  443. z.EncJSONMarshal(x.Expiration)
  444. } else {
  445. z.EncFallback(x.Expiration)
  446. }
  447. }
  448. }
  449. }
  450. if yyr19 || yy2arr19 {
  451. if yyq19[7] {
  452. yym42 := z.EncBinary()
  453. _ = yym42
  454. if false {
  455. } else {
  456. r.EncodeInt(int64(x.TTL))
  457. }
  458. } else {
  459. r.EncodeInt(0)
  460. }
  461. } else {
  462. if yyq19[7] {
  463. r.EncodeString(codecSelferC_UTF81819, string("ttl"))
  464. yym43 := z.EncBinary()
  465. _ = yym43
  466. if false {
  467. } else {
  468. r.EncodeInt(int64(x.TTL))
  469. }
  470. }
  471. }
  472. if yysep19 {
  473. r.EncodeEnd()
  474. }
  475. }
  476. }
  477. }
  478. func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
  479. var h codecSelfer1819
  480. z, r := codec1978.GenHelperDecoder(d)
  481. _, _, _ = h, z, r
  482. yym44 := z.DecBinary()
  483. _ = yym44
  484. if false {
  485. } else if z.HasExtensions() && z.DecExt(x) {
  486. } else {
  487. if r.IsContainerType(codecSelferValueTypeMap1819) {
  488. yyl45 := r.ReadMapStart()
  489. if yyl45 == 0 {
  490. r.ReadEnd()
  491. } else {
  492. x.codecDecodeSelfFromMap(yyl45, d)
  493. }
  494. } else if r.IsContainerType(codecSelferValueTypeArray1819) {
  495. yyl45 := r.ReadArrayStart()
  496. if yyl45 == 0 {
  497. r.ReadEnd()
  498. } else {
  499. x.codecDecodeSelfFromArray(yyl45, d)
  500. }
  501. } else {
  502. panic(codecSelferOnlyMapOrArrayEncodeToStructErr1819)
  503. }
  504. }
  505. }
  506. func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
  507. var h codecSelfer1819
  508. z, r := codec1978.GenHelperDecoder(d)
  509. _, _, _ = h, z, r
  510. var yys46Slc = z.DecScratchBuffer() // default slice to decode into
  511. _ = yys46Slc
  512. var yyhl46 bool = l >= 0
  513. for yyj46 := 0; ; yyj46++ {
  514. if yyhl46 {
  515. if yyj46 >= l {
  516. break
  517. }
  518. } else {
  519. if r.CheckBreak() {
  520. break
  521. }
  522. }
  523. yys46Slc = r.DecodeBytes(yys46Slc, true, true)
  524. yys46 := string(yys46Slc)
  525. switch yys46 {
  526. case "key":
  527. if r.TryDecodeAsNil() {
  528. x.Key = ""
  529. } else {
  530. x.Key = string(r.DecodeString())
  531. }
  532. case "dir":
  533. if r.TryDecodeAsNil() {
  534. x.Dir = false
  535. } else {
  536. x.Dir = bool(r.DecodeBool())
  537. }
  538. case "value":
  539. if r.TryDecodeAsNil() {
  540. x.Value = ""
  541. } else {
  542. x.Value = string(r.DecodeString())
  543. }
  544. case "nodes":
  545. if r.TryDecodeAsNil() {
  546. x.Nodes = nil
  547. } else {
  548. yyv50 := &x.Nodes
  549. yyv50.CodecDecodeSelf(d)
  550. }
  551. case "createdIndex":
  552. if r.TryDecodeAsNil() {
  553. x.CreatedIndex = 0
  554. } else {
  555. x.CreatedIndex = uint64(r.DecodeUint(64))
  556. }
  557. case "modifiedIndex":
  558. if r.TryDecodeAsNil() {
  559. x.ModifiedIndex = 0
  560. } else {
  561. x.ModifiedIndex = uint64(r.DecodeUint(64))
  562. }
  563. case "expiration":
  564. if r.TryDecodeAsNil() {
  565. if x.Expiration != nil {
  566. x.Expiration = nil
  567. }
  568. } else {
  569. if x.Expiration == nil {
  570. x.Expiration = new(time.Time)
  571. }
  572. yym54 := z.DecBinary()
  573. _ = yym54
  574. if false {
  575. } else if yym55 := z.TimeRtidIfBinc(); yym55 != 0 {
  576. r.DecodeBuiltin(yym55, x.Expiration)
  577. } else if z.HasExtensions() && z.DecExt(x.Expiration) {
  578. } else if yym54 {
  579. z.DecBinaryUnmarshal(x.Expiration)
  580. } else if !yym54 && z.IsJSONHandle() {
  581. z.DecJSONUnmarshal(x.Expiration)
  582. } else {
  583. z.DecFallback(x.Expiration, false)
  584. }
  585. }
  586. case "ttl":
  587. if r.TryDecodeAsNil() {
  588. x.TTL = 0
  589. } else {
  590. x.TTL = int64(r.DecodeInt(64))
  591. }
  592. default:
  593. z.DecStructFieldNotFound(-1, yys46)
  594. } // end switch yys46
  595. } // end for yyj46
  596. if !yyhl46 {
  597. r.ReadEnd()
  598. }
  599. }
  600. func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
  601. var h codecSelfer1819
  602. z, r := codec1978.GenHelperDecoder(d)
  603. _, _, _ = h, z, r
  604. var yyj57 int
  605. var yyb57 bool
  606. var yyhl57 bool = l >= 0
  607. yyj57++
  608. if yyhl57 {
  609. yyb57 = yyj57 > l
  610. } else {
  611. yyb57 = r.CheckBreak()
  612. }
  613. if yyb57 {
  614. r.ReadEnd()
  615. return
  616. }
  617. if r.TryDecodeAsNil() {
  618. x.Key = ""
  619. } else {
  620. x.Key = string(r.DecodeString())
  621. }
  622. yyj57++
  623. if yyhl57 {
  624. yyb57 = yyj57 > l
  625. } else {
  626. yyb57 = r.CheckBreak()
  627. }
  628. if yyb57 {
  629. r.ReadEnd()
  630. return
  631. }
  632. if r.TryDecodeAsNil() {
  633. x.Dir = false
  634. } else {
  635. x.Dir = bool(r.DecodeBool())
  636. }
  637. yyj57++
  638. if yyhl57 {
  639. yyb57 = yyj57 > l
  640. } else {
  641. yyb57 = r.CheckBreak()
  642. }
  643. if yyb57 {
  644. r.ReadEnd()
  645. return
  646. }
  647. if r.TryDecodeAsNil() {
  648. x.Value = ""
  649. } else {
  650. x.Value = string(r.DecodeString())
  651. }
  652. yyj57++
  653. if yyhl57 {
  654. yyb57 = yyj57 > l
  655. } else {
  656. yyb57 = r.CheckBreak()
  657. }
  658. if yyb57 {
  659. r.ReadEnd()
  660. return
  661. }
  662. if r.TryDecodeAsNil() {
  663. x.Nodes = nil
  664. } else {
  665. yyv61 := &x.Nodes
  666. yyv61.CodecDecodeSelf(d)
  667. }
  668. yyj57++
  669. if yyhl57 {
  670. yyb57 = yyj57 > l
  671. } else {
  672. yyb57 = r.CheckBreak()
  673. }
  674. if yyb57 {
  675. r.ReadEnd()
  676. return
  677. }
  678. if r.TryDecodeAsNil() {
  679. x.CreatedIndex = 0
  680. } else {
  681. x.CreatedIndex = uint64(r.DecodeUint(64))
  682. }
  683. yyj57++
  684. if yyhl57 {
  685. yyb57 = yyj57 > l
  686. } else {
  687. yyb57 = r.CheckBreak()
  688. }
  689. if yyb57 {
  690. r.ReadEnd()
  691. return
  692. }
  693. if r.TryDecodeAsNil() {
  694. x.ModifiedIndex = 0
  695. } else {
  696. x.ModifiedIndex = uint64(r.DecodeUint(64))
  697. }
  698. yyj57++
  699. if yyhl57 {
  700. yyb57 = yyj57 > l
  701. } else {
  702. yyb57 = r.CheckBreak()
  703. }
  704. if yyb57 {
  705. r.ReadEnd()
  706. return
  707. }
  708. if r.TryDecodeAsNil() {
  709. if x.Expiration != nil {
  710. x.Expiration = nil
  711. }
  712. } else {
  713. if x.Expiration == nil {
  714. x.Expiration = new(time.Time)
  715. }
  716. yym65 := z.DecBinary()
  717. _ = yym65
  718. if false {
  719. } else if yym66 := z.TimeRtidIfBinc(); yym66 != 0 {
  720. r.DecodeBuiltin(yym66, x.Expiration)
  721. } else if z.HasExtensions() && z.DecExt(x.Expiration) {
  722. } else if yym65 {
  723. z.DecBinaryUnmarshal(x.Expiration)
  724. } else if !yym65 && z.IsJSONHandle() {
  725. z.DecJSONUnmarshal(x.Expiration)
  726. } else {
  727. z.DecFallback(x.Expiration, false)
  728. }
  729. }
  730. yyj57++
  731. if yyhl57 {
  732. yyb57 = yyj57 > l
  733. } else {
  734. yyb57 = r.CheckBreak()
  735. }
  736. if yyb57 {
  737. r.ReadEnd()
  738. return
  739. }
  740. if r.TryDecodeAsNil() {
  741. x.TTL = 0
  742. } else {
  743. x.TTL = int64(r.DecodeInt(64))
  744. }
  745. for {
  746. yyj57++
  747. if yyhl57 {
  748. yyb57 = yyj57 > l
  749. } else {
  750. yyb57 = r.CheckBreak()
  751. }
  752. if yyb57 {
  753. break
  754. }
  755. z.DecStructFieldNotFound(yyj57-1, "")
  756. }
  757. r.ReadEnd()
  758. }
  759. func (x Nodes) CodecEncodeSelf(e *codec1978.Encoder) {
  760. var h codecSelfer1819
  761. z, r := codec1978.GenHelperEncoder(e)
  762. _, _, _ = h, z, r
  763. if x == nil {
  764. r.EncodeNil()
  765. } else {
  766. yym68 := z.EncBinary()
  767. _ = yym68
  768. if false {
  769. } else if z.HasExtensions() && z.EncExt(x) {
  770. } else {
  771. h.encNodes((Nodes)(x), e)
  772. }
  773. }
  774. }
  775. func (x *Nodes) CodecDecodeSelf(d *codec1978.Decoder) {
  776. var h codecSelfer1819
  777. z, r := codec1978.GenHelperDecoder(d)
  778. _, _, _ = h, z, r
  779. yym69 := z.DecBinary()
  780. _ = yym69
  781. if false {
  782. } else if z.HasExtensions() && z.DecExt(x) {
  783. } else {
  784. h.decNodes((*Nodes)(x), d)
  785. }
  786. }
  787. func (x codecSelfer1819) encNodes(v Nodes, e *codec1978.Encoder) {
  788. var h codecSelfer1819
  789. z, r := codec1978.GenHelperEncoder(e)
  790. _, _, _ = h, z, r
  791. r.EncodeArrayStart(len(v))
  792. for _, yyv70 := range v {
  793. if yyv70 == nil {
  794. r.EncodeNil()
  795. } else {
  796. yyv70.CodecEncodeSelf(e)
  797. }
  798. }
  799. r.EncodeEnd()
  800. }
  801. func (x codecSelfer1819) decNodes(v *Nodes, d *codec1978.Decoder) {
  802. var h codecSelfer1819
  803. z, r := codec1978.GenHelperDecoder(d)
  804. _, _, _ = h, z, r
  805. yyv71 := *v
  806. yyh71, yyl71 := z.DecSliceHelperStart()
  807. var yyrr71, yyrl71 int
  808. var yyc71, yyrt71 bool
  809. _, _, _ = yyc71, yyrt71, yyrl71
  810. yyrr71 = yyl71
  811. if yyv71 == nil {
  812. if yyrl71, yyrt71 = z.DecInferLen(yyl71, z.DecBasicHandle().MaxInitLen, 8); yyrt71 {
  813. yyrr71 = yyrl71
  814. }
  815. yyv71 = make(Nodes, yyrl71)
  816. yyc71 = true
  817. }
  818. if yyl71 == 0 {
  819. if len(yyv71) != 0 {
  820. yyv71 = yyv71[:0]
  821. yyc71 = true
  822. }
  823. } else if yyl71 > 0 {
  824. if yyl71 > cap(yyv71) {
  825. yyrl71, yyrt71 = z.DecInferLen(yyl71, z.DecBasicHandle().MaxInitLen, 8)
  826. yyv71 = make([]*Node, yyrl71)
  827. yyc71 = true
  828. yyrr71 = len(yyv71)
  829. } else if yyl71 != len(yyv71) {
  830. yyv71 = yyv71[:yyl71]
  831. yyc71 = true
  832. }
  833. yyj71 := 0
  834. for ; yyj71 < yyrr71; yyj71++ {
  835. if r.TryDecodeAsNil() {
  836. if yyv71[yyj71] != nil {
  837. *yyv71[yyj71] = Node{}
  838. }
  839. } else {
  840. if yyv71[yyj71] == nil {
  841. yyv71[yyj71] = new(Node)
  842. }
  843. yyw72 := yyv71[yyj71]
  844. yyw72.CodecDecodeSelf(d)
  845. }
  846. }
  847. if yyrt71 {
  848. for ; yyj71 < yyl71; yyj71++ {
  849. yyv71 = append(yyv71, nil)
  850. if r.TryDecodeAsNil() {
  851. if yyv71[yyj71] != nil {
  852. *yyv71[yyj71] = Node{}
  853. }
  854. } else {
  855. if yyv71[yyj71] == nil {
  856. yyv71[yyj71] = new(Node)
  857. }
  858. yyw73 := yyv71[yyj71]
  859. yyw73.CodecDecodeSelf(d)
  860. }
  861. }
  862. }
  863. } else {
  864. for yyj71 := 0; !r.CheckBreak(); yyj71++ {
  865. if yyj71 >= len(yyv71) {
  866. yyv71 = append(yyv71, nil) // var yyz71 *Node
  867. yyc71 = true
  868. }
  869. if yyj71 < len(yyv71) {
  870. if r.TryDecodeAsNil() {
  871. if yyv71[yyj71] != nil {
  872. *yyv71[yyj71] = Node{}
  873. }
  874. } else {
  875. if yyv71[yyj71] == nil {
  876. yyv71[yyj71] = new(Node)
  877. }
  878. yyw74 := yyv71[yyj71]
  879. yyw74.CodecDecodeSelf(d)
  880. }
  881. } else {
  882. z.DecSwallow()
  883. }
  884. }
  885. yyh71.End()
  886. }
  887. if yyc71 {
  888. *v = yyv71
  889. }
  890. }