/hphp/hack/test/typecheck/intersect_huge.php

https://gitlab.com/Blueprint-Marketing/hhvm · PHP · 792 lines · 778 code · 5 blank · 9 comment · 203 complexity · f4cb97b6598fa02780cd77f9bf045e17 MD5 · raw file

  1. <?hh
  2. /**
  3. * Copyright (c) 2014, Facebook, Inc.
  4. * All rights reserved.
  5. *
  6. * This source code is licensed under the BSD-style license found in the
  7. * LICENSE file in the "hack" directory of this source tree. An additional grant
  8. * of patent rights can be found in the PATENTS file in the same directory.
  9. *
  10. */
  11. abstract class TType {
  12. const STOP = 0;
  13. const VOID = 1;
  14. const BOOL = 2;
  15. const BYTE = 3;
  16. const I08 = 3;
  17. const DOUBLE = 4;
  18. const I16 = 6;
  19. const I32 = 8;
  20. const I64 = 10;
  21. const STRING = 11;
  22. const UTF7 = 11;
  23. const STRUCT = 12;
  24. const MAP = 13;
  25. const SET = 14;
  26. const LST = 15;
  27. const UTF8 = 16;
  28. const UTF16 = 17;
  29. const FLOAT = 19;
  30. }
  31. class C {
  32. public string $ivar1;
  33. public string $ivar2;
  34. public string $ivar3;
  35. public int $ivar4;
  36. public string $ivar5;
  37. public string $ivar6;
  38. public string $ivar7;
  39. public bool $ivar8;
  40. public ?Ty1 $ivar9;
  41. public Vector<string> $ivar10;
  42. public Vector<Ty2> $ivar11;
  43. public ?Ty2 $ivar12;
  44. public Vector<string> $ivar13;
  45. public Map<string, string> $ivar14;
  46. public int $ivar15;
  47. public bool $ivar16;
  48. public Map<string, string> $ivar17;
  49. public string $ivar18;
  50. public string $ivar19;
  51. public int $ivar20;
  52. public int $ivar21;
  53. public Vector<string> $ivar22;
  54. public Map<string, Ty3> $ivar23;
  55. public ?Ty4 $ivar24;
  56. public int $ivar25;
  57. public int $ivar26;
  58. public Vector<string> $ivar27;
  59. public Vector<string> $ivar28;
  60. public string $ivar29;
  61. public string $ivar30;
  62. public ?Ty5 $ivar31;
  63. public Vector<string> $ivar32;
  64. public Vector<Ty2> $ivar33;
  65. public int $ivar34;
  66. public bool $ivar35;
  67. public Vector<Ty2> $ivar36;
  68. public Vector<string> $ivar37;
  69. public string $ivar38;
  70. public string $ivar39;
  71. public string $ivar40;
  72. public string $ivar41;
  73. public ?Ty6 $ivar42;
  74. public int $ivar43;
  75. public ?Ty7 $ivar44;
  76. public string $ivar45;
  77. public Map<string, string> $ivar46;
  78. public Map<string, string> $ivar47;
  79. public Vector<Ty8> $ivar48;
  80. public int $ivar49;
  81. public ?Ty3 $ivar50;
  82. public Map<int, Ty9> $ivar51;
  83. public ?Ty10 $ivar52;
  84. public string $ivar53;
  85. public function __construct(?Indexish<string, mixed> $vals = null) {
  86. $this->ivar1 = (string)untyped_idx($vals, 'ivar1', '');
  87. $this->ivar2 = (string)untyped_idx($vals, 'ivar2', '');
  88. $this->ivar3 = (string)untyped_idx($vals, 'ivar3', '');
  89. $this->ivar4 = (int)untyped_idx($vals, 'ivar4', 0);
  90. $this->ivar5 = (string)untyped_idx($vals, 'ivar5', '');
  91. $this->ivar6 = (string)untyped_idx($vals, 'ivar6', '');
  92. $this->ivar7 = (string)untyped_idx($vals, 'ivar7', '');
  93. $this->ivar8 = (bool)untyped_idx($vals, 'ivar8', false);
  94. $this->ivar9 = untyped_idx($vals, 'ivar9', null);
  95. $this->ivar10 = untyped_idx($vals, 'ivar10', Vector {});
  96. $this->ivar11 = untyped_idx($vals, 'ivar11', Vector {});
  97. $this->ivar12 = untyped_idx($vals, 'ivar12', null);
  98. $this->ivar13 = untyped_idx($vals, 'ivar13', Vector {});
  99. $this->ivar14 = untyped_idx($vals, 'ivar14', Map {});
  100. $this->ivar15 = (int)untyped_idx($vals, 'ivar15', 0);
  101. $this->ivar16 = (bool)untyped_idx($vals, 'ivar16', false);
  102. $this->ivar17 = untyped_idx($vals, 'ivar17', Map {});
  103. $this->ivar18 = (string)untyped_idx($vals, 'ivar18', '');
  104. $this->ivar19 = (string)untyped_idx($vals, 'ivar19', '');
  105. $this->ivar20 = (int)untyped_idx($vals, 'ivar20', 0);
  106. $this->ivar21 = (int)untyped_idx($vals, 'ivar21', 0);
  107. $this->ivar22 = untyped_idx($vals, 'ivar22', Vector {});
  108. $this->ivar23 = untyped_idx($vals, 'ivar23', Map {});
  109. $this->ivar24 = untyped_idx($vals, 'ivar24', null);
  110. $this->ivar25 = (int)untyped_idx($vals, 'ivar25', 0);
  111. $this->ivar26 = (int)untyped_idx($vals, 'ivar26', 0);
  112. $this->ivar27 = untyped_idx($vals, 'ivar27', Vector {});
  113. $this->ivar28 = untyped_idx($vals, 'ivar28', Vector {});
  114. $this->ivar29 = (string)untyped_idx($vals, 'ivar29', '');
  115. $this->ivar30 = (string)untyped_idx($vals, 'ivar30', '');
  116. $this->ivar31 = untyped_idx($vals, 'ivar31', null);
  117. $this->ivar32 = untyped_idx($vals, 'ivar32', Vector {});
  118. $this->ivar33 = untyped_idx($vals, 'ivar33', Vector {});
  119. $this->ivar34 = (int)untyped_idx($vals, 'ivar34', 0);
  120. $this->ivar35 = (bool)untyped_idx($vals, 'ivar35', false);
  121. $this->ivar36 = untyped_idx($vals, 'ivar36', Vector {});
  122. $this->ivar37 = untyped_idx($vals, 'ivar37', Vector {});
  123. $this->ivar38 = (string)untyped_idx($vals, 'ivar38', '');
  124. $this->ivar39 = (string)untyped_idx($vals, 'ivar39', '');
  125. $this->ivar40 = (string)untyped_idx($vals, 'ivar40', '');
  126. $this->ivar41 = (string)untyped_idx($vals, 'ivar41', '');
  127. $this->ivar42 = untyped_idx($vals, 'ivar42', null);
  128. $this->ivar43 = (int)untyped_idx($vals, 'ivar43', 0);
  129. $this->ivar44 = untyped_idx($vals, 'ivar44', null);
  130. $this->ivar45 = (string)untyped_idx($vals, 'ivar45', '');
  131. $this->ivar46 = untyped_idx($vals, 'ivar46', Map {});
  132. $this->ivar47 = untyped_idx($vals, 'ivar47', Map {});
  133. $this->ivar48 = untyped_idx($vals, 'ivar48', Vector {});
  134. $this->ivar49 = (int)untyped_idx($vals, 'ivar49', 0);
  135. $this->ivar50 = untyped_idx($vals, 'ivar50', null);
  136. $this->ivar51 = untyped_idx($vals, 'ivar51', Map {});
  137. $this->ivar52 = untyped_idx($vals, 'ivar52', null);
  138. $this->ivar53 = (string)untyped_idx($vals, 'ivar53', '');
  139. }
  140. public function read(TProtocol $input) : int {
  141. $xfer = 0;
  142. $fname = null;
  143. $ftype = 0;
  144. $fid = 0;
  145. $xfer += $input->readStructBegin($fname);
  146. while (true)
  147. {
  148. $xfer += $input->readFieldBegin($fname, $ftype, $fid);
  149. if ($ftype == TType::STOP) {
  150. break;
  151. }
  152. switch ($fid)
  153. {
  154. case 6:
  155. if ($ftype == TType::STRING) {
  156. $xfer += $input->readString($this->ivar1);
  157. } else {
  158. $xfer += $input->skip($ftype);
  159. }
  160. break;
  161. case 7:
  162. if ($ftype == TType::STRING) {
  163. $xfer += $input->readString($this->ivar2);
  164. } else {
  165. $xfer += $input->skip($ftype);
  166. }
  167. break;
  168. case 8:
  169. if ($ftype == TType::STRING) {
  170. $xfer += $input->readString($this->ivar3);
  171. } else {
  172. $xfer += $input->skip($ftype);
  173. }
  174. break;
  175. case 10:
  176. if ($ftype == TType::I64) {
  177. $xfer += $input->readI64($this->ivar4);
  178. } else {
  179. $xfer += $input->skip($ftype);
  180. }
  181. break;
  182. case 11:
  183. if ($ftype == TType::STRING) {
  184. $xfer += $input->readString($this->ivar5);
  185. } else {
  186. $xfer += $input->skip($ftype);
  187. }
  188. break;
  189. case 12:
  190. if ($ftype == TType::STRING) {
  191. $xfer += $input->readString($this->ivar6);
  192. } else {
  193. $xfer += $input->skip($ftype);
  194. }
  195. break;
  196. case 14:
  197. if ($ftype == TType::STRING) {
  198. $xfer += $input->readString($this->ivar7);
  199. } else {
  200. $xfer += $input->skip($ftype);
  201. }
  202. break;
  203. case 15:
  204. if ($ftype == TType::BOOL) {
  205. $xfer += $input->readBool($this->ivar8);
  206. } else {
  207. $xfer += $input->skip($ftype);
  208. }
  209. break;
  210. case 18:
  211. if ($ftype == TType::STRUCT) {
  212. $this->ivar9 = new Ty1();
  213. $xfer += $this->ivar9->read($input);
  214. } else {
  215. $xfer += $input->skip($ftype);
  216. }
  217. break;
  218. case 20:
  219. if ($ftype == TType::LST) {
  220. $_size443 = 0;
  221. $_val442 = Vector {};
  222. $_etype446 = 0;
  223. $xfer += $input->readListBegin($_etype446, $_size443);
  224. for ($_i447 = 0; $_i447 < $_size443; ++$_i447)
  225. {
  226. $elem448 = null;
  227. $xfer += $input->readString($elem448);
  228. if ($elem448 !== null) {
  229. $_val442 []= $elem448;
  230. }
  231. }
  232. $xfer += $input->readListEnd();
  233. $this->ivar10 = $_val442;
  234. } else {
  235. $xfer += $input->skip($ftype);
  236. }
  237. break;
  238. case 21:
  239. if ($ftype == TType::LST) {
  240. $_size450 = 0;
  241. $_val449 = Vector {};
  242. $_etype453 = 0;
  243. $xfer += $input->readListBegin($_etype453, $_size450);
  244. for ($_i454 = 0; $_i454 < $_size450; ++$_i454)
  245. {
  246. $elem455 = null;
  247. $elem455 = new Ty2();
  248. $xfer += $elem455->read($input);
  249. if ($elem455 !== null) {
  250. $_val449 []= $elem455;
  251. }
  252. }
  253. $xfer += $input->readListEnd();
  254. $this->ivar11 = $_val449;
  255. } else {
  256. $xfer += $input->skip($ftype);
  257. }
  258. break;
  259. case 22:
  260. if ($ftype == TType::STRUCT) {
  261. $this->ivar12 = new Ty2();
  262. $xfer += $this->ivar12->read($input);
  263. } else {
  264. $xfer += $input->skip($ftype);
  265. }
  266. break;
  267. case 23:
  268. if ($ftype == TType::LST) {
  269. $_size457 = 0;
  270. $_val456 = Vector {};
  271. $_etype460 = 0;
  272. $xfer += $input->readListBegin($_etype460, $_size457);
  273. for ($_i461 = 0; $_i461 < $_size457; ++$_i461)
  274. {
  275. $elem462 = null;
  276. $xfer += $input->readString($elem462);
  277. if ($elem462 !== null) {
  278. $_val456 []= $elem462;
  279. }
  280. }
  281. $xfer += $input->readListEnd();
  282. $this->ivar13 = $_val456;
  283. } else {
  284. $xfer += $input->skip($ftype);
  285. }
  286. break;
  287. case 26:
  288. if ($ftype == TType::MAP) {
  289. $_size464 = 0;
  290. $_val463 = Map {};
  291. $_ktype465 = 0;
  292. $_vtype466 = 0;
  293. $xfer += $input->readMapBegin($_ktype465, $_vtype466, $_size464);
  294. for ($_i468 = 0; $_i468 < $_size464; ++$_i468)
  295. {
  296. $key469 = '';
  297. $val470 = '';
  298. $xfer += $input->readString($key469);
  299. $xfer += $input->readString($val470);
  300. if ($key469 !== null && $val470 !== null) {
  301. $_val463[$key469] = $val470;
  302. }
  303. }
  304. $xfer += $input->readMapEnd();
  305. $this->ivar14 = $_val463;
  306. } else {
  307. $xfer += $input->skip($ftype);
  308. }
  309. break;
  310. case 27:
  311. if ($ftype == TType::I64) {
  312. $xfer += $input->readI64($this->ivar15);
  313. } else {
  314. $xfer += $input->skip($ftype);
  315. }
  316. break;
  317. case 32:
  318. if ($ftype == TType::BOOL) {
  319. $xfer += $input->readBool($this->ivar16);
  320. } else {
  321. $xfer += $input->skip($ftype);
  322. }
  323. break;
  324. case 33:
  325. if ($ftype == TType::MAP) {
  326. $_size472 = 0;
  327. $_val471 = Map {};
  328. $_ktype473 = 0;
  329. $_vtype474 = 0;
  330. $xfer += $input->readMapBegin($_ktype473, $_vtype474, $_size472);
  331. for ($_i476 = 0; $_i476 < $_size472; ++$_i476)
  332. {
  333. $key477 = '';
  334. $val478 = '';
  335. $xfer += $input->readString($key477);
  336. $xfer += $input->readString($val478);
  337. if ($key477 !== null && $val478 !== null) {
  338. $_val471[$key477] = $val478;
  339. }
  340. }
  341. $xfer += $input->readMapEnd();
  342. $this->ivar17 = $_val471;
  343. } else {
  344. $xfer += $input->skip($ftype);
  345. }
  346. break;
  347. case 34:
  348. if ($ftype == TType::STRING) {
  349. $xfer += $input->readString($this->ivar18);
  350. } else {
  351. $xfer += $input->skip($ftype);
  352. }
  353. break;
  354. case 37:
  355. if ($ftype == TType::STRING) {
  356. $xfer += $input->readString($this->ivar19);
  357. } else {
  358. $xfer += $input->skip($ftype);
  359. }
  360. break;
  361. case 38:
  362. if ($ftype == TType::I64) {
  363. $xfer += $input->readI64($this->ivar20);
  364. } else {
  365. $xfer += $input->skip($ftype);
  366. }
  367. break;
  368. case 39:
  369. if ($ftype == TType::I64) {
  370. $xfer += $input->readI64($this->ivar21);
  371. } else {
  372. $xfer += $input->skip($ftype);
  373. }
  374. break;
  375. case 40:
  376. if ($ftype == TType::LST) {
  377. $_size480 = 0;
  378. $_val479 = Vector {};
  379. $_etype483 = 0;
  380. $xfer += $input->readListBegin($_etype483, $_size480);
  381. for ($_i484 = 0; $_i484 < $_size480; ++$_i484)
  382. {
  383. $elem485 = null;
  384. $xfer += $input->readString($elem485);
  385. if ($elem485 !== null) {
  386. $_val479 []= $elem485;
  387. }
  388. }
  389. $xfer += $input->readListEnd();
  390. $this->ivar22 = $_val479;
  391. } else {
  392. $xfer += $input->skip($ftype);
  393. }
  394. break;
  395. case 41:
  396. if ($ftype == TType::MAP) {
  397. $_size487 = 0;
  398. $_val486 = Map {};
  399. $_ktype488 = 0;
  400. $_vtype489 = 0;
  401. $xfer += $input->readMapBegin($_ktype488, $_vtype489, $_size487);
  402. for ($_i491 = 0; $_i491 < $_size487; ++$_i491)
  403. {
  404. $key492 = '';
  405. $val493 = new Ty3();
  406. $xfer += $input->readString($key492);
  407. $val493 = new Ty3();
  408. $xfer += $val493->read($input);
  409. if ($key492 !== null && $val493 !== null) {
  410. $_val486[$key492] = $val493;
  411. }
  412. }
  413. $xfer += $input->readMapEnd();
  414. $this->ivar23 = $_val486;
  415. } else {
  416. $xfer += $input->skip($ftype);
  417. }
  418. break;
  419. case 44:
  420. if ($ftype == TType::STRUCT) {
  421. $this->ivar24 = new Ty4();
  422. $xfer += $this->ivar24->read($input);
  423. } else {
  424. $xfer += $input->skip($ftype);
  425. }
  426. break;
  427. case 45:
  428. if ($ftype == TType::I64) {
  429. $xfer += $input->readI64($this->ivar25);
  430. } else {
  431. $xfer += $input->skip($ftype);
  432. }
  433. break;
  434. case 46:
  435. if ($ftype == TType::I32) {
  436. $xfer += $input->readI32($this->ivar26);
  437. } else {
  438. $xfer += $input->skip($ftype);
  439. }
  440. break;
  441. case 47:
  442. if ($ftype == TType::LST) {
  443. $_size495 = 0;
  444. $_val494 = Vector {};
  445. $_etype498 = 0;
  446. $xfer += $input->readListBegin($_etype498, $_size495);
  447. for ($_i499 = 0; $_i499 < $_size495; ++$_i499)
  448. {
  449. $elem500 = null;
  450. $xfer += $input->readString($elem500);
  451. if ($elem500 !== null) {
  452. $_val494 []= $elem500;
  453. }
  454. }
  455. $xfer += $input->readListEnd();
  456. $this->ivar27 = $_val494;
  457. } else {
  458. $xfer += $input->skip($ftype);
  459. }
  460. break;
  461. case 48:
  462. if ($ftype == TType::LST) {
  463. $_size502 = 0;
  464. $_val501 = Vector {};
  465. $_etype505 = 0;
  466. $xfer += $input->readListBegin($_etype505, $_size502);
  467. for ($_i506 = 0; $_i506 < $_size502; ++$_i506)
  468. {
  469. $elem507 = null;
  470. $xfer += $input->readString($elem507);
  471. if ($elem507 !== null) {
  472. $_val501 []= $elem507;
  473. }
  474. }
  475. $xfer += $input->readListEnd();
  476. $this->ivar28 = $_val501;
  477. } else {
  478. $xfer += $input->skip($ftype);
  479. }
  480. break;
  481. case 49:
  482. if ($ftype == TType::STRING) {
  483. $xfer += $input->readString($this->ivar29);
  484. } else {
  485. $xfer += $input->skip($ftype);
  486. }
  487. break;
  488. case 50:
  489. if ($ftype == TType::STRING) {
  490. $xfer += $input->readString($this->ivar30);
  491. } else {
  492. $xfer += $input->skip($ftype);
  493. }
  494. break;
  495. case 51:
  496. if ($ftype == TType::STRUCT) {
  497. $this->ivar31 = new Ty5();
  498. $xfer += $this->ivar31->read($input);
  499. } else {
  500. $xfer += $input->skip($ftype);
  501. }
  502. break;
  503. case 52:
  504. if ($ftype == TType::LST) {
  505. $_size509 = 0;
  506. $_val508 = Vector {};
  507. $_etype512 = 0;
  508. $xfer += $input->readListBegin($_etype512, $_size509);
  509. for ($_i513 = 0; $_i513 < $_size509; ++$_i513)
  510. {
  511. $elem514 = null;
  512. $xfer += $input->readString($elem514);
  513. if ($elem514 !== null) {
  514. $_val508 []= $elem514;
  515. }
  516. }
  517. $xfer += $input->readListEnd();
  518. $this->ivar32 = $_val508;
  519. } else {
  520. $xfer += $input->skip($ftype);
  521. }
  522. break;
  523. case 53:
  524. if ($ftype == TType::LST) {
  525. $_size516 = 0;
  526. $_val515 = Vector {};
  527. $_etype519 = 0;
  528. $xfer += $input->readListBegin($_etype519, $_size516);
  529. for ($_i520 = 0; $_i520 < $_size516; ++$_i520)
  530. {
  531. $elem521 = null;
  532. $elem521 = new Ty2();
  533. $xfer += $elem521->read($input);
  534. if ($elem521 !== null) {
  535. $_val515 []= $elem521;
  536. }
  537. }
  538. $xfer += $input->readListEnd();
  539. $this->ivar33 = $_val515;
  540. } else {
  541. $xfer += $input->skip($ftype);
  542. }
  543. break;
  544. case 54:
  545. if ($ftype == TType::I64) {
  546. $xfer += $input->readI64($this->ivar34);
  547. } else {
  548. $xfer += $input->skip($ftype);
  549. }
  550. break;
  551. case 55:
  552. if ($ftype == TType::BOOL) {
  553. $xfer += $input->readBool($this->ivar35);
  554. } else {
  555. $xfer += $input->skip($ftype);
  556. }
  557. break;
  558. case 56:
  559. if ($ftype == TType::LST) {
  560. $_size523 = 0;
  561. $_val522 = Vector {};
  562. $_etype526 = 0;
  563. $xfer += $input->readListBegin($_etype526, $_size523);
  564. for ($_i527 = 0; $_i527 < $_size523; ++$_i527)
  565. {
  566. $elem528 = null;
  567. $elem528 = new Ty2();
  568. $xfer += $elem528->read($input);
  569. if ($elem528 !== null) {
  570. $_val522 []= $elem528;
  571. }
  572. }
  573. $xfer += $input->readListEnd();
  574. $this->ivar36 = $_val522;
  575. } else {
  576. $xfer += $input->skip($ftype);
  577. }
  578. break;
  579. case 57:
  580. if ($ftype == TType::LST) {
  581. $_size530 = 0;
  582. $_val529 = Vector {};
  583. $_etype533 = 0;
  584. $xfer += $input->readListBegin($_etype533, $_size530);
  585. for ($_i534 = 0; $_i534 < $_size530; ++$_i534)
  586. {
  587. $elem535 = null;
  588. $xfer += $input->readString($elem535);
  589. if ($elem535 !== null) {
  590. $_val529 []= $elem535;
  591. }
  592. }
  593. $xfer += $input->readListEnd();
  594. $this->ivar37 = $_val529;
  595. } else {
  596. $xfer += $input->skip($ftype);
  597. }
  598. break;
  599. case 58:
  600. if ($ftype == TType::STRING) {
  601. $xfer += $input->readString($this->ivar38);
  602. } else {
  603. $xfer += $input->skip($ftype);
  604. }
  605. break;
  606. case 59:
  607. if ($ftype == TType::STRING) {
  608. $xfer += $input->readString($this->ivar39);
  609. } else {
  610. $xfer += $input->skip($ftype);
  611. }
  612. break;
  613. case 60:
  614. if ($ftype == TType::STRING) {
  615. $xfer += $input->readString($this->ivar40);
  616. } else {
  617. $xfer += $input->skip($ftype);
  618. }
  619. break;
  620. case 61:
  621. if ($ftype == TType::STRING) {
  622. $xfer += $input->readString($this->ivar41);
  623. } else {
  624. $xfer += $input->skip($ftype);
  625. }
  626. break;
  627. case 62:
  628. if ($ftype == TType::STRUCT) {
  629. $this->ivar42 = new Ty6();
  630. $xfer += $this->ivar42->read($input);
  631. } else {
  632. $xfer += $input->skip($ftype);
  633. }
  634. break;
  635. case 63:
  636. if ($ftype == TType::I64) {
  637. $xfer += $input->readI64($this->ivar43);
  638. } else {
  639. $xfer += $input->skip($ftype);
  640. }
  641. break;
  642. case 64:
  643. if ($ftype == TType::STRUCT) {
  644. $this->ivar44 = new Ty7();
  645. $xfer += $this->ivar44->read($input);
  646. } else {
  647. $xfer += $input->skip($ftype);
  648. }
  649. break;
  650. case 65:
  651. if ($ftype == TType::STRING) {
  652. $xfer += $input->readString($this->ivar45);
  653. } else {
  654. $xfer += $input->skip($ftype);
  655. }
  656. break;
  657. case 66:
  658. if ($ftype == TType::MAP) {
  659. $_size537 = 0;
  660. $_val536 = Map {};
  661. $_ktype538 = 0;
  662. $_vtype539 = 0;
  663. $xfer += $input->readMapBegin($_ktype538, $_vtype539, $_size537);
  664. for ($_i541 = 0; $_i541 < $_size537; ++$_i541)
  665. {
  666. $key542 = '';
  667. $val543 = '';
  668. $xfer += $input->readString($key542);
  669. $xfer += $input->readString($val543);
  670. if ($key542 !== null && $val543 !== null) {
  671. $_val536[$key542] = $val543;
  672. }
  673. }
  674. $xfer += $input->readMapEnd();
  675. $this->ivar46 = $_val536;
  676. } else {
  677. $xfer += $input->skip($ftype);
  678. }
  679. break;
  680. case 67:
  681. if ($ftype == TType::MAP) {
  682. $_size545 = 0;
  683. $_val544 = Map {};
  684. $_ktype546 = 0;
  685. $_vtype547 = 0;
  686. $xfer += $input->readMapBegin($_ktype546, $_vtype547, $_size545);
  687. for ($_i549 = 0; $_i549 < $_size545; ++$_i549)
  688. {
  689. $key550 = '';
  690. $val551 = '';
  691. $xfer += $input->readString($key550);
  692. $xfer += $input->readString($val551);
  693. if ($key550 !== null && $val551 !== null) {
  694. $_val544[$key550] = $val551;
  695. }
  696. }
  697. $xfer += $input->readMapEnd();
  698. $this->ivar47 = $_val544;
  699. } else {
  700. $xfer += $input->skip($ftype);
  701. }
  702. break;
  703. case 68:
  704. if ($ftype == TType::LST) {
  705. $_size553 = 0;
  706. $_val552 = Vector {};
  707. $_etype556 = 0;
  708. $xfer += $input->readListBegin($_etype556, $_size553);
  709. for ($_i557 = 0; $_i557 < $_size553; ++$_i557)
  710. {
  711. $elem558 = null;
  712. $elem558 = new Ty8();
  713. $xfer += $elem558->read($input);
  714. if ($elem558 !== null) {
  715. $_val552 []= $elem558;
  716. }
  717. }
  718. $xfer += $input->readListEnd();
  719. $this->ivar48 = $_val552;
  720. } else {
  721. $xfer += $input->skip($ftype);
  722. }
  723. break;
  724. case 69:
  725. if ($ftype == TType::I64) {
  726. $xfer += $input->readI64($this->ivar49);
  727. } else {
  728. $xfer += $input->skip($ftype);
  729. }
  730. break;
  731. case 71:
  732. if ($ftype == TType::STRUCT) {
  733. $this->ivar50 = new Ty3();
  734. $xfer += $this->ivar50->read($input);
  735. } else {
  736. $xfer += $input->skip($ftype);
  737. }
  738. break;
  739. case 72:
  740. if ($ftype == TType::MAP) {
  741. $_size560 = 0;
  742. $_val559 = Map {};
  743. $_ktype561 = 0;
  744. $_vtype562 = 0;
  745. $xfer += $input->readMapBegin($_ktype561, $_vtype562, $_size560);
  746. for ($_i564 = 0; $_i564 < $_size560; ++$_i564)
  747. {
  748. $key565 = 0;
  749. $val566 = new Ty9();
  750. $xfer += $input->readI32($key565);
  751. $val566 = new Ty9();
  752. $xfer += $val566->read($input);
  753. if ($key565 !== null && $val566 !== null) {
  754. $_val559[$key565] = $val566;
  755. }
  756. }
  757. $xfer += $input->readMapEnd();
  758. $this->ivar51 = $_val559;
  759. } else {
  760. $xfer += $input->skip($ftype);
  761. }
  762. break;
  763. case 73:
  764. if ($ftype == TType::STRUCT) {
  765. $this->ivar52 = new Ty10();
  766. $xfer += $this->ivar52->read($input);
  767. } else {
  768. $xfer += $input->skip($ftype);
  769. }
  770. break;
  771. case 74:
  772. if ($ftype == TType::STRING) {
  773. $xfer += $input->readString($this->ivar53);
  774. } else {
  775. $xfer += $input->skip($ftype);
  776. }
  777. break;
  778. default:
  779. $xfer += $input->skip($ftype);
  780. break;
  781. }
  782. $xfer += $input->readFieldEnd();
  783. }
  784. $xfer += $input->readStructEnd();
  785. return $xfer;
  786. }
  787. }