• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7
15            },
16            "end": {
17              "line": 16,
18              "column": 8
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "MethodDefinition",
27            "key": {
28              "type": "Identifier",
29              "name": "foo",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 9
35                },
36                "end": {
37                  "line": 17,
38                  "column": 12
39                }
40              }
41            },
42            "kind": "method",
43            "accessibility": "public",
44            "static": true,
45            "optional": false,
46            "computed": false,
47            "value": {
48              "type": "FunctionExpression",
49              "function": {
50                "type": "ScriptFunction",
51                "id": {
52                  "type": "Identifier",
53                  "name": "foo",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 17,
58                      "column": 9
59                    },
60                    "end": {
61                      "line": 17,
62                      "column": 12
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [],
70                "returnType": {
71                  "type": "ETSPrimitiveType",
72                  "loc": {
73                    "start": {
74                      "line": 17,
75                      "column": 16
76                    },
77                    "end": {
78                      "line": 17,
79                      "column": 20
80                    }
81                  }
82                },
83                "body": {
84                  "type": "BlockStatement",
85                  "statements": [],
86                  "loc": {
87                    "start": {
88                      "line": 17,
89                      "column": 21
90                    },
91                    "end": {
92                      "line": 17,
93                      "column": 23
94                    }
95                  }
96                },
97                "loc": {
98                  "start": {
99                    "line": 17,
100                    "column": 12
101                  },
102                  "end": {
103                    "line": 17,
104                    "column": 23
105                  }
106                }
107              },
108              "loc": {
109                "start": {
110                  "line": 17,
111                  "column": 12
112                },
113                "end": {
114                  "line": 17,
115                  "column": 23
116                }
117              }
118            },
119            "overloads": [],
120            "decorators": [],
121            "loc": {
122              "start": {
123                "line": 17,
124                "column": 2
125              },
126              "end": {
127                "line": 17,
128                "column": 23
129              }
130            }
131          },
132          {
133            "type": "MethodDefinition",
134            "key": {
135              "type": "Identifier",
136              "name": "constructor",
137              "decorators": [],
138              "loc": {
139                "start": {
140                  "line": 1,
141                  "column": 1
142                },
143                "end": {
144                  "line": 1,
145                  "column": 1
146                }
147              }
148            },
149            "kind": "constructor",
150            "static": false,
151            "optional": false,
152            "computed": false,
153            "value": {
154              "type": "FunctionExpression",
155              "function": {
156                "type": "ScriptFunction",
157                "id": {
158                  "type": "Identifier",
159                  "name": "constructor",
160                  "decorators": [],
161                  "loc": {
162                    "start": {
163                      "line": 1,
164                      "column": 1
165                    },
166                    "end": {
167                      "line": 1,
168                      "column": 1
169                    }
170                  }
171                },
172                "generator": false,
173                "async": false,
174                "expression": false,
175                "params": [],
176                "body": {
177                  "type": "BlockStatement",
178                  "statements": [],
179                  "loc": {
180                    "start": {
181                      "line": 1,
182                      "column": 1
183                    },
184                    "end": {
185                      "line": 1,
186                      "column": 1
187                    }
188                  }
189                },
190                "loc": {
191                  "start": {
192                    "line": 1,
193                    "column": 1
194                  },
195                  "end": {
196                    "line": 1,
197                    "column": 1
198                  }
199                }
200              },
201              "loc": {
202                "start": {
203                  "line": 1,
204                  "column": 1
205                },
206                "end": {
207                  "line": 1,
208                  "column": 1
209                }
210              }
211            },
212            "overloads": [],
213            "decorators": [],
214            "loc": {
215              "start": {
216                "line": 18,
217                "column": 2
218              },
219              "end": {
220                "line": 18,
221                "column": 2
222              }
223            }
224          }
225        ],
226        "loc": {
227          "start": {
228            "line": 16,
229            "column": 9
230          },
231          "end": {
232            "line": 18,
233            "column": 2
234          }
235        }
236      },
237      "loc": {
238        "start": {
239          "line": 16,
240          "column": 1
241        },
242        "end": {
243          "line": 18,
244          "column": 2
245        }
246      }
247    },
248    {
249      "type": "ClassDeclaration",
250      "definition": {
251        "id": {
252          "type": "Identifier",
253          "name": "B",
254          "decorators": [],
255          "loc": {
256            "start": {
257              "line": 20,
258              "column": 7
259            },
260            "end": {
261              "line": 20,
262              "column": 8
263            }
264          }
265        },
266        "superClass": {
267          "type": "ETSTypeReference",
268          "part": {
269            "type": "ETSTypeReferencePart",
270            "name": {
271              "type": "Identifier",
272              "name": "A",
273              "decorators": [],
274              "loc": {
275                "start": {
276                  "line": 20,
277                  "column": 17
278                },
279                "end": {
280                  "line": 20,
281                  "column": 18
282                }
283              }
284            },
285            "loc": {
286              "start": {
287                "line": 20,
288                "column": 17
289              },
290              "end": {
291                "line": 20,
292                "column": 20
293              }
294            }
295          },
296          "loc": {
297            "start": {
298              "line": 20,
299              "column": 17
300            },
301            "end": {
302              "line": 20,
303              "column": 20
304            }
305          }
306        },
307        "implements": [],
308        "body": [
309          {
310            "type": "ClassProperty",
311            "key": {
312              "type": "Identifier",
313              "name": "foo",
314              "decorators": [],
315              "loc": {
316                "start": {
317                  "line": 21,
318                  "column": 2
319                },
320                "end": {
321                  "line": 21,
322                  "column": 5
323                }
324              }
325            },
326            "value": {
327              "type": "NumberLiteral",
328              "value": 10,
329              "loc": {
330                "start": {
331                  "line": 21,
332                  "column": 16
333                },
334                "end": {
335                  "line": 21,
336                  "column": 18
337                }
338              }
339            },
340            "accessibility": "public",
341            "static": false,
342            "readonly": false,
343            "declare": false,
344            "optional": false,
345            "computed": false,
346            "typeAnnotation": {
347              "type": "ETSTypeReference",
348              "part": {
349                "type": "ETSTypeReferencePart",
350                "name": {
351                  "type": "Identifier",
352                  "name": "number",
353                  "decorators": [],
354                  "loc": {
355                    "start": {
356                      "line": 21,
357                      "column": 7
358                    },
359                    "end": {
360                      "line": 21,
361                      "column": 13
362                    }
363                  }
364                },
365                "loc": {
366                  "start": {
367                    "line": 21,
368                    "column": 7
369                  },
370                  "end": {
371                    "line": 21,
372                    "column": 15
373                  }
374                }
375              },
376              "loc": {
377                "start": {
378                  "line": 21,
379                  "column": 7
380                },
381                "end": {
382                  "line": 21,
383                  "column": 15
384                }
385              }
386            },
387            "definite": false,
388            "decorators": [],
389            "loc": {
390              "start": {
391                "line": 21,
392                "column": 2
393              },
394              "end": {
395                "line": 21,
396                "column": 18
397              }
398            }
399          },
400          {
401            "type": "MethodDefinition",
402            "key": {
403              "type": "Identifier",
404              "name": "constructor",
405              "decorators": [],
406              "loc": {
407                "start": {
408                  "line": 1,
409                  "column": 1
410                },
411                "end": {
412                  "line": 1,
413                  "column": 1
414                }
415              }
416            },
417            "kind": "constructor",
418            "static": false,
419            "optional": false,
420            "computed": false,
421            "value": {
422              "type": "FunctionExpression",
423              "function": {
424                "type": "ScriptFunction",
425                "id": {
426                  "type": "Identifier",
427                  "name": "constructor",
428                  "decorators": [],
429                  "loc": {
430                    "start": {
431                      "line": 1,
432                      "column": 1
433                    },
434                    "end": {
435                      "line": 1,
436                      "column": 1
437                    }
438                  }
439                },
440                "generator": false,
441                "async": false,
442                "expression": false,
443                "params": [],
444                "body": {
445                  "type": "BlockStatement",
446                  "statements": [],
447                  "loc": {
448                    "start": {
449                      "line": 1,
450                      "column": 1
451                    },
452                    "end": {
453                      "line": 1,
454                      "column": 1
455                    }
456                  }
457                },
458                "loc": {
459                  "start": {
460                    "line": 1,
461                    "column": 1
462                  },
463                  "end": {
464                    "line": 1,
465                    "column": 1
466                  }
467                }
468              },
469              "loc": {
470                "start": {
471                  "line": 1,
472                  "column": 1
473                },
474                "end": {
475                  "line": 1,
476                  "column": 1
477                }
478              }
479            },
480            "overloads": [],
481            "decorators": [],
482            "loc": {
483              "start": {
484                "line": 22,
485                "column": 2
486              },
487              "end": {
488                "line": 22,
489                "column": 2
490              }
491            }
492          }
493        ],
494        "loc": {
495          "start": {
496            "line": 20,
497            "column": 19
498          },
499          "end": {
500            "line": 22,
501            "column": 2
502          }
503        }
504      },
505      "loc": {
506        "start": {
507          "line": 20,
508          "column": 1
509        },
510        "end": {
511          "line": 22,
512          "column": 2
513        }
514      }
515    },
516    {
517      "type": "ClassDeclaration",
518      "definition": {
519        "id": {
520          "type": "Identifier",
521          "name": "ETSGLOBAL",
522          "decorators": [],
523          "loc": {
524            "start": {
525              "line": 1,
526              "column": 1
527            },
528            "end": {
529              "line": 1,
530              "column": 1
531            }
532          }
533        },
534        "superClass": null,
535        "implements": [],
536        "body": [
537          {
538            "type": "MethodDefinition",
539            "key": {
540              "type": "Identifier",
541              "name": "_$init$_",
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": "method",
555            "accessibility": "public",
556            "static": true,
557            "optional": false,
558            "computed": false,
559            "value": {
560              "type": "FunctionExpression",
561              "function": {
562                "type": "ScriptFunction",
563                "id": {
564                  "type": "Identifier",
565                  "name": "_$init$_",
566                  "decorators": [],
567                  "loc": {
568                    "start": {
569                      "line": 1,
570                      "column": 1
571                    },
572                    "end": {
573                      "line": 1,
574                      "column": 1
575                    }
576                  }
577                },
578                "generator": false,
579                "async": false,
580                "expression": false,
581                "params": [],
582                "body": {
583                  "type": "BlockStatement",
584                  "statements": [],
585                  "loc": {
586                    "start": {
587                      "line": 1,
588                      "column": 1
589                    },
590                    "end": {
591                      "line": 1,
592                      "column": 1
593                    }
594                  }
595                },
596                "loc": {
597                  "start": {
598                    "line": 1,
599                    "column": 1
600                  },
601                  "end": {
602                    "line": 1,
603                    "column": 1
604                  }
605                }
606              },
607              "loc": {
608                "start": {
609                  "line": 1,
610                  "column": 1
611                },
612                "end": {
613                  "line": 1,
614                  "column": 1
615                }
616              }
617            },
618            "overloads": [],
619            "decorators": [],
620            "loc": {
621              "start": {
622                "line": 1,
623                "column": 1
624              },
625              "end": {
626                "line": 1,
627                "column": 1
628              }
629            }
630          },
631          {
632            "type": "MethodDefinition",
633            "key": {
634              "type": "Identifier",
635              "name": "main",
636              "decorators": [],
637              "loc": {
638                "start": {
639                  "line": 24,
640                  "column": 10
641                },
642                "end": {
643                  "line": 24,
644                  "column": 14
645                }
646              }
647            },
648            "kind": "method",
649            "accessibility": "public",
650            "static": true,
651            "optional": false,
652            "computed": false,
653            "value": {
654              "type": "FunctionExpression",
655              "function": {
656                "type": "ScriptFunction",
657                "id": {
658                  "type": "Identifier",
659                  "name": "main",
660                  "decorators": [],
661                  "loc": {
662                    "start": {
663                      "line": 24,
664                      "column": 10
665                    },
666                    "end": {
667                      "line": 24,
668                      "column": 14
669                    }
670                  }
671                },
672                "generator": false,
673                "async": false,
674                "expression": false,
675                "params": [],
676                "returnType": {
677                  "type": "ETSPrimitiveType",
678                  "loc": {
679                    "start": {
680                      "line": 24,
681                      "column": 18
682                    },
683                    "end": {
684                      "line": 24,
685                      "column": 22
686                    }
687                  }
688                },
689                "body": {
690                  "type": "BlockStatement",
691                  "statements": [
692                    {
693                      "type": "ExpressionStatement",
694                      "expression": {
695                        "type": "CallExpression",
696                        "callee": {
697                          "type": "MemberExpression",
698                          "object": {
699                            "type": "Identifier",
700                            "name": "A",
701                            "decorators": [],
702                            "loc": {
703                              "start": {
704                                "line": 25,
705                                "column": 5
706                              },
707                              "end": {
708                                "line": 25,
709                                "column": 6
710                              }
711                            }
712                          },
713                          "property": {
714                            "type": "Identifier",
715                            "name": "foo",
716                            "decorators": [],
717                            "loc": {
718                              "start": {
719                                "line": 25,
720                                "column": 7
721                              },
722                              "end": {
723                                "line": 25,
724                                "column": 10
725                              }
726                            }
727                          },
728                          "computed": false,
729                          "optional": false,
730                          "loc": {
731                            "start": {
732                              "line": 25,
733                              "column": 5
734                            },
735                            "end": {
736                              "line": 25,
737                              "column": 10
738                            }
739                          }
740                        },
741                        "arguments": [],
742                        "optional": false,
743                        "loc": {
744                          "start": {
745                            "line": 25,
746                            "column": 5
747                          },
748                          "end": {
749                            "line": 25,
750                            "column": 12
751                          }
752                        }
753                      },
754                      "loc": {
755                        "start": {
756                          "line": 25,
757                          "column": 5
758                        },
759                        "end": {
760                          "line": 25,
761                          "column": 12
762                        }
763                      }
764                    },
765                    {
766                      "type": "ExpressionStatement",
767                      "expression": {
768                        "type": "MemberExpression",
769                        "object": {
770                          "type": "ETSNewClassInstanceExpression",
771                          "typeReference": {
772                            "type": "ETSTypeReference",
773                            "part": {
774                              "type": "ETSTypeReferencePart",
775                              "name": {
776                                "type": "Identifier",
777                                "name": "B",
778                                "decorators": [],
779                                "loc": {
780                                  "start": {
781                                    "line": 26,
782                                    "column": 9
783                                  },
784                                  "end": {
785                                    "line": 26,
786                                    "column": 10
787                                  }
788                                }
789                              },
790                              "loc": {
791                                "start": {
792                                  "line": 26,
793                                  "column": 9
794                                },
795                                "end": {
796                                  "line": 26,
797                                  "column": 11
798                                }
799                              }
800                            },
801                            "loc": {
802                              "start": {
803                                "line": 26,
804                                "column": 9
805                              },
806                              "end": {
807                                "line": 26,
808                                "column": 11
809                              }
810                            }
811                          },
812                          "arguments": [],
813                          "loc": {
814                            "start": {
815                              "line": 26,
816                              "column": 5
817                            },
818                            "end": {
819                              "line": 26,
820                              "column": 13
821                            }
822                          }
823                        },
824                        "property": {
825                          "type": "Identifier",
826                          "name": "foo",
827                          "decorators": [],
828                          "loc": {
829                            "start": {
830                              "line": 26,
831                              "column": 13
832                            },
833                            "end": {
834                              "line": 26,
835                              "column": 16
836                            }
837                          }
838                        },
839                        "computed": false,
840                        "optional": false,
841                        "loc": {
842                          "start": {
843                            "line": 26,
844                            "column": 5
845                          },
846                          "end": {
847                            "line": 26,
848                            "column": 16
849                          }
850                        }
851                      },
852                      "loc": {
853                        "start": {
854                          "line": 26,
855                          "column": 5
856                        },
857                        "end": {
858                          "line": 26,
859                          "column": 16
860                        }
861                      }
862                    }
863                  ],
864                  "loc": {
865                    "start": {
866                      "line": 24,
867                      "column": 23
868                    },
869                    "end": {
870                      "line": 27,
871                      "column": 2
872                    }
873                  }
874                },
875                "loc": {
876                  "start": {
877                    "line": 24,
878                    "column": 10
879                  },
880                  "end": {
881                    "line": 27,
882                    "column": 2
883                  }
884                }
885              },
886              "loc": {
887                "start": {
888                  "line": 24,
889                  "column": 10
890                },
891                "end": {
892                  "line": 27,
893                  "column": 2
894                }
895              }
896            },
897            "overloads": [],
898            "decorators": [],
899            "loc": {
900              "start": {
901                "line": 24,
902                "column": 1
903              },
904              "end": {
905                "line": 27,
906                "column": 2
907              }
908            }
909          }
910        ],
911        "loc": {
912          "start": {
913            "line": 1,
914            "column": 1
915          },
916          "end": {
917            "line": 1,
918            "column": 1
919          }
920        }
921      },
922      "loc": {
923        "start": {
924          "line": 1,
925          "column": 1
926        },
927        "end": {
928          "line": 1,
929          "column": 1
930        }
931      }
932    }
933  ],
934  "loc": {
935    "start": {
936      "line": 1,
937      "column": 1
938    },
939    "end": {
940      "line": 28,
941      "column": 1
942    }
943  }
944}
945