• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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