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