1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/* 17 * @tc.name:definesendableclass 18 * @tc.desc:test definesendableclass 19 * @tc.type: FUNC 20 * @tc.require: issueI8R6LC 21 */ 22 23// @ts-nocheck 24declare function print(str: any): string; 25 26class Parent { 27 static sField: number = 0; 28 field: number = 0; 29 30 static get sAge() { 31 print("sAge getter"); 32 return 0; 33 } 34 static set sAge(a: number) { 35 print("sAge setter"); 36 } 37 get age() { 38 print("age getter"); 39 return 0; 40 } 41 set age(a: number) { 42 print("age setter"); 43 } 44 constructor() { 45 "use sendable"; 46 } 47} 48 49class Child extends Parent { 50 childField: number = 0; 51 52 constructor() { 53 "use sendable"; 54 super(); 55 } 56} 57 58class ChildToDict extends Parent { 59 a0:string = ""; 60 a1:string = ""; 61 a2:string = ""; 62 a3:string = ""; 63 a4:string = ""; 64 a5:string = ""; 65 a6:string = ""; 66 a7:string = ""; 67 a8:string = ""; 68 a9:string = ""; 69 a10:string = ""; 70 a11:string = ""; 71 a12:string = ""; 72 a13:string = ""; 73 a14:string = ""; 74 a15:string = ""; 75 a16:string = ""; 76 a17:string = ""; 77 a18:string = ""; 78 a19:string = ""; 79 a20:string = ""; 80 a21:string = ""; 81 a22:string = ""; 82 a23:string = ""; 83 a24:string = ""; 84 a25:string = ""; 85 a26:string = ""; 86 a27:string = ""; 87 a28:string = ""; 88 a29:string = ""; 89 a30:string = ""; 90 a31:string = ""; 91 a32:string = ""; 92 a33:string = ""; 93 a34:string = ""; 94 a35:string = ""; 95 a36:string = ""; 96 a37:string = ""; 97 a38:string = ""; 98 a39:string = ""; 99 a40:string = ""; 100 a41:string = ""; 101 a42:string = ""; 102 a43:string = ""; 103 a44:string = ""; 104 a45:string = ""; 105 a46:string = ""; 106 a47:string = ""; 107 a48:string = ""; 108 a49:string = ""; 109 a50:string = ""; 110 a51:string = ""; 111 a52:string = ""; 112 a53:string = ""; 113 a54:string = ""; 114 a55:string = ""; 115 a56:string = ""; 116 a57:string = ""; 117 a58:string = ""; 118 a59:string = ""; 119 a60:string = ""; 120 a61:string = ""; 121 a62:string = ""; 122 a63:string = ""; 123 a64:string = ""; 124 a65:string = ""; 125 a66:string = ""; 126 a67:string = ""; 127 a68:string = ""; 128 a69:string = ""; 129 a70:string = ""; 130 a71:string = ""; 131 a72:string = ""; 132 a73:string = ""; 133 a74:string = ""; 134 a75:string = ""; 135 a76:string = ""; 136 a77:string = ""; 137 a78:string = ""; 138 a79:string = ""; 139 a80:string = ""; 140 a81:string = ""; 141 a82:string = ""; 142 a83:string = ""; 143 a84:string = ""; 144 a85:string = ""; 145 a86:string = ""; 146 a87:string = ""; 147 a88:string = ""; 148 a89:string = ""; 149 a90:string = ""; 150 a91:string = ""; 151 a92:string = ""; 152 a93:string = ""; 153 a94:string = ""; 154 a95:string = ""; 155 a96:string = ""; 156 a97:string = ""; 157 a98:string = ""; 158 a99:string = ""; 159 a100:string = ""; 160 a101:string = ""; 161 a102:string = ""; 162 a103:string = ""; 163 a104:string = ""; 164 a105:string = ""; 165 a106:string = ""; 166 a107:string = ""; 167 a108:string = ""; 168 a109:string = ""; 169 a110:string = ""; 170 a111:string = ""; 171 a112:string = ""; 172 a113:string = ""; 173 a114:string = ""; 174 a115:string = ""; 175 a116:string = ""; 176 a117:string = ""; 177 a118:string = ""; 178 a119:string = ""; 179 a120:string = ""; 180 a121:string = ""; 181 a122:string = ""; 182 a123:string = ""; 183 a124:string = ""; 184 a125:string = ""; 185 a126:string = ""; 186 a127:string = ""; 187 a128:string = ""; 188 a129:string = ""; 189 a130:string = ""; 190 a131:string = ""; 191 a132:string = ""; 192 a133:string = ""; 193 a134:string = ""; 194 a135:string = ""; 195 a136:string = ""; 196 a137:string = ""; 197 a138:string = ""; 198 a139:string = ""; 199 a140:string = ""; 200 a141:string = ""; 201 a142:string = ""; 202 a143:string = ""; 203 a144:string = ""; 204 a145:string = ""; 205 a146:string = ""; 206 a147:string = ""; 207 a148:string = ""; 208 a149:string = ""; 209 a150:string = ""; 210 a151:string = ""; 211 a152:string = ""; 212 a153:string = ""; 213 a154:string = ""; 214 a155:string = ""; 215 a156:string = ""; 216 a157:string = ""; 217 a158:string = ""; 218 a159:string = ""; 219 a160:string = ""; 220 a161:string = ""; 221 a162:string = ""; 222 a163:string = ""; 223 a164:string = ""; 224 a165:string = ""; 225 a166:string = ""; 226 a167:string = ""; 227 a168:string = ""; 228 a169:string = ""; 229 a170:string = ""; 230 a171:string = ""; 231 a172:string = ""; 232 a173:string = ""; 233 a174:string = ""; 234 a175:string = ""; 235 a176:string = ""; 236 a177:string = ""; 237 a178:string = ""; 238 a179:string = ""; 239 a180:string = ""; 240 a181:string = ""; 241 a182:string = ""; 242 a183:string = ""; 243 a184:string = ""; 244 a185:string = ""; 245 a186:string = ""; 246 a187:string = ""; 247 a188:string = ""; 248 a189:string = ""; 249 a190:string = ""; 250 a191:string = ""; 251 a192:string = ""; 252 a193:string = ""; 253 a194:string = ""; 254 a195:string = ""; 255 a196:string = ""; 256 a197:string = ""; 257 a198:string = ""; 258 a199:string = ""; 259 a200:string = ""; 260 a201:string = ""; 261 a202:string = ""; 262 a203:string = ""; 263 a204:string = ""; 264 a205:string = ""; 265 a206:string = ""; 266 a207:string = ""; 267 a208:string = ""; 268 a209:string = ""; 269 a210:string = ""; 270 a211:string = ""; 271 a212:string = ""; 272 a213:string = ""; 273 a214:string = ""; 274 a215:string = ""; 275 a216:string = ""; 276 a217:string = ""; 277 a218:string = ""; 278 a219:string = ""; 279 a220:string = ""; 280 a221:string = ""; 281 a222:string = ""; 282 a223:string = ""; 283 a224:string = ""; 284 a225:string = ""; 285 a226:string = ""; 286 a227:string = ""; 287 a228:string = ""; 288 a229:string = ""; 289 a230:string = ""; 290 a231:string = ""; 291 a232:string = ""; 292 a233:string = ""; 293 a234:string = ""; 294 a235:string = ""; 295 a236:string = ""; 296 a237:string = ""; 297 a238:string = ""; 298 a239:string = ""; 299 a240:string = ""; 300 a241:string = ""; 301 a242:string = ""; 302 a243:string = ""; 303 a244:string = ""; 304 a245:string = ""; 305 a246:string = ""; 306 a247:string = ""; 307 a248:string = ""; 308 a249:string = ""; 309 a250:string = ""; 310 a251:string = ""; 311 a252:string = ""; 312 a253:string = ""; 313 a254:string = ""; 314 a255:string = ""; 315 a256:string = ""; 316 a257:string = ""; 317 a258:string = ""; 318 a259:string = ""; 319 a260:string = ""; 320 a261:string = ""; 321 a262:string = ""; 322 a263:string = ""; 323 a264:string = ""; 324 a265:string = ""; 325 a266:string = ""; 326 a267:string = ""; 327 a268:string = ""; 328 a269:string = ""; 329 a270:string = ""; 330 a271:string = ""; 331 a272:string = ""; 332 a273:string = ""; 333 a274:string = ""; 334 a275:string = ""; 335 a276:string = ""; 336 a277:string = ""; 337 a278:string = ""; 338 a279:string = ""; 339 a280:string = ""; 340 a281:string = ""; 341 a282:string = ""; 342 a283:string = ""; 343 a284:string = ""; 344 a285:string = ""; 345 a286:string = ""; 346 a287:string = ""; 347 a288:string = ""; 348 a289:string = ""; 349 a290:string = ""; 350 a291:string = ""; 351 a292:string = ""; 352 a293:string = ""; 353 a294:string = ""; 354 a295:string = ""; 355 a296:string = ""; 356 a297:string = ""; 357 a298:string = ""; 358 a299:string = ""; 359 a300:string = ""; 360 a301:string = ""; 361 a302:string = ""; 362 a303:string = ""; 363 a304:string = ""; 364 a305:string = ""; 365 a306:string = ""; 366 a307:string = ""; 367 a308:string = ""; 368 a309:string = ""; 369 a310:string = ""; 370 a311:string = ""; 371 a312:string = ""; 372 a313:string = ""; 373 a314:string = ""; 374 a315:string = ""; 375 a316:string = ""; 376 a317:string = ""; 377 a318:string = ""; 378 a319:string = ""; 379 a320:string = ""; 380 a321:string = ""; 381 a322:string = ""; 382 a323:string = ""; 383 a324:string = ""; 384 a325:string = ""; 385 a326:string = ""; 386 a327:string = ""; 387 a328:string = ""; 388 a329:string = ""; 389 a330:string = ""; 390 a331:string = ""; 391 a332:string = ""; 392 a333:string = ""; 393 a334:string = ""; 394 a335:string = ""; 395 a336:string = ""; 396 a337:string = ""; 397 a338:string = ""; 398 a339:string = ""; 399 a340:string = ""; 400 a341:string = ""; 401 a342:string = ""; 402 a343:string = ""; 403 a344:string = ""; 404 a345:string = ""; 405 a346:string = ""; 406 a347:string = ""; 407 a348:string = ""; 408 a349:string = ""; 409 a350:string = ""; 410 a351:string = ""; 411 a352:string = ""; 412 a353:string = ""; 413 a354:string = ""; 414 a355:string = ""; 415 a356:string = ""; 416 a357:string = ""; 417 a358:string = ""; 418 a359:string = ""; 419 a360:string = ""; 420 a361:string = ""; 421 a362:string = ""; 422 a363:string = ""; 423 a364:string = ""; 424 a365:string = ""; 425 a366:string = ""; 426 a367:string = ""; 427 a368:string = ""; 428 a369:string = ""; 429 a370:string = ""; 430 a371:string = ""; 431 a372:string = ""; 432 a373:string = ""; 433 a374:string = ""; 434 a375:string = ""; 435 a376:string = ""; 436 a377:string = ""; 437 a378:string = ""; 438 a379:string = ""; 439 a380:string = ""; 440 a381:string = ""; 441 a382:string = ""; 442 a383:string = ""; 443 a384:string = ""; 444 a385:string = ""; 445 a386:string = ""; 446 a387:string = ""; 447 a388:string = ""; 448 a389:string = ""; 449 a390:string = ""; 450 a391:string = ""; 451 a392:string = ""; 452 a393:string = ""; 453 a394:string = ""; 454 a395:string = ""; 455 a396:string = ""; 456 a397:string = ""; 457 a398:string = ""; 458 a399:string = ""; 459 a400:string = ""; 460 a401:string = ""; 461 a402:string = ""; 462 a403:string = ""; 463 a404:string = ""; 464 a405:string = ""; 465 a406:string = ""; 466 a407:string = ""; 467 a408:string = ""; 468 a409:string = ""; 469 a410:string = ""; 470 a411:string = ""; 471 a412:string = ""; 472 a413:string = ""; 473 a414:string = ""; 474 a415:string = ""; 475 a416:string = ""; 476 a417:string = ""; 477 a418:string = ""; 478 a419:string = ""; 479 a420:string = ""; 480 a421:string = ""; 481 a422:string = ""; 482 a423:string = ""; 483 a424:string = ""; 484 a425:string = ""; 485 a426:string = ""; 486 a427:string = ""; 487 a428:string = ""; 488 a429:string = ""; 489 a430:string = ""; 490 a431:string = ""; 491 a432:string = ""; 492 a433:string = ""; 493 a434:string = ""; 494 a435:string = ""; 495 a436:string = ""; 496 a437:string = ""; 497 a438:string = ""; 498 a439:string = ""; 499 a440:string = ""; 500 a441:string = ""; 501 a442:string = ""; 502 a443:string = ""; 503 a444:string = ""; 504 a445:string = ""; 505 a446:string = ""; 506 a447:string = ""; 507 a448:string = ""; 508 a449:string = ""; 509 a450:string = ""; 510 a451:string = ""; 511 a452:string = ""; 512 a453:string = ""; 513 a454:string = ""; 514 a455:string = ""; 515 a456:string = ""; 516 a457:string = ""; 517 a458:string = ""; 518 a459:string = ""; 519 a460:string = ""; 520 a461:string = ""; 521 a462:string = ""; 522 a463:string = ""; 523 a464:string = ""; 524 a465:string = ""; 525 a466:string = ""; 526 a467:string = ""; 527 a468:string = ""; 528 a469:string = ""; 529 a470:string = ""; 530 a471:string = ""; 531 a472:string = ""; 532 a473:string = ""; 533 a474:string = ""; 534 a475:string = ""; 535 a476:string = ""; 536 a477:string = ""; 537 a478:string = ""; 538 a479:string = ""; 539 a480:string = ""; 540 a481:string = ""; 541 a482:string = ""; 542 a483:string = ""; 543 a484:string = ""; 544 a485:string = ""; 545 a486:string = ""; 546 a487:string = ""; 547 a488:string = ""; 548 a489:string = ""; 549 a490:string = ""; 550 a491:string = ""; 551 a492:string = ""; 552 a493:string = ""; 553 a494:string = ""; 554 a495:string = ""; 555 a496:string = ""; 556 a497:string = ""; 557 a498:string = ""; 558 a499:string = ""; 559 a500:string = ""; 560 a501:string = ""; 561 a502:string = ""; 562 a503:string = ""; 563 a504:string = ""; 564 a505:string = ""; 565 a506:string = ""; 566 a507:string = ""; 567 a508:string = ""; 568 a509:string = ""; 569 a510:string = ""; 570 a511:string = ""; 571 a512:string = ""; 572 a513:string = ""; 573 a514:string = ""; 574 a515:string = ""; 575 a516:string = ""; 576 a517:string = ""; 577 a518:string = ""; 578 a519:string = ""; 579 a520:string = ""; 580 a521:string = ""; 581 a522:string = ""; 582 a523:string = ""; 583 a524:string = ""; 584 a525:string = ""; 585 a526:string = ""; 586 a527:string = ""; 587 a528:string = ""; 588 a529:string = ""; 589 a530:string = ""; 590 a531:string = ""; 591 a532:string = ""; 592 a533:string = ""; 593 a534:string = ""; 594 a535:string = ""; 595 a536:string = ""; 596 a537:string = ""; 597 a538:string = ""; 598 a539:string = ""; 599 a540:string = ""; 600 a541:string = ""; 601 a542:string = ""; 602 a543:string = ""; 603 a544:string = ""; 604 a545:string = ""; 605 a546:string = ""; 606 a547:string = ""; 607 a548:string = ""; 608 a549:string = ""; 609 a550:string = ""; 610 a551:string = ""; 611 a552:string = ""; 612 a553:string = ""; 613 a554:string = ""; 614 a555:string = ""; 615 a556:string = ""; 616 a557:string = ""; 617 a558:string = ""; 618 a559:string = ""; 619 a560:string = ""; 620 a561:string = ""; 621 a562:string = ""; 622 a563:string = ""; 623 a564:string = ""; 624 a565:string = ""; 625 a566:string = ""; 626 a567:string = ""; 627 a568:string = ""; 628 a569:string = ""; 629 a570:string = ""; 630 a571:string = ""; 631 a572:string = ""; 632 a573:string = ""; 633 a574:string = ""; 634 a575:string = ""; 635 a576:string = ""; 636 a577:string = ""; 637 a578:string = ""; 638 a579:string = ""; 639 a580:string = ""; 640 a581:string = ""; 641 a582:string = ""; 642 a583:string = ""; 643 a584:string = ""; 644 a585:string = ""; 645 a586:string = ""; 646 a587:string = ""; 647 a588:string = ""; 648 a589:string = ""; 649 a590:string = ""; 650 a591:string = ""; 651 a592:string = ""; 652 a593:string = ""; 653 a594:string = ""; 654 a595:string = ""; 655 a596:string = ""; 656 a597:string = ""; 657 a598:string = ""; 658 a599:string = ""; 659 a600:string = ""; 660 a601:string = ""; 661 a602:string = ""; 662 a603:string = ""; 663 a604:string = ""; 664 a605:string = ""; 665 a606:string = ""; 666 a607:string = ""; 667 a608:string = ""; 668 a609:string = ""; 669 a610:string = ""; 670 a611:string = ""; 671 a612:string = ""; 672 a613:string = ""; 673 a614:string = ""; 674 a615:string = ""; 675 a616:string = ""; 676 a617:string = ""; 677 a618:string = ""; 678 a619:string = ""; 679 a620:string = ""; 680 a621:string = ""; 681 a622:string = ""; 682 a623:string = ""; 683 a624:string = ""; 684 a625:string = ""; 685 a626:string = ""; 686 a627:string = ""; 687 a628:string = ""; 688 a629:string = ""; 689 a630:string = ""; 690 a631:string = ""; 691 a632:string = ""; 692 a633:string = ""; 693 a634:string = ""; 694 a635:string = ""; 695 a636:string = ""; 696 a637:string = ""; 697 a638:string = ""; 698 a639:string = ""; 699 a640:string = ""; 700 a641:string = ""; 701 a642:string = ""; 702 a643:string = ""; 703 a644:string = ""; 704 a645:string = ""; 705 a646:string = ""; 706 a647:string = ""; 707 a648:string = ""; 708 a649:string = ""; 709 a650:string = ""; 710 a651:string = ""; 711 a652:string = ""; 712 a653:string = ""; 713 a654:string = ""; 714 a655:string = ""; 715 a656:string = ""; 716 a657:string = ""; 717 a658:string = ""; 718 a659:string = ""; 719 a660:string = ""; 720 a661:string = ""; 721 a662:string = ""; 722 a663:string = ""; 723 a664:string = ""; 724 a665:string = ""; 725 a666:string = ""; 726 a667:string = ""; 727 a668:string = ""; 728 a669:string = ""; 729 a670:string = ""; 730 a671:string = ""; 731 a672:string = ""; 732 a673:string = ""; 733 a674:string = ""; 734 a675:string = ""; 735 a676:string = ""; 736 a677:string = ""; 737 a678:string = ""; 738 a679:string = ""; 739 a680:string = ""; 740 a681:string = ""; 741 a682:string = ""; 742 a683:string = ""; 743 a684:string = ""; 744 a685:string = ""; 745 a686:string = ""; 746 a687:string = ""; 747 a688:string = ""; 748 a689:string = ""; 749 a690:string = ""; 750 a691:string = ""; 751 a692:string = ""; 752 a693:string = ""; 753 a694:string = ""; 754 a695:string = ""; 755 a696:string = ""; 756 a697:string = ""; 757 a698:string = ""; 758 a699:string = ""; 759 a700:string = ""; 760 a701:string = ""; 761 a702:string = ""; 762 a703:string = ""; 763 a704:string = ""; 764 a705:string = ""; 765 a706:string = ""; 766 a707:string = ""; 767 a708:string = ""; 768 a709:string = ""; 769 a710:string = ""; 770 a711:string = ""; 771 a712:string = ""; 772 a713:string = ""; 773 a714:string = ""; 774 a715:string = ""; 775 a716:string = ""; 776 a717:string = ""; 777 a718:string = ""; 778 a719:string = ""; 779 a720:string = ""; 780 a721:string = ""; 781 a722:string = ""; 782 a723:string = ""; 783 a724:string = ""; 784 a725:string = ""; 785 a726:string = ""; 786 a727:string = ""; 787 a728:string = ""; 788 a729:string = ""; 789 a730:string = ""; 790 a731:string = ""; 791 a732:string = ""; 792 a733:string = ""; 793 a734:string = ""; 794 a735:string = ""; 795 a736:string = ""; 796 a737:string = ""; 797 a738:string = ""; 798 a739:string = ""; 799 a740:string = ""; 800 a741:string = ""; 801 a742:string = ""; 802 a743:string = ""; 803 a744:string = ""; 804 a745:string = ""; 805 a746:string = ""; 806 a747:string = ""; 807 a748:string = ""; 808 a749:string = ""; 809 a750:string = ""; 810 a751:string = ""; 811 a752:string = ""; 812 a753:string = ""; 813 a754:string = ""; 814 a755:string = ""; 815 a756:string = ""; 816 a757:string = ""; 817 a758:string = ""; 818 a759:string = ""; 819 a760:string = ""; 820 a761:string = ""; 821 a762:string = ""; 822 a763:string = ""; 823 a764:string = ""; 824 a765:string = ""; 825 a766:string = ""; 826 a767:string = ""; 827 a768:string = ""; 828 a769:string = ""; 829 a770:string = ""; 830 a771:string = ""; 831 a772:string = ""; 832 a773:string = ""; 833 a774:string = ""; 834 a775:string = ""; 835 a776:string = ""; 836 a777:string = ""; 837 a778:string = ""; 838 a779:string = ""; 839 a780:string = ""; 840 a781:string = ""; 841 a782:string = ""; 842 a783:string = ""; 843 a784:string = ""; 844 a785:string = ""; 845 a786:string = ""; 846 a787:string = ""; 847 a788:string = ""; 848 a789:string = ""; 849 a790:string = ""; 850 a791:string = ""; 851 a792:string = ""; 852 a793:string = ""; 853 a794:string = ""; 854 a795:string = ""; 855 a796:string = ""; 856 a797:string = ""; 857 a798:string = ""; 858 a799:string = ""; 859 a800:string = ""; 860 a801:string = ""; 861 a802:string = ""; 862 a803:string = ""; 863 a804:string = ""; 864 a805:string = ""; 865 a806:string = ""; 866 a807:string = ""; 867 a808:string = ""; 868 a809:string = ""; 869 a810:string = ""; 870 a811:string = ""; 871 a812:string = ""; 872 a813:string = ""; 873 a814:string = ""; 874 a815:string = ""; 875 a816:string = ""; 876 a817:string = ""; 877 a818:string = ""; 878 a819:string = ""; 879 a820:string = ""; 880 a821:string = ""; 881 a822:string = ""; 882 a823:string = ""; 883 a824:string = ""; 884 a825:string = ""; 885 a826:string = ""; 886 a827:string = ""; 887 a828:string = ""; 888 a829:string = ""; 889 a830:string = ""; 890 a831:string = ""; 891 a832:string = ""; 892 a833:string = ""; 893 a834:string = ""; 894 a835:string = ""; 895 a836:string = ""; 896 a837:string = ""; 897 a838:string = ""; 898 a839:string = ""; 899 a840:string = ""; 900 a841:string = ""; 901 a842:string = ""; 902 a843:string = ""; 903 a844:string = ""; 904 a845:string = ""; 905 a846:string = ""; 906 a847:string = ""; 907 a848:string = ""; 908 a849:string = ""; 909 a850:string = ""; 910 a851:string = ""; 911 a852:string = ""; 912 a853:string = ""; 913 a854:string = ""; 914 a855:string = ""; 915 a856:string = ""; 916 a857:string = ""; 917 a858:string = ""; 918 a859:string = ""; 919 a860:string = ""; 920 a861:string = ""; 921 a862:string = ""; 922 a863:string = ""; 923 a864:string = ""; 924 a865:string = ""; 925 a866:string = ""; 926 a867:string = ""; 927 a868:string = ""; 928 a869:string = ""; 929 a870:string = ""; 930 a871:string = ""; 931 a872:string = ""; 932 a873:string = ""; 933 a874:string = ""; 934 a875:string = ""; 935 a876:string = ""; 936 a877:string = ""; 937 a878:string = ""; 938 a879:string = ""; 939 a880:string = ""; 940 a881:string = ""; 941 a882:string = ""; 942 a883:string = ""; 943 a884:string = ""; 944 a885:string = ""; 945 a886:string = ""; 946 a887:string = ""; 947 a888:string = ""; 948 a889:string = ""; 949 a890:string = ""; 950 a891:string = ""; 951 a892:string = ""; 952 a893:string = ""; 953 a894:string = ""; 954 a895:string = ""; 955 a896:string = ""; 956 a897:string = ""; 957 a898:string = ""; 958 a899:string = ""; 959 a900:string = ""; 960 a901:string = ""; 961 a902:string = ""; 962 a903:string = ""; 963 a904:string = ""; 964 a905:string = ""; 965 a906:string = ""; 966 a907:string = ""; 967 a908:string = ""; 968 a909:string = ""; 969 a910:string = ""; 970 a911:string = ""; 971 a912:string = ""; 972 a913:string = ""; 973 a914:string = ""; 974 a915:string = ""; 975 a916:string = ""; 976 a917:string = ""; 977 a918:string = ""; 978 a919:string = ""; 979 a920:string = ""; 980 a921:string = ""; 981 a922:string = ""; 982 a923:string = ""; 983 a924:string = ""; 984 a925:string = ""; 985 a926:string = ""; 986 a927:string = ""; 987 a928:string = ""; 988 a929:string = ""; 989 a930:string = ""; 990 a931:string = ""; 991 a932:string = ""; 992 a933:string = ""; 993 a934:string = ""; 994 a935:string = ""; 995 a936:string = ""; 996 a937:string = ""; 997 a938:string = ""; 998 a939:string = ""; 999 a940:string = ""; 1000 a941:string = ""; 1001 a942:string = ""; 1002 a943:string = ""; 1003 a944:string = ""; 1004 a945:string = ""; 1005 a946:string = ""; 1006 a947:string = ""; 1007 a948:string = ""; 1008 a949:string = ""; 1009 a950:string = ""; 1010 a951:string = ""; 1011 a952:string = ""; 1012 a953:string = ""; 1013 a954:string = ""; 1014 a955:string = ""; 1015 a956:string = ""; 1016 a957:string = ""; 1017 a958:string = ""; 1018 a959:string = ""; 1019 a960:string = ""; 1020 a961:string = ""; 1021 a962:string = ""; 1022 a963:string = ""; 1023 a964:string = ""; 1024 a965:string = ""; 1025 a966:string = ""; 1026 a967:string = ""; 1027 a968:string = ""; 1028 a969:string = ""; 1029 a970:string = ""; 1030 a971:string = ""; 1031 a972:string = ""; 1032 a973:string = ""; 1033 a974:string = ""; 1034 a975:string = ""; 1035 a976:string = ""; 1036 a977:string = ""; 1037 a978:string = ""; 1038 a979:string = ""; 1039 a980:string = ""; 1040 a981:string = ""; 1041 a982:string = ""; 1042 a983:string = ""; 1043 a984:string = ""; 1044 a985:string = ""; 1045 a986:string = ""; 1046 a987:string = ""; 1047 a988:string = ""; 1048 a989:string = ""; 1049 a990:string = ""; 1050 a991:string = ""; 1051 a992:string = ""; 1052 a993:string = ""; 1053 a994:string = ""; 1054 a995:string = ""; 1055 a996:string = ""; 1056 a997:string = ""; 1057 a998:string = ""; 1058 a999:string = ""; 1059 a1000:string = ""; 1060 a1001:string = ""; 1061 a1002:string = ""; 1062 a1003:string = ""; 1063 a1004:string = ""; 1064 a1005:string = ""; 1065 a1006:string = ""; 1066 a1007:string = ""; 1067 a1008:string = ""; 1068 a1009:string = ""; 1069 a1010:string = ""; 1070 a1011:string = ""; 1071 a1012:string = ""; 1072 a1013:string = ""; 1073 a1014:string = ""; 1074 a1015:string = ""; 1075 a1016:string = ""; 1076 a1017:string = "a1017" 1077 a1018:string = ""; 1078 a1019:string = ""; 1079 1080 constructor() { 1081 "use sendable"; 1082 super(); 1083 } 1084} 1085 1086class ChildExtendsDict extends ChildToDict { 1087 childField: number = 0; 1088 1089 constructor() { 1090 "use sendable"; 1091 super(); 1092 } 1093} 1094 1095function testParent(parent: Parent) { 1096 // test getter/setter 1097 parent.age; 1098 parent.age = 1; 1099 Parent.sAge; 1100 Parent.sAge = 1; 1101 // test field 1102 print("parent.field = " + parent.field); 1103 print("Parent.sField = " + Parent.sField) 1104} 1105 1106function testChild(child: Child) { 1107 // test base 1108 testParent(child); 1109 // test child 1110 print("child.childField = " + child.childField); 1111} 1112 1113function testChildToDict(child: ChildToDict) { 1114 // test parent 1115 testParent(child); 1116 // test childToDict 1117 print("child.a1017 = " + child.a1017); 1118} 1119 1120function testChildExtendsDict(child: ChildExtendsDict) { 1121 // test parent 1122 testChildToDict(child); 1123 // test childExtendsDict 1124 print("child.childField = " + child.childField); 1125} 1126 1127function testICChecking(child: ChildToDict) { 1128 let loopIndex: number = 0; 1129 try { 1130 for (loopIndex = 0; loopIndex < 2000; loopIndex++) { 1131 child.a999 = loopIndex < 1000 ? "hi" : 1; 1132 } 1133 print("[IC] Success to assign member in dict mode times with mismatched value"); 1134 } catch (error) { 1135 print("[IC] Fail to assign member in dict mode with mismatched value. err: " + error + ", loopIndex: " + loopIndex); 1136 } 1137} 1138 1139let parent = new Parent; 1140let child = new Child; 1141let childToDict = new ChildToDict; 1142let childExtendsDict = new ChildExtendsDict; 1143 1144testParent(parent); 1145testChild(child); 1146testChildToDict(childToDict); 1147testChildExtendsDict(childExtendsDict); 1148testICChecking(childToDict); 1149