1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ETSPackageDeclaration", 6 "name": { 7 "type": "TSQualifiedName", 8 "left": { 9 "type": "TSQualifiedName", 10 "left": { 11 "type": "TSQualifiedName", 12 "left": { 13 "type": "TSQualifiedName", 14 "left": { 15 "type": "Identifier", 16 "name": "com", 17 "decorators": [], 18 "loc": { 19 "start": { 20 "line": 16, 21 "column": 9 22 }, 23 "end": { 24 "line": 16, 25 "column": 12 26 } 27 } 28 }, 29 "right": { 30 "type": "Identifier", 31 "name": "huawei", 32 "decorators": [], 33 "loc": { 34 "start": { 35 "line": 16, 36 "column": 13 37 }, 38 "end": { 39 "line": 16, 40 "column": 19 41 } 42 } 43 }, 44 "loc": { 45 "start": { 46 "line": 16, 47 "column": 9 48 }, 49 "end": { 50 "line": 16, 51 "column": 19 52 } 53 } 54 }, 55 "right": { 56 "type": "Identifier", 57 "name": "migrationtool", 58 "decorators": [], 59 "loc": { 60 "start": { 61 "line": 16, 62 "column": 20 63 }, 64 "end": { 65 "line": 16, 66 "column": 33 67 } 68 } 69 }, 70 "loc": { 71 "start": { 72 "line": 16, 73 "column": 9 74 }, 75 "end": { 76 "line": 16, 77 "column": 33 78 } 79 } 80 }, 81 "right": { 82 "type": "Identifier", 83 "name": "teets", 84 "decorators": [], 85 "loc": { 86 "start": { 87 "line": 16, 88 "column": 34 89 }, 90 "end": { 91 "line": 16, 92 "column": 39 93 } 94 } 95 }, 96 "loc": { 97 "start": { 98 "line": 16, 99 "column": 9 100 }, 101 "end": { 102 "line": 16, 103 "column": 39 104 } 105 } 106 }, 107 "right": { 108 "type": "Identifier", 109 "name": "sts", 110 "decorators": [], 111 "loc": { 112 "start": { 113 "line": 16, 114 "column": 40 115 }, 116 "end": { 117 "line": 16, 118 "column": 43 119 } 120 } 121 }, 122 "loc": { 123 "start": { 124 "line": 16, 125 "column": 9 126 }, 127 "end": { 128 "line": 16, 129 "column": 44 130 } 131 } 132 }, 133 "loc": { 134 "start": { 135 "line": 16, 136 "column": 1 137 }, 138 "end": { 139 "line": 16, 140 "column": 44 141 } 142 } 143 }, 144 { 145 "type": "TSInterfaceDeclaration", 146 "body": { 147 "type": "TSInterfaceBody", 148 "body": [], 149 "loc": { 150 "start": { 151 "line": 18, 152 "column": 23 153 }, 154 "end": { 155 "line": 19, 156 "column": 2 157 } 158 } 159 }, 160 "id": { 161 "type": "Identifier", 162 "name": "interface_a", 163 "decorators": [], 164 "loc": { 165 "start": { 166 "line": 18, 167 "column": 11 168 }, 169 "end": { 170 "line": 18, 171 "column": 22 172 } 173 } 174 }, 175 "extends": [], 176 "loc": { 177 "start": { 178 "line": 18, 179 "column": 1 180 }, 181 "end": { 182 "line": 21, 183 "column": 10 184 } 185 } 186 }, 187 { 188 "type": "TSInterfaceDeclaration", 189 "body": { 190 "type": "TSInterfaceBody", 191 "body": [], 192 "loc": { 193 "start": { 194 "line": 21, 195 "column": 23 196 }, 197 "end": { 198 "line": 22, 199 "column": 2 200 } 201 } 202 }, 203 "id": { 204 "type": "Identifier", 205 "name": "interface_b", 206 "decorators": [], 207 "loc": { 208 "start": { 209 "line": 21, 210 "column": 11 211 }, 212 "end": { 213 "line": 21, 214 "column": 22 215 } 216 } 217 }, 218 "extends": [], 219 "loc": { 220 "start": { 221 "line": 21, 222 "column": 1 223 }, 224 "end": { 225 "line": 24, 226 "column": 6 227 } 228 } 229 }, 230 { 231 "type": "ClassDeclaration", 232 "definition": { 233 "id": { 234 "type": "Identifier", 235 "name": "base_class", 236 "decorators": [], 237 "loc": { 238 "start": { 239 "line": 24, 240 "column": 7 241 }, 242 "end": { 243 "line": 24, 244 "column": 17 245 } 246 } 247 }, 248 "superClass": null, 249 "implements": [], 250 "body": [ 251 { 252 "type": "MethodDefinition", 253 "key": { 254 "type": "Identifier", 255 "name": "constructor", 256 "decorators": [], 257 "loc": { 258 "start": { 259 "line": 1, 260 "column": 1 261 }, 262 "end": { 263 "line": 1, 264 "column": 1 265 } 266 } 267 }, 268 "kind": "constructor", 269 "static": false, 270 "optional": false, 271 "computed": false, 272 "value": { 273 "type": "FunctionExpression", 274 "function": { 275 "type": "ScriptFunction", 276 "id": { 277 "type": "Identifier", 278 "name": "constructor", 279 "decorators": [], 280 "loc": { 281 "start": { 282 "line": 1, 283 "column": 1 284 }, 285 "end": { 286 "line": 1, 287 "column": 1 288 } 289 } 290 }, 291 "generator": false, 292 "async": false, 293 "expression": false, 294 "params": [], 295 "body": { 296 "type": "BlockStatement", 297 "statements": [], 298 "loc": { 299 "start": { 300 "line": 1, 301 "column": 1 302 }, 303 "end": { 304 "line": 1, 305 "column": 1 306 } 307 } 308 }, 309 "loc": { 310 "start": { 311 "line": 1, 312 "column": 1 313 }, 314 "end": { 315 "line": 1, 316 "column": 1 317 } 318 } 319 }, 320 "loc": { 321 "start": { 322 "line": 1, 323 "column": 1 324 }, 325 "end": { 326 "line": 1, 327 "column": 1 328 } 329 } 330 }, 331 "overloads": [], 332 "decorators": [], 333 "loc": { 334 "start": { 335 "line": 25, 336 "column": 2 337 }, 338 "end": { 339 "line": 25, 340 "column": 2 341 } 342 } 343 } 344 ], 345 "loc": { 346 "start": { 347 "line": 24, 348 "column": 19 349 }, 350 "end": { 351 "line": 25, 352 "column": 2 353 } 354 } 355 }, 356 "loc": { 357 "start": { 358 "line": 24, 359 "column": 1 360 }, 361 "end": { 362 "line": 25, 363 "column": 2 364 } 365 } 366 }, 367 { 368 "type": "ClassDeclaration", 369 "definition": { 370 "id": { 371 "type": "Identifier", 372 "name": "public_class", 373 "decorators": [], 374 "loc": { 375 "start": { 376 "line": 27, 377 "column": 7 378 }, 379 "end": { 380 "line": 27, 381 "column": 19 382 } 383 } 384 }, 385 "superClass": { 386 "type": "ETSTypeReference", 387 "part": { 388 "type": "ETSTypeReferencePart", 389 "name": { 390 "type": "Identifier", 391 "name": "base_class", 392 "decorators": [], 393 "loc": { 394 "start": { 395 "line": 27, 396 "column": 28 397 }, 398 "end": { 399 "line": 27, 400 "column": 38 401 } 402 } 403 }, 404 "loc": { 405 "start": { 406 "line": 27, 407 "column": 28 408 }, 409 "end": { 410 "line": 27, 411 "column": 49 412 } 413 } 414 }, 415 "loc": { 416 "start": { 417 "line": 27, 418 "column": 28 419 }, 420 "end": { 421 "line": 27, 422 "column": 49 423 } 424 } 425 }, 426 "implements": [ 427 { 428 "type": "TSClassImplements", 429 "expression": { 430 "type": "ETSTypeReference", 431 "part": { 432 "type": "ETSTypeReferencePart", 433 "name": { 434 "type": "Identifier", 435 "name": "interface_a", 436 "decorators": [], 437 "loc": { 438 "start": { 439 "line": 27, 440 "column": 50 441 }, 442 "end": { 443 "line": 27, 444 "column": 61 445 } 446 } 447 }, 448 "loc": { 449 "start": { 450 "line": 27, 451 "column": 50 452 }, 453 "end": { 454 "line": 27, 455 "column": 62 456 } 457 } 458 }, 459 "loc": { 460 "start": { 461 "line": 27, 462 "column": 50 463 }, 464 "end": { 465 "line": 27, 466 "column": 62 467 } 468 } 469 }, 470 "loc": { 471 "start": { 472 "line": 27, 473 "column": 50 474 }, 475 "end": { 476 "line": 27, 477 "column": 62 478 } 479 } 480 }, 481 { 482 "type": "TSClassImplements", 483 "expression": { 484 "type": "ETSTypeReference", 485 "part": { 486 "type": "ETSTypeReferencePart", 487 "name": { 488 "type": "Identifier", 489 "name": "interface_b", 490 "decorators": [], 491 "loc": { 492 "start": { 493 "line": 27, 494 "column": 63 495 }, 496 "end": { 497 "line": 27, 498 "column": 74 499 } 500 } 501 }, 502 "loc": { 503 "start": { 504 "line": 27, 505 "column": 63 506 }, 507 "end": { 508 "line": 27, 509 "column": 77 510 } 511 } 512 }, 513 "loc": { 514 "start": { 515 "line": 27, 516 "column": 63 517 }, 518 "end": { 519 "line": 27, 520 "column": 77 521 } 522 } 523 }, 524 "loc": { 525 "start": { 526 "line": 27, 527 "column": 63 528 }, 529 "end": { 530 "line": 27, 531 "column": 77 532 } 533 } 534 } 535 ], 536 "body": [ 537 { 538 "type": "MethodDefinition", 539 "key": { 540 "type": "Identifier", 541 "name": "constructor", 542 "decorators": [], 543 "loc": { 544 "start": { 545 "line": 1, 546 "column": 1 547 }, 548 "end": { 549 "line": 1, 550 "column": 1 551 } 552 } 553 }, 554 "kind": "constructor", 555 "static": false, 556 "optional": false, 557 "computed": false, 558 "value": { 559 "type": "FunctionExpression", 560 "function": { 561 "type": "ScriptFunction", 562 "id": { 563 "type": "Identifier", 564 "name": "constructor", 565 "decorators": [], 566 "loc": { 567 "start": { 568 "line": 1, 569 "column": 1 570 }, 571 "end": { 572 "line": 1, 573 "column": 1 574 } 575 } 576 }, 577 "generator": false, 578 "async": false, 579 "expression": false, 580 "params": [], 581 "body": { 582 "type": "BlockStatement", 583 "statements": [], 584 "loc": { 585 "start": { 586 "line": 1, 587 "column": 1 588 }, 589 "end": { 590 "line": 1, 591 "column": 1 592 } 593 } 594 }, 595 "loc": { 596 "start": { 597 "line": 1, 598 "column": 1 599 }, 600 "end": { 601 "line": 1, 602 "column": 1 603 } 604 } 605 }, 606 "loc": { 607 "start": { 608 "line": 1, 609 "column": 1 610 }, 611 "end": { 612 "line": 1, 613 "column": 1 614 } 615 } 616 }, 617 "overloads": [], 618 "decorators": [], 619 "loc": { 620 "start": { 621 "line": 28, 622 "column": 2 623 }, 624 "end": { 625 "line": 28, 626 "column": 2 627 } 628 } 629 } 630 ], 631 "loc": { 632 "start": { 633 "line": 27, 634 "column": 76 635 }, 636 "end": { 637 "line": 28, 638 "column": 2 639 } 640 } 641 }, 642 "loc": { 643 "start": { 644 "line": 27, 645 "column": 1 646 }, 647 "end": { 648 "line": 28, 649 "column": 2 650 } 651 } 652 }, 653 { 654 "type": "ClassDeclaration", 655 "definition": { 656 "id": { 657 "type": "Identifier", 658 "name": "final_class", 659 "decorators": [], 660 "loc": { 661 "start": { 662 "line": 30, 663 "column": 7 664 }, 665 "end": { 666 "line": 30, 667 "column": 18 668 } 669 } 670 }, 671 "superClass": { 672 "type": "ETSTypeReference", 673 "part": { 674 "type": "ETSTypeReferencePart", 675 "name": { 676 "type": "Identifier", 677 "name": "base_class", 678 "decorators": [], 679 "loc": { 680 "start": { 681 "line": 30, 682 "column": 27 683 }, 684 "end": { 685 "line": 30, 686 "column": 37 687 } 688 } 689 }, 690 "loc": { 691 "start": { 692 "line": 30, 693 "column": 27 694 }, 695 "end": { 696 "line": 30, 697 "column": 40 698 } 699 } 700 }, 701 "loc": { 702 "start": { 703 "line": 30, 704 "column": 27 705 }, 706 "end": { 707 "line": 30, 708 "column": 40 709 } 710 } 711 }, 712 "implements": [], 713 "body": [ 714 { 715 "type": "MethodDefinition", 716 "key": { 717 "type": "Identifier", 718 "name": "constructor", 719 "decorators": [], 720 "loc": { 721 "start": { 722 "line": 1, 723 "column": 1 724 }, 725 "end": { 726 "line": 1, 727 "column": 1 728 } 729 } 730 }, 731 "kind": "constructor", 732 "static": false, 733 "optional": false, 734 "computed": false, 735 "value": { 736 "type": "FunctionExpression", 737 "function": { 738 "type": "ScriptFunction", 739 "id": { 740 "type": "Identifier", 741 "name": "constructor", 742 "decorators": [], 743 "loc": { 744 "start": { 745 "line": 1, 746 "column": 1 747 }, 748 "end": { 749 "line": 1, 750 "column": 1 751 } 752 } 753 }, 754 "generator": false, 755 "async": false, 756 "expression": false, 757 "params": [], 758 "body": { 759 "type": "BlockStatement", 760 "statements": [], 761 "loc": { 762 "start": { 763 "line": 1, 764 "column": 1 765 }, 766 "end": { 767 "line": 1, 768 "column": 1 769 } 770 } 771 }, 772 "loc": { 773 "start": { 774 "line": 1, 775 "column": 1 776 }, 777 "end": { 778 "line": 1, 779 "column": 1 780 } 781 } 782 }, 783 "loc": { 784 "start": { 785 "line": 1, 786 "column": 1 787 }, 788 "end": { 789 "line": 1, 790 "column": 1 791 } 792 } 793 }, 794 "overloads": [], 795 "decorators": [], 796 "loc": { 797 "start": { 798 "line": 31, 799 "column": 2 800 }, 801 "end": { 802 "line": 31, 803 "column": 2 804 } 805 } 806 } 807 ], 808 "loc": { 809 "start": { 810 "line": 30, 811 "column": 39 812 }, 813 "end": { 814 "line": 31, 815 "column": 2 816 } 817 } 818 }, 819 "loc": { 820 "start": { 821 "line": 30, 822 "column": 1 823 }, 824 "end": { 825 "line": 31, 826 "column": 2 827 } 828 } 829 }, 830 { 831 "type": "ClassDeclaration", 832 "definition": { 833 "id": { 834 "type": "Identifier", 835 "name": "abstract_class", 836 "decorators": [], 837 "loc": { 838 "start": { 839 "line": 33, 840 "column": 16 841 }, 842 "end": { 843 "line": 33, 844 "column": 30 845 } 846 } 847 }, 848 "superClass": { 849 "type": "ETSTypeReference", 850 "part": { 851 "type": "ETSTypeReferencePart", 852 "name": { 853 "type": "Identifier", 854 "name": "base_class", 855 "decorators": [], 856 "loc": { 857 "start": { 858 "line": 33, 859 "column": 39 860 }, 861 "end": { 862 "line": 33, 863 "column": 49 864 } 865 } 866 }, 867 "loc": { 868 "start": { 869 "line": 33, 870 "column": 39 871 }, 872 "end": { 873 "line": 33, 874 "column": 60 875 } 876 } 877 }, 878 "loc": { 879 "start": { 880 "line": 33, 881 "column": 39 882 }, 883 "end": { 884 "line": 33, 885 "column": 60 886 } 887 } 888 }, 889 "implements": [ 890 { 891 "type": "TSClassImplements", 892 "expression": { 893 "type": "ETSTypeReference", 894 "part": { 895 "type": "ETSTypeReferencePart", 896 "name": { 897 "type": "Identifier", 898 "name": "interface_b", 899 "decorators": [], 900 "loc": { 901 "start": { 902 "line": 33, 903 "column": 61 904 }, 905 "end": { 906 "line": 33, 907 "column": 72 908 } 909 } 910 }, 911 "loc": { 912 "start": { 913 "line": 33, 914 "column": 61 915 }, 916 "end": { 917 "line": 33, 918 "column": 75 919 } 920 } 921 }, 922 "loc": { 923 "start": { 924 "line": 33, 925 "column": 61 926 }, 927 "end": { 928 "line": 33, 929 "column": 75 930 } 931 } 932 }, 933 "loc": { 934 "start": { 935 "line": 33, 936 "column": 61 937 }, 938 "end": { 939 "line": 33, 940 "column": 75 941 } 942 } 943 } 944 ], 945 "body": [ 946 { 947 "type": "MethodDefinition", 948 "key": { 949 "type": "Identifier", 950 "name": "constructor", 951 "decorators": [], 952 "loc": { 953 "start": { 954 "line": 1, 955 "column": 1 956 }, 957 "end": { 958 "line": 1, 959 "column": 1 960 } 961 } 962 }, 963 "kind": "constructor", 964 "static": false, 965 "optional": false, 966 "computed": false, 967 "value": { 968 "type": "FunctionExpression", 969 "function": { 970 "type": "ScriptFunction", 971 "id": { 972 "type": "Identifier", 973 "name": "constructor", 974 "decorators": [], 975 "loc": { 976 "start": { 977 "line": 1, 978 "column": 1 979 }, 980 "end": { 981 "line": 1, 982 "column": 1 983 } 984 } 985 }, 986 "generator": false, 987 "async": false, 988 "expression": false, 989 "params": [], 990 "body": { 991 "type": "BlockStatement", 992 "statements": [], 993 "loc": { 994 "start": { 995 "line": 1, 996 "column": 1 997 }, 998 "end": { 999 "line": 1, 1000 "column": 1 1001 } 1002 } 1003 }, 1004 "loc": { 1005 "start": { 1006 "line": 1, 1007 "column": 1 1008 }, 1009 "end": { 1010 "line": 1, 1011 "column": 1 1012 } 1013 } 1014 }, 1015 "loc": { 1016 "start": { 1017 "line": 1, 1018 "column": 1 1019 }, 1020 "end": { 1021 "line": 1, 1022 "column": 1 1023 } 1024 } 1025 }, 1026 "overloads": [], 1027 "decorators": [], 1028 "loc": { 1029 "start": { 1030 "line": 34, 1031 "column": 2 1032 }, 1033 "end": { 1034 "line": 34, 1035 "column": 2 1036 } 1037 } 1038 } 1039 ], 1040 "loc": { 1041 "start": { 1042 "line": 33, 1043 "column": 74 1044 }, 1045 "end": { 1046 "line": 34, 1047 "column": 2 1048 } 1049 } 1050 }, 1051 "loc": { 1052 "start": { 1053 "line": 33, 1054 "column": 10 1055 }, 1056 "end": { 1057 "line": 34, 1058 "column": 2 1059 } 1060 } 1061 }, 1062 { 1063 "type": "ClassDeclaration", 1064 "definition": { 1065 "id": { 1066 "type": "Identifier", 1067 "name": "inheritance", 1068 "decorators": [], 1069 "loc": { 1070 "start": { 1071 "line": 36, 1072 "column": 14 1073 }, 1074 "end": { 1075 "line": 36, 1076 "column": 25 1077 } 1078 } 1079 }, 1080 "superClass": { 1081 "type": "ETSTypeReference", 1082 "part": { 1083 "type": "ETSTypeReferencePart", 1084 "name": { 1085 "type": "Identifier", 1086 "name": "base_class", 1087 "decorators": [], 1088 "loc": { 1089 "start": { 1090 "line": 36, 1091 "column": 34 1092 }, 1093 "end": { 1094 "line": 36, 1095 "column": 44 1096 } 1097 } 1098 }, 1099 "loc": { 1100 "start": { 1101 "line": 36, 1102 "column": 34 1103 }, 1104 "end": { 1105 "line": 36, 1106 "column": 47 1107 } 1108 } 1109 }, 1110 "loc": { 1111 "start": { 1112 "line": 36, 1113 "column": 34 1114 }, 1115 "end": { 1116 "line": 36, 1117 "column": 47 1118 } 1119 } 1120 }, 1121 "implements": [], 1122 "body": [ 1123 { 1124 "type": "MethodDefinition", 1125 "key": { 1126 "type": "Identifier", 1127 "name": "constructor", 1128 "decorators": [], 1129 "loc": { 1130 "start": { 1131 "line": 1, 1132 "column": 1 1133 }, 1134 "end": { 1135 "line": 1, 1136 "column": 1 1137 } 1138 } 1139 }, 1140 "kind": "constructor", 1141 "static": false, 1142 "optional": false, 1143 "computed": false, 1144 "value": { 1145 "type": "FunctionExpression", 1146 "function": { 1147 "type": "ScriptFunction", 1148 "id": { 1149 "type": "Identifier", 1150 "name": "constructor", 1151 "decorators": [], 1152 "loc": { 1153 "start": { 1154 "line": 1, 1155 "column": 1 1156 }, 1157 "end": { 1158 "line": 1, 1159 "column": 1 1160 } 1161 } 1162 }, 1163 "generator": false, 1164 "async": false, 1165 "expression": false, 1166 "params": [], 1167 "body": { 1168 "type": "BlockStatement", 1169 "statements": [], 1170 "loc": { 1171 "start": { 1172 "line": 1, 1173 "column": 1 1174 }, 1175 "end": { 1176 "line": 1, 1177 "column": 1 1178 } 1179 } 1180 }, 1181 "loc": { 1182 "start": { 1183 "line": 1, 1184 "column": 1 1185 }, 1186 "end": { 1187 "line": 1, 1188 "column": 1 1189 } 1190 } 1191 }, 1192 "loc": { 1193 "start": { 1194 "line": 1, 1195 "column": 1 1196 }, 1197 "end": { 1198 "line": 1, 1199 "column": 1 1200 } 1201 } 1202 }, 1203 "overloads": [], 1204 "decorators": [], 1205 "loc": { 1206 "start": { 1207 "line": 37, 1208 "column": 2 1209 }, 1210 "end": { 1211 "line": 37, 1212 "column": 2 1213 } 1214 } 1215 } 1216 ], 1217 "loc": { 1218 "start": { 1219 "line": 36, 1220 "column": 46 1221 }, 1222 "end": { 1223 "line": 37, 1224 "column": 2 1225 } 1226 } 1227 }, 1228 "loc": { 1229 "start": { 1230 "line": 36, 1231 "column": 8 1232 }, 1233 "end": { 1234 "line": 37, 1235 "column": 2 1236 } 1237 } 1238 }, 1239 { 1240 "type": "ClassDeclaration", 1241 "definition": { 1242 "id": { 1243 "type": "Identifier", 1244 "name": "ETSGLOBAL", 1245 "decorators": [], 1246 "loc": { 1247 "start": { 1248 "line": 1, 1249 "column": 1 1250 }, 1251 "end": { 1252 "line": 1, 1253 "column": 1 1254 } 1255 } 1256 }, 1257 "superClass": null, 1258 "implements": [], 1259 "body": [], 1260 "loc": { 1261 "start": { 1262 "line": 1, 1263 "column": 1 1264 }, 1265 "end": { 1266 "line": 1, 1267 "column": 1 1268 } 1269 } 1270 }, 1271 "loc": { 1272 "start": { 1273 "line": 1, 1274 "column": 1 1275 }, 1276 "end": { 1277 "line": 1, 1278 "column": 1 1279 } 1280 } 1281 } 1282 ], 1283 "loc": { 1284 "start": { 1285 "line": 1, 1286 "column": 1 1287 }, 1288 "end": { 1289 "line": 38, 1290 "column": 1 1291 } 1292 } 1293} 1294