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