1/* 2 * Copyright (c) 2023-2024 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 16class Mat4 { 17 constructor( 18 m0: double, 19 m1: double, 20 m2: double, 21 m3: double, 22 m4: double, 23 m5: double, 24 m6: double, 25 m7: double, 26 m8: double, 27 m9: double, 28 m10: double, 29 m11: double, 30 m12: double, 31 m13: double, 32 m14: double, 33 m15: double, 34 m16: double, 35 m17: double, 36 m18: double, 37 m19: double, 38 m20: double, 39 m21: double, 40 m22: double, 41 m23: double, 42 m24: double, 43 m25: double, 44 m26: double, 45 m27: double, 46 m28: double, 47 m29: double, 48 m30: double, 49 m31: double, 50 m32: double, 51 m33: double, 52 m34: double, 53 m35: double, 54 m36: double, 55 m37: double, 56 m38: double, 57 m39: double, 58 m40: double, 59 m41: double, 60 m42: double, 61 m43: double, 62 m44: double, 63 m45: double, 64 m46: double, 65 m47: double, 66 m48: double, 67 m49: double, 68 m50: double, 69 m51: double, 70 m52: double, 71 m53: double, 72 m54: double, 73 m55: double, 74 m56: double, 75 m57: double, 76 m58: double, 77 m59: double, 78 m60: double, 79 m61: double, 80 m62: double, 81 m63: double, 82 m64: double, 83 m65: double, 84 m66: double, 85 m67: double, 86 m68: double, 87 m69: double, 88 m70: double, 89 m71: double, 90 m72: double, 91 m73: double, 92 m74: double, 93 m75: double, 94 m76: double, 95 m77: double, 96 m78: double, 97 m79: double, 98 m80: double, 99 m81: double, 100 m82: double, 101 m83: double, 102 m84: double, 103 m85: double, 104 m86: double, 105 m87: double, 106 m88: double, 107 m89: double, 108 m90: double, 109 m91: double, 110 m92: double, 111 m93: double, 112 m94: double, 113 m95: double, 114 m96: double, 115 m97: double, 116 m98: double, 117 m99: double, 118 m100: double, 119 m101: double, 120 m102: double, 121 m103: double, 122 m104: double, 123 m105: double, 124 m106: double, 125 m107: double, 126 m108: double, 127 m109: double, 128 m110: double, 129 m111: double, 130 m112: double, 131 m113: double, 132 m114: double, 133 m115: double, 134 m116: double, 135 m117: double, 136 m118: double, 137 m119: double, 138 m120: double, 139 m121: double, 140 m122: double, 141 m123: double, 142 m124: double, 143 m125: double, 144 m126: double, 145 m127: double, 146 m128: double, 147 m129: double, 148 m130: double, 149 m131: double, 150 m132: double, 151 m133: double, 152 m134: double, 153 m135: double, 154 m136: double, 155 m137: double, 156 m138: double, 157 m139: double, 158 m140: double, 159 m141: double, 160 m142: double, 161 m143: double, 162 m144: double, 163 m145: double, 164 m146: double, 165 m147: double, 166 m148: double, 167 m149: double, 168 m150: double, 169 m151: double, 170 m152: double, 171 m153: double, 172 m154: double, 173 m155: double, 174 m156: double, 175 m157: double, 176 m158: double, 177 m159: double, 178 m160: double, 179 m161: double, 180 m162: double, 181 m163: double, 182 m164: double, 183 m165: double, 184 m166: double, 185 m167: double, 186 m168: double, 187 m169: double, 188 m170: double, 189 m171: double, 190 m172: double, 191 m173: double, 192 m174: double, 193 m175: double, 194 m176: double, 195 m177: double, 196 m178: double, 197 m179: double, 198 m180: double, 199 m181: double, 200 m182: double, 201 m183: double, 202 m184: double, 203 m185: double, 204 m186: double, 205 m187: double, 206 m188: double, 207 m189: double, 208 m190: double, 209 m191: double, 210 m192: double, 211 m193: double, 212 m194: double, 213 m195: double, 214 m196: double, 215 m197: double, 216 m198: double, 217 m199: double, 218 m200: double, 219 m201: double, 220 m202: double, 221 m203: double, 222 m204: double, 223 m205: double, 224 m206: double, 225 m207: double, 226 m208: double, 227 m209: double, 228 m210: double, 229 m211: double, 230 m212: double, 231 m213: double, 232 m214: double, 233 m215: double, 234 m216: double, 235 m217: double, 236 m218: double, 237 m219: double, 238 m220: double, 239 m221: double, 240 m222: double, 241 m223: double, 242 m224: double, 243 m225: double, 244 m226: double, 245 m227: double, 246 m228: double, 247 m229: double, 248 m230: double, 249 m231: double, 250 m232: double, 251 m233: double, 252 m234: double, 253 m235: double, 254 m236: double, 255 m237: double, 256 m238: double, 257 m239: double, 258 m240: double, 259 m241: double, 260 m242: double, 261 m243: double, 262 m244: double, 263 m245: double, 264 m246: double, 265 m247: double, 266 m248: double, 267 m249: double, 268 m250: double, 269 m251: double, 270 m252: double, 271 m253: double, 272 m254: double, 273 m255: double 274 ) {} 275} 276 277function func(): void {} 278 279class ParticleSystem { 280 public f: int; 281 public m = new Mat4( 282 0, 283 0, 284 0, 285 0, 286 0, 287 0, 288 0, 289 0, 290 0, 291 0, 292 0, 293 0, 294 0, 295 0, 296 0, 297 0, 298 0, 299 0, 300 0, 301 0, 302 0, 303 0, 304 0, 305 0, 306 0, 307 0, 308 0, 309 0, 310 0, 311 0, 312 0, 313 0, 314 0, 315 0, 316 0, 317 0, 318 0, 319 0, 320 0, 321 0, 322 0, 323 0, 324 0, 325 0, 326 0, 327 0, 328 0, 329 0, 330 0, 331 0, 332 0, 333 0, 334 0, 335 0, 336 0, 337 0, 338 0, 339 0, 340 0, 341 0, 342 0, 343 0, 344 0, 345 0, 346 0, 347 0, 348 0, 349 0, 350 0, 351 0, 352 0, 353 0, 354 0, 355 0, 356 0, 357 0, 358 0, 359 0, 360 0, 361 0, 362 0, 363 0, 364 0, 365 0, 366 0, 367 0, 368 0, 369 0, 370 0, 371 0, 372 0, 373 0, 374 0, 375 0, 376 0, 377 0, 378 0, 379 0, 380 0, 381 0, 382 0, 383 0, 384 0, 385 0, 386 0, 387 0, 388 0, 389 0, 390 0, 391 0, 392 0, 393 0, 394 0, 395 0, 396 0, 397 0, 398 0, 399 0, 400 0, 401 0, 402 0, 403 0, 404 0, 405 0, 406 0, 407 0, 408 0, 409 0, 410 0, 411 0, 412 0, 413 0, 414 0, 415 0, 416 0, 417 0, 418 0, 419 0, 420 0, 421 0, 422 0, 423 0, 424 0, 425 0, 426 0, 427 0, 428 0, 429 0, 430 0, 431 0, 432 0, 433 0, 434 0, 435 0, 436 0, 437 0, 438 0, 439 0, 440 0, 441 0, 442 0, 443 0, 444 0, 445 0, 446 0, 447 0, 448 0, 449 0, 450 0, 451 0, 452 0, 453 0, 454 0, 455 0, 456 0, 457 0, 458 0, 459 0, 460 0, 461 0, 462 0, 463 0, 464 0, 465 0, 466 0, 467 0, 468 0, 469 0, 470 0, 471 0, 472 0, 473 0, 474 0, 475 0, 476 0, 477 0, 478 0, 479 0, 480 0, 481 0, 482 0, 483 0, 484 0, 485 0, 486 0, 487 0, 488 0, 489 0, 490 0, 491 0, 492 0, 493 0, 494 0, 495 0, 496 0, 497 0, 498 0, 499 0, 500 0, 501 0, 502 0, 503 0, 504 0, 505 0, 506 0, 507 0, 508 0, 509 0, 510 0, 511 0, 512 0, 513 0, 514 0, 515 0, 516 0, 517 0, 518 0, 519 0, 520 0, 521 0, 522 0, 523 0, 524 0, 525 0, 526 0, 527 0, 528 0, 529 0, 530 0, 531 0, 532 0, 533 0, 534 0, 535 0, 536 0, 537 0 538 ); 539 540 foo() { 541 let x0 = 0; 542 let x1 = 1; 543 let x2 = 2; 544 let x3 = 3; 545 let x4 = 4; 546 let x5 = 5; 547 let x6 = 6; 548 let x7 = 7; 549 let x8 = 8; 550 let x9 = 9; 551 let x10 = 10; 552 let x11 = 11; 553 let x12 = 12; 554 let x13 = 13; 555 let x14 = 14; 556 let x15 = 15; 557 let x16 = 16; 558 let x: () => Mat4 = (): Mat4 => { 559 return this.m; 560 } 561 } 562 563 bar() { 564 let x0 = 0 565 let x1 = 0 566 let x2 = 0 567 let x3 = 0 568 let x4 = 0 569 let x5 = 0 570 let x6 = 0 571 let x7 = 0 572 let x8 = 0 573 let x9 = 0 574 let x10 = 0 575 let x11 = 0 576 let x12 = 0 577 let x13 = 0 578 let x14 = 0 579 let x15 = 0 580 let x16 = 0 581 let x17 = 0 582 let x18 = 0 583 let x19 = 0 584 let x20 = 0 585 let x21 = 0 586 let x22 = 0 587 let x23 = 0 588 let x24 = 0 589 let x25 = 0 590 let x26 = 0 591 let x27 = 0 592 let x28 = 0 593 let x29 = 0 594 let x30 = 0 595 let x31 = 0 596 let x32 = 0 597 let x33 = 0 598 let x34 = 0 599 let x35 = 0 600 let x36 = 0 601 let x37 = 0 602 let x38 = 0 603 let x39 = 0 604 let x40 = 0 605 let x41 = 0 606 let x42 = 0 607 let x43 = 0 608 let x44 = 0 609 let x45 = 0 610 let x46 = 0 611 let x47 = 0 612 let x48 = 0 613 let x49 = 0 614 let x50 = 0 615 let x51 = 0 616 let x52 = 0 617 let x53 = 0 618 let x54 = 0 619 let x55 = 0 620 let x56 = 0 621 let x57 = 0 622 let x58 = 0 623 let x59 = 0 624 let x60 = 0 625 let x61 = 0 626 let x62 = 0 627 let x63 = 0 628 let x64 = 0 629 let x65 = 0 630 let x66 = 0 631 let x67 = 0 632 let x68 = 0 633 let x69 = 0 634 let x70 = 0 635 let x71 = 0 636 let x72 = 0 637 let x73 = 0 638 let x74 = 0 639 let x75 = 0 640 let x76 = 0 641 let x77 = 0 642 let x78 = 0 643 let x79 = 0 644 let x80 = 0 645 let x81 = 0 646 let x82 = 0 647 let x83 = 0 648 let x84 = 0 649 let x85 = 0 650 let x86 = 0 651 let x87 = 0 652 let x88 = 0 653 let x89 = 0 654 let x90 = 0 655 let x91 = 0 656 let x92 = 0 657 let x93 = 0 658 let x94 = 0 659 let x95 = 0 660 let x96 = 0 661 let x97 = 0 662 let x98 = 0 663 let x99 = 0 664 let x100 = 0 665 let x101 = 0 666 let x102 = 0 667 let x103 = 0 668 let x104 = 0 669 let x105 = 0 670 let x106 = 0 671 let x107 = 0 672 let x108 = 0 673 let x109 = 0 674 let x110 = 0 675 let x111 = 0 676 let x112 = 0 677 let x113 = 0 678 let x114 = 0 679 let x115 = 0 680 let x116 = 0 681 let x117 = 0 682 let x118 = 0 683 let x119 = 0 684 let x120 = 0 685 let x121 = 0 686 let x122 = 0 687 let x123 = 0 688 let x124 = 0 689 let x125 = 0 690 let x126 = 0 691 let x127 = 0 692 let x128 = 0 693 let x129 = 0 694 let x130 = 0 695 let x131 = 0 696 let x132 = 0 697 let x133 = 0 698 let x134 = 0 699 let x135 = 0 700 let x136 = 0 701 let x137 = 0 702 let x138 = 0 703 let x139 = 0 704 let x140 = 0 705 let x141 = 0 706 let x142 = 0 707 let x143 = 0 708 let x144 = 0 709 let x145 = 0 710 let x146 = 0 711 let x147 = 0 712 let x148 = 0 713 let x149 = 0 714 let x150 = 0 715 let x151 = 0 716 let x152 = 0 717 let x153 = 0 718 let x154 = 0 719 let x155 = 0 720 let x156 = 0 721 let x157 = 0 722 let x158 = 0 723 let x159 = 0 724 let x160 = 0 725 let x161 = 0 726 let x162 = 0 727 let x163 = 0 728 let x164 = 0 729 let x165 = 0 730 let x166 = 0 731 let x167 = 0 732 let x168 = 0 733 let x169 = 0 734 let x170 = 0 735 let x171 = 0 736 let x172 = 0 737 let x173 = 0 738 let x174 = 0 739 let x175 = 0 740 let x176 = 0 741 let x177 = 0 742 let x178 = 0 743 let x179 = 0 744 let x180 = 0 745 let x181 = 0 746 let x182 = 0 747 let x183 = 0 748 let x184 = 0 749 let x185 = 0 750 let x186 = 0 751 let x187 = 0 752 let x188 = 0 753 let x189 = 0 754 let x190 = 0 755 let x191 = 0 756 let x192 = 0 757 let x193 = 0 758 let x194 = 0 759 let x195 = 0 760 let x196 = 0 761 let x197 = 0 762 let x198 = 0 763 let x199 = 0 764 let x200 = 0 765 let x201 = 0 766 let x202 = 0 767 let x203 = 0 768 let x204 = 0 769 let x205 = 0 770 let x206 = 0 771 let x207 = 0 772 let x208 = 0 773 let x209 = 0 774 let x210 = 0 775 let x211 = 0 776 let x212 = 0 777 let x213 = 0 778 let x214 = 0 779 let x215 = 0 780 let x216 = 0 781 let x217 = 0 782 let x218 = 0 783 let x219 = 0 784 let x220 = 0 785 let x221 = 0 786 let x222 = 0 787 let x223 = 0 788 let x224 = 0 789 let x225 = 0 790 let x226 = 0 791 let x227 = 0 792 let x228 = 0 793 let x229 = 0 794 let x230 = 0 795 let x231 = 0 796 let x232 = 0 797 let x233 = 0 798 let x234 = 0 799 let x235 = 0 800 let x236 = 0 801 let x237 = 0 802 let x238 = 0 803 let x239 = 0 804 let x240 = 0 805 let x241 = 0 806 let x242 = 0 807 let x243 = 0 808 let x244 = 0 809 let x245 = 0 810 let x246 = 0 811 let x247 = 0 812 let x248 = 0 813 let x249 = 0 814 let x250 = 0 815 let x251 = 0 816 let x252 = 0 817 let x253 = 0 818 let x254 = 0 819 let x255 = 0 820 let x = this.f 821 this.f = 0 822 } 823} 824 825function foo(p1: int, p2: int): int { 826 let x0 = 0 827 let x1 = 0 828 let x2 = 0 829 let x3 = 0 830 let x4 = 0 831 let x5 = 0 832 let x6 = 0 833 let x7 = 0 834 let x8 = 0 835 let x9 = 0 836 let x10 = 0 837 let x11 = 0 838 let x12 = 0 839 let x13 = 0 840 let x14 = 0 841 let x15 = 0 842 let x16 = 0 843 let x17 = 0 844 let x18 = 0 845 let x19 = 0 846 let x20 = 0 847 let x21 = 0 848 let x22 = 0 849 let x23 = 0 850 let x24 = 0 851 let x25 = 0 852 let x26 = 0 853 let x27 = 0 854 let x28 = 0 855 let x29 = 0 856 let x30 = 0 857 let x31 = 0 858 let x32 = 0 859 let x33 = 0 860 let x34 = 0 861 let x35 = 0 862 let x36 = 0 863 let x37 = 0 864 let x38 = 0 865 let x39 = 0 866 let x40 = 0 867 let x41 = 0 868 let x42 = 0 869 let x43 = 0 870 let x44 = 0 871 let x45 = 0 872 let x46 = 0 873 let x47 = 0 874 let x48 = 0 875 let x49 = 0 876 let x50 = 0 877 let x51 = 0 878 let x52 = 0 879 let x53 = 0 880 let x54 = 0 881 let x55 = 0 882 let x56 = 0 883 let x57 = 0 884 let x58 = 0 885 let x59 = 0 886 let x60 = 0 887 let x61 = 0 888 let x62 = 0 889 let x63 = 0 890 let x64 = 0 891 let x65 = 0 892 let x66 = 0 893 let x67 = 0 894 let x68 = 0 895 let x69 = 0 896 let x70 = 0 897 let x71 = 0 898 let x72 = 0 899 let x73 = 0 900 let x74 = 0 901 let x75 = 0 902 let x76 = 0 903 let x77 = 0 904 let x78 = 0 905 let x79 = 0 906 let x80 = 0 907 let x81 = 0 908 let x82 = 0 909 let x83 = 0 910 let x84 = 0 911 let x85 = 0 912 let x86 = 0 913 let x87 = 0 914 let x88 = 0 915 let x89 = 0 916 let x90 = 0 917 let x91 = 0 918 let x92 = 0 919 let x93 = 0 920 let x94 = 0 921 let x95 = 0 922 let x96 = 0 923 let x97 = 0 924 let x98 = 0 925 let x99 = 0 926 let x100 = 0 927 let x101 = 0 928 let x102 = 0 929 let x103 = 0 930 let x104 = 0 931 let x105 = 0 932 let x106 = 0 933 let x107 = 0 934 let x108 = 0 935 let x109 = 0 936 let x110 = 0 937 let x111 = 0 938 let x112 = 0 939 let x113 = 0 940 let x114 = 0 941 let x115 = 0 942 let x116 = 0 943 let x117 = 0 944 let x118 = 0 945 let x119 = 0 946 let x120 = 0 947 let x121 = 0 948 let x122 = 0 949 let x123 = 0 950 let x124 = 0 951 let x125 = 0 952 let x126 = 0 953 let x127 = 0 954 let x128 = 0 955 let x129 = 0 956 let x130 = 0 957 let x131 = 0 958 let x132 = 0 959 let x133 = 0 960 let x134 = 0 961 let x135 = 0 962 let x136 = 0 963 let x137 = 0 964 let x138 = 0 965 let x139 = 0 966 let x140 = 0 967 let x141 = 0 968 let x142 = 0 969 let x143 = 0 970 let x144 = 0 971 let x145 = 0 972 let x146 = 0 973 let x147 = 0 974 let x148 = 0 975 let x149 = 0 976 let x150 = 0 977 let x151 = 0 978 let x152 = 0 979 let x153 = 0 980 let x154 = 0 981 let x155 = 0 982 let x156 = 0 983 let x157 = 0 984 let x158 = 0 985 let x159 = 0 986 let x160 = 0 987 let x161 = 0 988 let x162 = 0 989 let x163 = 0 990 let x164 = 0 991 let x165 = 0 992 let x166 = 0 993 let x167 = 0 994 let x168 = 0 995 let x169 = 0 996 let x170 = 0 997 let x171 = 0 998 let x172 = 0 999 let x173 = 0 1000 let x174 = 0 1001 let x175 = 0 1002 let x176 = 0 1003 let x177 = 0 1004 let x178 = 0 1005 let x179 = 0 1006 let x180 = 0 1007 let x181 = 0 1008 let x182 = 0 1009 let x183 = 0 1010 let x184 = 0 1011 let x185 = 0 1012 let x186 = 0 1013 let x187 = 0 1014 let x188 = 0 1015 let x189 = 0 1016 let x190 = 0 1017 let x191 = 0 1018 let x192 = 0 1019 let x193 = 0 1020 let x194 = 0 1021 let x195 = 0 1022 let x196 = 0 1023 let x197 = 0 1024 let x198 = 0 1025 let x199 = 0 1026 let x200 = 0 1027 let x201 = 0 1028 let x202 = 0 1029 let x203 = 0 1030 let x204 = 0 1031 let x205 = 0 1032 let x206 = 0 1033 let x207 = 0 1034 let x208 = 0 1035 let x209 = 0 1036 let x210 = 0 1037 let x211 = 0 1038 let x212 = 0 1039 let x213 = 0 1040 let x214 = 0 1041 let x215 = 0 1042 let x216 = 0 1043 let x217 = 0 1044 let x218 = 0 1045 let x219 = 0 1046 let x220 = 0 1047 let x221 = 0 1048 let x222 = 0 1049 let x223 = 0 1050 let x224 = 0 1051 let x225 = 0 1052 let x226 = 0 1053 let x227 = 0 1054 let x228 = 0 1055 let x229 = 0 1056 let x230 = 0 1057 let x231 = 0 1058 let x232 = 0 1059 let x233 = 0 1060 let x234 = 0 1061 let x235 = 0 1062 let x236 = 0 1063 let x237 = 0 1064 let x238 = 0 1065 let x239 = 0 1066 let x240 = 0 1067 let x241 = 0 1068 let x242 = 0 1069 let x243 = 0 1070 let x244 = 0 1071 let x245 = 0 1072 let x246 = 0 1073 let x247 = 0 1074 let x248 = 0 1075 let x249 = 0 1076 let x250 = 0 1077 let x251 = 0 1078 let x252 = 0 1079 let x253 = 0 1080 let x254 = 0 1081 let x255 = 0 1082 return p1 + p2 1083} 1084 1085