• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "FunctionDeclaration",
6      "function": {
7        "type": "ScriptFunction",
8        "id": {
9          "type": "Identifier",
10          "name": "func1",
11          "decorators": [],
12          "loc": {
13            "start": {
14              "line": 17,
15              "column": 10,
16              "program": "functionCall.ts"
17            },
18            "end": {
19              "line": 17,
20              "column": 15,
21              "program": "functionCall.ts"
22            }
23          }
24        },
25        "generator": false,
26        "async": false,
27        "expression": false,
28        "params": [
29          {
30            "type": "Identifier",
31            "name": "a",
32            "typeAnnotation": {
33              "type": "TSNumberKeyword",
34              "loc": {
35                "start": {
36                  "line": 17,
37                  "column": 19,
38                  "program": "functionCall.ts"
39                },
40                "end": {
41                  "line": 17,
42                  "column": 25,
43                  "program": "functionCall.ts"
44                }
45              }
46            },
47            "decorators": [],
48            "loc": {
49              "start": {
50                "line": 17,
51                "column": 16,
52                "program": "functionCall.ts"
53              },
54              "end": {
55                "line": 17,
56                "column": 17,
57                "program": "functionCall.ts"
58              }
59            }
60          }
61        ],
62        "returnType": {
63          "type": "TSVoidKeyword",
64          "loc": {
65            "start": {
66              "line": 17,
67              "column": 28,
68              "program": "functionCall.ts"
69            },
70            "end": {
71              "line": 17,
72              "column": 32,
73              "program": "functionCall.ts"
74            }
75          }
76        },
77        "body": {
78          "type": "BlockStatement",
79          "statements": [],
80          "loc": {
81            "start": {
82              "line": 17,
83              "column": 33,
84              "program": "functionCall.ts"
85            },
86            "end": {
87              "line": 19,
88              "column": 2,
89              "program": "functionCall.ts"
90            }
91          }
92        },
93        "loc": {
94          "start": {
95            "line": 17,
96            "column": 1,
97            "program": "functionCall.ts"
98          },
99          "end": {
100            "line": 19,
101            "column": 2,
102            "program": "functionCall.ts"
103          }
104        }
105      },
106      "loc": {
107        "start": {
108          "line": 17,
109          "column": 1,
110          "program": "functionCall.ts"
111        },
112        "end": {
113          "line": 19,
114          "column": 2,
115          "program": "functionCall.ts"
116        }
117      }
118    },
119    {
120      "type": "ExpressionStatement",
121      "expression": {
122        "type": "CallExpression",
123        "callee": {
124          "type": "Identifier",
125          "name": "func1",
126          "decorators": [],
127          "loc": {
128            "start": {
129              "line": 20,
130              "column": 1,
131              "program": "functionCall.ts"
132            },
133            "end": {
134              "line": 20,
135              "column": 6,
136              "program": "functionCall.ts"
137            }
138          }
139        },
140        "arguments": [
141          {
142            "type": "NumberLiteral",
143            "value": 5,
144            "loc": {
145              "start": {
146                "line": 20,
147                "column": 7,
148                "program": "functionCall.ts"
149              },
150              "end": {
151                "line": 20,
152                "column": 8,
153                "program": "functionCall.ts"
154              }
155            }
156          }
157        ],
158        "optional": false,
159        "loc": {
160          "start": {
161            "line": 20,
162            "column": 1,
163            "program": "functionCall.ts"
164          },
165          "end": {
166            "line": 20,
167            "column": 9,
168            "program": "functionCall.ts"
169          }
170        }
171      },
172      "loc": {
173        "start": {
174          "line": 20,
175          "column": 1,
176          "program": "functionCall.ts"
177        },
178        "end": {
179          "line": 20,
180          "column": 10,
181          "program": "functionCall.ts"
182        }
183      }
184    },
185    {
186      "type": "FunctionDeclaration",
187      "function": {
188        "type": "ScriptFunction",
189        "id": {
190          "type": "Identifier",
191          "name": "func2",
192          "decorators": [],
193          "loc": {
194            "start": {
195              "line": 22,
196              "column": 10,
197              "program": "functionCall.ts"
198            },
199            "end": {
200              "line": 22,
201              "column": 15,
202              "program": "functionCall.ts"
203            }
204          }
205        },
206        "generator": false,
207        "async": false,
208        "expression": false,
209        "params": [
210          {
211            "type": "Identifier",
212            "name": "a",
213            "typeAnnotation": {
214              "type": "TSNumberKeyword",
215              "loc": {
216                "start": {
217                  "line": 22,
218                  "column": 19,
219                  "program": "functionCall.ts"
220                },
221                "end": {
222                  "line": 22,
223                  "column": 25,
224                  "program": "functionCall.ts"
225                }
226              }
227            },
228            "decorators": [],
229            "loc": {
230              "start": {
231                "line": 22,
232                "column": 16,
233                "program": "functionCall.ts"
234              },
235              "end": {
236                "line": 22,
237                "column": 17,
238                "program": "functionCall.ts"
239              }
240            }
241          }
242        ],
243        "returnType": {
244          "type": "TSNumberKeyword",
245          "loc": {
246            "start": {
247              "line": 22,
248              "column": 28,
249              "program": "functionCall.ts"
250            },
251            "end": {
252              "line": 22,
253              "column": 34,
254              "program": "functionCall.ts"
255            }
256          }
257        },
258        "body": {
259          "type": "BlockStatement",
260          "statements": [
261            {
262              "type": "ReturnStatement",
263              "argument": {
264                "type": "Identifier",
265                "name": "a",
266                "decorators": [],
267                "loc": {
268                  "start": {
269                    "line": 23,
270                    "column": 12,
271                    "program": "functionCall.ts"
272                  },
273                  "end": {
274                    "line": 23,
275                    "column": 13,
276                    "program": "functionCall.ts"
277                  }
278                }
279              },
280              "loc": {
281                "start": {
282                  "line": 23,
283                  "column": 5,
284                  "program": "functionCall.ts"
285                },
286                "end": {
287                  "line": 23,
288                  "column": 14,
289                  "program": "functionCall.ts"
290                }
291              }
292            }
293          ],
294          "loc": {
295            "start": {
296              "line": 22,
297              "column": 35,
298              "program": "functionCall.ts"
299            },
300            "end": {
301              "line": 24,
302              "column": 2,
303              "program": "functionCall.ts"
304            }
305          }
306        },
307        "loc": {
308          "start": {
309            "line": 22,
310            "column": 1,
311            "program": "functionCall.ts"
312          },
313          "end": {
314            "line": 24,
315            "column": 2,
316            "program": "functionCall.ts"
317          }
318        }
319      },
320      "loc": {
321        "start": {
322          "line": 22,
323          "column": 1,
324          "program": "functionCall.ts"
325        },
326        "end": {
327          "line": 24,
328          "column": 2,
329          "program": "functionCall.ts"
330        }
331      }
332    },
333    {
334      "type": "TSTypeAliasDeclaration",
335      "id": {
336        "type": "Identifier",
337        "name": "callAbleObj1",
338        "decorators": [],
339        "loc": {
340          "start": {
341            "line": 26,
342            "column": 6,
343            "program": "functionCall.ts"
344          },
345          "end": {
346            "line": 26,
347            "column": 18,
348            "program": "functionCall.ts"
349          }
350        }
351      },
352      "typeAnnotation": {
353        "type": "TSTypeLiteral",
354        "members": [
355          {
356            "type": "TSCallSignatureDeclaration",
357            "params": [
358              {
359                "type": "Identifier",
360                "name": "a",
361                "typeAnnotation": {
362                  "type": "TSNumberKeyword",
363                  "loc": {
364                    "start": {
365                      "line": 27,
366                      "column": 9,
367                      "program": "functionCall.ts"
368                    },
369                    "end": {
370                      "line": 27,
371                      "column": 15,
372                      "program": "functionCall.ts"
373                    }
374                  }
375                },
376                "decorators": [],
377                "loc": {
378                  "start": {
379                    "line": 27,
380                    "column": 6,
381                    "program": "functionCall.ts"
382                  },
383                  "end": {
384                    "line": 27,
385                    "column": 7,
386                    "program": "functionCall.ts"
387                  }
388                }
389              }
390            ],
391            "returnType": {
392              "type": "TSNumberKeyword",
393              "loc": {
394                "start": {
395                  "line": 27,
396                  "column": 18,
397                  "program": "functionCall.ts"
398                },
399                "end": {
400                  "line": 27,
401                  "column": 24,
402                  "program": "functionCall.ts"
403                }
404              }
405            },
406            "loc": {
407              "start": {
408                "line": 27,
409                "column": 5,
410                "program": "functionCall.ts"
411              },
412              "end": {
413                "line": 28,
414                "column": 2,
415                "program": "functionCall.ts"
416              }
417            }
418          }
419        ],
420        "loc": {
421          "start": {
422            "line": 26,
423            "column": 21,
424            "program": "functionCall.ts"
425          },
426          "end": {
427            "line": 28,
428            "column": 2,
429            "program": "functionCall.ts"
430          }
431        }
432      },
433      "loc": {
434        "start": {
435          "line": 26,
436          "column": 1,
437          "program": "functionCall.ts"
438        },
439        "end": {
440          "line": 30,
441          "column": 9,
442          "program": "functionCall.ts"
443        }
444      }
445    },
446    {
447      "type": "FunctionDeclaration",
448      "function": {
449        "type": "ScriptFunction",
450        "id": {
451          "type": "Identifier",
452          "name": "func3",
453          "decorators": [],
454          "loc": {
455            "start": {
456              "line": 30,
457              "column": 10,
458              "program": "functionCall.ts"
459            },
460            "end": {
461              "line": 30,
462              "column": 15,
463              "program": "functionCall.ts"
464            }
465          }
466        },
467        "generator": false,
468        "async": false,
469        "expression": false,
470        "params": [
471          {
472            "type": "Identifier",
473            "name": "fn",
474            "typeAnnotation": {
475              "type": "TSTypeReference",
476              "typeName": {
477                "type": "Identifier",
478                "name": "callAbleObj1",
479                "decorators": [],
480                "loc": {
481                  "start": {
482                    "line": 30,
483                    "column": 20,
484                    "program": "functionCall.ts"
485                  },
486                  "end": {
487                    "line": 30,
488                    "column": 32,
489                    "program": "functionCall.ts"
490                  }
491                }
492              },
493              "loc": {
494                "start": {
495                  "line": 30,
496                  "column": 20,
497                  "program": "functionCall.ts"
498                },
499                "end": {
500                  "line": 30,
501                  "column": 32,
502                  "program": "functionCall.ts"
503                }
504              }
505            },
506            "decorators": [],
507            "loc": {
508              "start": {
509                "line": 30,
510                "column": 16,
511                "program": "functionCall.ts"
512              },
513              "end": {
514                "line": 30,
515                "column": 18,
516                "program": "functionCall.ts"
517              }
518            }
519          }
520        ],
521        "returnType": {
522          "type": "TSNumberKeyword",
523          "loc": {
524            "start": {
525              "line": 30,
526              "column": 35,
527              "program": "functionCall.ts"
528            },
529            "end": {
530              "line": 30,
531              "column": 41,
532              "program": "functionCall.ts"
533            }
534          }
535        },
536        "body": {
537          "type": "BlockStatement",
538          "statements": [
539            {
540              "type": "ReturnStatement",
541              "argument": {
542                "type": "CallExpression",
543                "callee": {
544                  "type": "Identifier",
545                  "name": "fn",
546                  "decorators": [],
547                  "loc": {
548                    "start": {
549                      "line": 31,
550                      "column": 12,
551                      "program": "functionCall.ts"
552                    },
553                    "end": {
554                      "line": 31,
555                      "column": 14,
556                      "program": "functionCall.ts"
557                    }
558                  }
559                },
560                "arguments": [
561                  {
562                    "type": "NumberLiteral",
563                    "value": 5,
564                    "loc": {
565                      "start": {
566                        "line": 31,
567                        "column": 15,
568                        "program": "functionCall.ts"
569                      },
570                      "end": {
571                        "line": 31,
572                        "column": 16,
573                        "program": "functionCall.ts"
574                      }
575                    }
576                  }
577                ],
578                "optional": false,
579                "loc": {
580                  "start": {
581                    "line": 31,
582                    "column": 12,
583                    "program": "functionCall.ts"
584                  },
585                  "end": {
586                    "line": 31,
587                    "column": 17,
588                    "program": "functionCall.ts"
589                  }
590                }
591              },
592              "loc": {
593                "start": {
594                  "line": 31,
595                  "column": 5,
596                  "program": "functionCall.ts"
597                },
598                "end": {
599                  "line": 31,
600                  "column": 18,
601                  "program": "functionCall.ts"
602                }
603              }
604            }
605          ],
606          "loc": {
607            "start": {
608              "line": 30,
609              "column": 42,
610              "program": "functionCall.ts"
611            },
612            "end": {
613              "line": 32,
614              "column": 2,
615              "program": "functionCall.ts"
616            }
617          }
618        },
619        "loc": {
620          "start": {
621            "line": 30,
622            "column": 1,
623            "program": "functionCall.ts"
624          },
625          "end": {
626            "line": 32,
627            "column": 2,
628            "program": "functionCall.ts"
629          }
630        }
631      },
632      "loc": {
633        "start": {
634          "line": 30,
635          "column": 1,
636          "program": "functionCall.ts"
637        },
638        "end": {
639          "line": 32,
640          "column": 2,
641          "program": "functionCall.ts"
642        }
643      }
644    },
645    {
646      "type": "VariableDeclaration",
647      "declarations": [
648        {
649          "type": "VariableDeclarator",
650          "id": {
651            "type": "Identifier",
652            "name": "obj1",
653            "typeAnnotation": {
654              "type": "TSTypeReference",
655              "typeName": {
656                "type": "Identifier",
657                "name": "callAbleObj1",
658                "decorators": [],
659                "loc": {
660                  "start": {
661                    "line": 34,
662                    "column": 11,
663                    "program": "functionCall.ts"
664                  },
665                  "end": {
666                    "line": 34,
667                    "column": 23,
668                    "program": "functionCall.ts"
669                  }
670                }
671              },
672              "loc": {
673                "start": {
674                  "line": 34,
675                  "column": 11,
676                  "program": "functionCall.ts"
677                },
678                "end": {
679                  "line": 34,
680                  "column": 23,
681                  "program": "functionCall.ts"
682                }
683              }
684            },
685            "decorators": [],
686            "loc": {
687              "start": {
688                "line": 34,
689                "column": 5,
690                "program": "functionCall.ts"
691              },
692              "end": {
693                "line": 34,
694                "column": 9,
695                "program": "functionCall.ts"
696              }
697            }
698          },
699          "init": null,
700          "loc": {
701            "start": {
702              "line": 34,
703              "column": 5,
704              "program": "functionCall.ts"
705            },
706            "end": {
707              "line": 34,
708              "column": 9,
709              "program": "functionCall.ts"
710            }
711          }
712        }
713      ],
714      "kind": "var",
715      "loc": {
716        "start": {
717          "line": 34,
718          "column": 1,
719          "program": "functionCall.ts"
720        },
721        "end": {
722          "line": 34,
723          "column": 24,
724          "program": "functionCall.ts"
725        }
726      }
727    },
728    {
729      "type": "ExpressionStatement",
730      "expression": {
731        "type": "CallExpression",
732        "callee": {
733          "type": "Identifier",
734          "name": "func1",
735          "decorators": [],
736          "loc": {
737            "start": {
738              "line": 35,
739              "column": 1,
740              "program": "functionCall.ts"
741            },
742            "end": {
743              "line": 35,
744              "column": 6,
745              "program": "functionCall.ts"
746            }
747          }
748        },
749        "arguments": [
750          {
751            "type": "CallExpression",
752            "callee": {
753              "type": "Identifier",
754              "name": "func2",
755              "decorators": [],
756              "loc": {
757                "start": {
758                  "line": 35,
759                  "column": 7,
760                  "program": "functionCall.ts"
761                },
762                "end": {
763                  "line": 35,
764                  "column": 12,
765                  "program": "functionCall.ts"
766                }
767              }
768            },
769            "arguments": [
770              {
771                "type": "CallExpression",
772                "callee": {
773                  "type": "Identifier",
774                  "name": "func3",
775                  "decorators": [],
776                  "loc": {
777                    "start": {
778                      "line": 35,
779                      "column": 13,
780                      "program": "functionCall.ts"
781                    },
782                    "end": {
783                      "line": 35,
784                      "column": 18,
785                      "program": "functionCall.ts"
786                    }
787                  }
788                },
789                "arguments": [
790                  {
791                    "type": "Identifier",
792                    "name": "obj1",
793                    "decorators": [],
794                    "loc": {
795                      "start": {
796                        "line": 35,
797                        "column": 19,
798                        "program": "functionCall.ts"
799                      },
800                      "end": {
801                        "line": 35,
802                        "column": 23,
803                        "program": "functionCall.ts"
804                      }
805                    }
806                  }
807                ],
808                "optional": false,
809                "loc": {
810                  "start": {
811                    "line": 35,
812                    "column": 13,
813                    "program": "functionCall.ts"
814                  },
815                  "end": {
816                    "line": 35,
817                    "column": 24,
818                    "program": "functionCall.ts"
819                  }
820                }
821              }
822            ],
823            "optional": false,
824            "loc": {
825              "start": {
826                "line": 35,
827                "column": 7,
828                "program": "functionCall.ts"
829              },
830              "end": {
831                "line": 35,
832                "column": 25,
833                "program": "functionCall.ts"
834              }
835            }
836          }
837        ],
838        "optional": false,
839        "loc": {
840          "start": {
841            "line": 35,
842            "column": 1,
843            "program": "functionCall.ts"
844          },
845          "end": {
846            "line": 35,
847            "column": 26,
848            "program": "functionCall.ts"
849          }
850        }
851      },
852      "loc": {
853        "start": {
854          "line": 35,
855          "column": 1,
856          "program": "functionCall.ts"
857        },
858        "end": {
859          "line": 35,
860          "column": 27,
861          "program": "functionCall.ts"
862        }
863      }
864    },
865    {
866      "type": "FunctionDeclaration",
867      "function": {
868        "type": "ScriptFunction",
869        "id": {
870          "type": "Identifier",
871          "name": "func4",
872          "decorators": [],
873          "loc": {
874            "start": {
875              "line": 37,
876              "column": 10,
877              "program": "functionCall.ts"
878            },
879            "end": {
880              "line": 37,
881              "column": 15,
882              "program": "functionCall.ts"
883            }
884          }
885        },
886        "generator": false,
887        "async": false,
888        "expression": false,
889        "params": [
890          {
891            "type": "Identifier",
892            "name": "a",
893            "typeAnnotation": {
894              "type": "TSNumberKeyword",
895              "loc": {
896                "start": {
897                  "line": 37,
898                  "column": 19,
899                  "program": "functionCall.ts"
900                },
901                "end": {
902                  "line": 37,
903                  "column": 25,
904                  "program": "functionCall.ts"
905                }
906              }
907            },
908            "decorators": [],
909            "loc": {
910              "start": {
911                "line": 37,
912                "column": 16,
913                "program": "functionCall.ts"
914              },
915              "end": {
916                "line": 37,
917                "column": 17,
918                "program": "functionCall.ts"
919              }
920            }
921          }
922        ],
923        "returnType": {
924          "type": "TSNumberKeyword",
925          "loc": {
926            "start": {
927              "line": 37,
928              "column": 28,
929              "program": "functionCall.ts"
930            },
931            "end": {
932              "line": 37,
933              "column": 34,
934              "program": "functionCall.ts"
935            }
936          }
937        },
938        "body": {
939          "type": "BlockStatement",
940          "statements": [
941            {
942              "type": "ExpressionStatement",
943              "expression": {
944                "type": "UpdateExpression",
945                "operator": "++",
946                "prefix": false,
947                "argument": {
948                  "type": "Identifier",
949                  "name": "a",
950                  "decorators": [],
951                  "loc": {
952                    "start": {
953                      "line": 38,
954                      "column": 5,
955                      "program": "functionCall.ts"
956                    },
957                    "end": {
958                      "line": 38,
959                      "column": 6,
960                      "program": "functionCall.ts"
961                    }
962                  }
963                },
964                "loc": {
965                  "start": {
966                    "line": 38,
967                    "column": 5,
968                    "program": "functionCall.ts"
969                  },
970                  "end": {
971                    "line": 38,
972                    "column": 8,
973                    "program": "functionCall.ts"
974                  }
975                }
976              },
977              "loc": {
978                "start": {
979                  "line": 38,
980                  "column": 5,
981                  "program": "functionCall.ts"
982                },
983                "end": {
984                  "line": 38,
985                  "column": 9,
986                  "program": "functionCall.ts"
987                }
988              }
989            },
990            {
991              "type": "ReturnStatement",
992              "argument": {
993                "type": "ConditionalExpression",
994                "test": {
995                  "type": "BinaryExpression",
996                  "operator": "<",
997                  "left": {
998                    "type": "Identifier",
999                    "name": "a",
1000                    "decorators": [],
1001                    "loc": {
1002                      "start": {
1003                        "line": 39,
1004                        "column": 12,
1005                        "program": "functionCall.ts"
1006                      },
1007                      "end": {
1008                        "line": 39,
1009                        "column": 13,
1010                        "program": "functionCall.ts"
1011                      }
1012                    }
1013                  },
1014                  "right": {
1015                    "type": "NumberLiteral",
1016                    "value": 0,
1017                    "loc": {
1018                      "start": {
1019                        "line": 39,
1020                        "column": 16,
1021                        "program": "functionCall.ts"
1022                      },
1023                      "end": {
1024                        "line": 39,
1025                        "column": 17,
1026                        "program": "functionCall.ts"
1027                      }
1028                    }
1029                  },
1030                  "loc": {
1031                    "start": {
1032                      "line": 39,
1033                      "column": 12,
1034                      "program": "functionCall.ts"
1035                    },
1036                    "end": {
1037                      "line": 39,
1038                      "column": 17,
1039                      "program": "functionCall.ts"
1040                    }
1041                  }
1042                },
1043                "consequent": {
1044                  "type": "CallExpression",
1045                  "callee": {
1046                    "type": "Identifier",
1047                    "name": "func4",
1048                    "decorators": [],
1049                    "loc": {
1050                      "start": {
1051                        "line": 39,
1052                        "column": 20,
1053                        "program": "functionCall.ts"
1054                      },
1055                      "end": {
1056                        "line": 39,
1057                        "column": 25,
1058                        "program": "functionCall.ts"
1059                      }
1060                    }
1061                  },
1062                  "arguments": [
1063                    {
1064                      "type": "Identifier",
1065                      "name": "a",
1066                      "decorators": [],
1067                      "loc": {
1068                        "start": {
1069                          "line": 39,
1070                          "column": 26,
1071                          "program": "functionCall.ts"
1072                        },
1073                        "end": {
1074                          "line": 39,
1075                          "column": 27,
1076                          "program": "functionCall.ts"
1077                        }
1078                      }
1079                    }
1080                  ],
1081                  "optional": false,
1082                  "loc": {
1083                    "start": {
1084                      "line": 39,
1085                      "column": 20,
1086                      "program": "functionCall.ts"
1087                    },
1088                    "end": {
1089                      "line": 39,
1090                      "column": 28,
1091                      "program": "functionCall.ts"
1092                    }
1093                  }
1094                },
1095                "alternate": {
1096                  "type": "Identifier",
1097                  "name": "a",
1098                  "decorators": [],
1099                  "loc": {
1100                    "start": {
1101                      "line": 39,
1102                      "column": 31,
1103                      "program": "functionCall.ts"
1104                    },
1105                    "end": {
1106                      "line": 39,
1107                      "column": 32,
1108                      "program": "functionCall.ts"
1109                    }
1110                  }
1111                },
1112                "loc": {
1113                  "start": {
1114                    "line": 39,
1115                    "column": 12,
1116                    "program": "functionCall.ts"
1117                  },
1118                  "end": {
1119                    "line": 39,
1120                    "column": 32,
1121                    "program": "functionCall.ts"
1122                  }
1123                }
1124              },
1125              "loc": {
1126                "start": {
1127                  "line": 39,
1128                  "column": 5,
1129                  "program": "functionCall.ts"
1130                },
1131                "end": {
1132                  "line": 39,
1133                  "column": 33,
1134                  "program": "functionCall.ts"
1135                }
1136              }
1137            }
1138          ],
1139          "loc": {
1140            "start": {
1141              "line": 37,
1142              "column": 35,
1143              "program": "functionCall.ts"
1144            },
1145            "end": {
1146              "line": 40,
1147              "column": 2,
1148              "program": "functionCall.ts"
1149            }
1150          }
1151        },
1152        "loc": {
1153          "start": {
1154            "line": 37,
1155            "column": 1,
1156            "program": "functionCall.ts"
1157          },
1158          "end": {
1159            "line": 40,
1160            "column": 2,
1161            "program": "functionCall.ts"
1162          }
1163        }
1164      },
1165      "loc": {
1166        "start": {
1167          "line": 37,
1168          "column": 1,
1169          "program": "functionCall.ts"
1170        },
1171        "end": {
1172          "line": 40,
1173          "column": 2,
1174          "program": "functionCall.ts"
1175        }
1176      }
1177    },
1178    {
1179      "type": "ExpressionStatement",
1180      "expression": {
1181        "type": "CallExpression",
1182        "callee": {
1183          "type": "Identifier",
1184          "name": "func4",
1185          "decorators": [],
1186          "loc": {
1187            "start": {
1188              "line": 42,
1189              "column": 1,
1190              "program": "functionCall.ts"
1191            },
1192            "end": {
1193              "line": 42,
1194              "column": 6,
1195              "program": "functionCall.ts"
1196            }
1197          }
1198        },
1199        "arguments": [
1200          {
1201            "type": "UnaryExpression",
1202            "operator": "-",
1203            "prefix": true,
1204            "argument": {
1205              "type": "NumberLiteral",
1206              "value": 5,
1207              "loc": {
1208                "start": {
1209                  "line": 42,
1210                  "column": 8,
1211                  "program": "functionCall.ts"
1212                },
1213                "end": {
1214                  "line": 42,
1215                  "column": 9,
1216                  "program": "functionCall.ts"
1217                }
1218              }
1219            },
1220            "loc": {
1221              "start": {
1222                "line": 42,
1223                "column": 7,
1224                "program": "functionCall.ts"
1225              },
1226              "end": {
1227                "line": 42,
1228                "column": 9,
1229                "program": "functionCall.ts"
1230              }
1231            }
1232          }
1233        ],
1234        "optional": false,
1235        "loc": {
1236          "start": {
1237            "line": 42,
1238            "column": 1,
1239            "program": "functionCall.ts"
1240          },
1241          "end": {
1242            "line": 42,
1243            "column": 10,
1244            "program": "functionCall.ts"
1245          }
1246        }
1247      },
1248      "loc": {
1249        "start": {
1250          "line": 42,
1251          "column": 1,
1252          "program": "functionCall.ts"
1253        },
1254        "end": {
1255          "line": 42,
1256          "column": 11,
1257          "program": "functionCall.ts"
1258        }
1259      }
1260    },
1261    {
1262      "type": "ExpressionStatement",
1263      "expression": {
1264        "type": "CallExpression",
1265        "callee": {
1266          "type": "Identifier",
1267          "name": "func4",
1268          "decorators": [],
1269          "loc": {
1270            "start": {
1271              "line": 43,
1272              "column": 1,
1273              "program": "functionCall.ts"
1274            },
1275            "end": {
1276              "line": 43,
1277              "column": 6,
1278              "program": "functionCall.ts"
1279            }
1280          }
1281        },
1282        "arguments": [
1283          {
1284            "type": "NumberLiteral",
1285            "value": 0,
1286            "loc": {
1287              "start": {
1288                "line": 43,
1289                "column": 7,
1290                "program": "functionCall.ts"
1291              },
1292              "end": {
1293                "line": 43,
1294                "column": 8,
1295                "program": "functionCall.ts"
1296              }
1297            }
1298          }
1299        ],
1300        "optional": false,
1301        "loc": {
1302          "start": {
1303            "line": 43,
1304            "column": 1,
1305            "program": "functionCall.ts"
1306          },
1307          "end": {
1308            "line": 43,
1309            "column": 9,
1310            "program": "functionCall.ts"
1311          }
1312        }
1313      },
1314      "loc": {
1315        "start": {
1316          "line": 43,
1317          "column": 1,
1318          "program": "functionCall.ts"
1319        },
1320        "end": {
1321          "line": 43,
1322          "column": 10,
1323          "program": "functionCall.ts"
1324        }
1325      }
1326    },
1327    {
1328      "type": "FunctionDeclaration",
1329      "function": {
1330        "type": "ScriptFunction",
1331        "id": {
1332          "type": "Identifier",
1333          "name": "func5",
1334          "decorators": [],
1335          "loc": {
1336            "start": {
1337              "line": 45,
1338              "column": 10,
1339              "program": "functionCall.ts"
1340            },
1341            "end": {
1342              "line": 45,
1343              "column": 15,
1344              "program": "functionCall.ts"
1345            }
1346          }
1347        },
1348        "generator": false,
1349        "async": false,
1350        "expression": false,
1351        "params": [
1352          {
1353            "type": "Identifier",
1354            "name": "a",
1355            "typeAnnotation": {
1356              "type": "TSNumberKeyword",
1357              "loc": {
1358                "start": {
1359                  "line": 45,
1360                  "column": 19,
1361                  "program": "functionCall.ts"
1362                },
1363                "end": {
1364                  "line": 45,
1365                  "column": 25,
1366                  "program": "functionCall.ts"
1367                }
1368              }
1369            },
1370            "decorators": [],
1371            "loc": {
1372              "start": {
1373                "line": 45,
1374                "column": 16,
1375                "program": "functionCall.ts"
1376              },
1377              "end": {
1378                "line": 45,
1379                "column": 17,
1380                "program": "functionCall.ts"
1381              }
1382            }
1383          },
1384          {
1385            "type": "Identifier",
1386            "name": "b",
1387            "typeAnnotation": {
1388              "type": "TSStringKeyword",
1389              "loc": {
1390                "start": {
1391                  "line": 45,
1392                  "column": 30,
1393                  "program": "functionCall.ts"
1394                },
1395                "end": {
1396                  "line": 45,
1397                  "column": 36,
1398                  "program": "functionCall.ts"
1399                }
1400              }
1401            },
1402            "decorators": [],
1403            "loc": {
1404              "start": {
1405                "line": 45,
1406                "column": 27,
1407                "program": "functionCall.ts"
1408              },
1409              "end": {
1410                "line": 45,
1411                "column": 28,
1412                "program": "functionCall.ts"
1413              }
1414            }
1415          },
1416          {
1417            "type": "RestElement",
1418            "argument": {
1419              "type": "Identifier",
1420              "name": "c",
1421              "decorators": [],
1422              "loc": {
1423                "start": {
1424                  "line": 45,
1425                  "column": 41,
1426                  "program": "functionCall.ts"
1427                },
1428                "end": {
1429                  "line": 45,
1430                  "column": 42,
1431                  "program": "functionCall.ts"
1432                }
1433              }
1434            },
1435            "loc": {
1436              "start": {
1437                "line": 45,
1438                "column": 38,
1439                "program": "functionCall.ts"
1440              },
1441              "end": {
1442                "line": 45,
1443                "column": 42,
1444                "program": "functionCall.ts"
1445              }
1446            }
1447          }
1448        ],
1449        "body": {
1450          "type": "BlockStatement",
1451          "statements": [
1452            {
1453              "type": "ReturnStatement",
1454              "argument": {
1455                "type": "NumberLiteral",
1456                "value": 5,
1457                "loc": {
1458                  "start": {
1459                    "line": 46,
1460                    "column": 12,
1461                    "program": "functionCall.ts"
1462                  },
1463                  "end": {
1464                    "line": 46,
1465                    "column": 13,
1466                    "program": "functionCall.ts"
1467                  }
1468                }
1469              },
1470              "loc": {
1471                "start": {
1472                  "line": 46,
1473                  "column": 5,
1474                  "program": "functionCall.ts"
1475                },
1476                "end": {
1477                  "line": 46,
1478                  "column": 14,
1479                  "program": "functionCall.ts"
1480                }
1481              }
1482            }
1483          ],
1484          "loc": {
1485            "start": {
1486              "line": 45,
1487              "column": 44,
1488              "program": "functionCall.ts"
1489            },
1490            "end": {
1491              "line": 47,
1492              "column": 2,
1493              "program": "functionCall.ts"
1494            }
1495          }
1496        },
1497        "loc": {
1498          "start": {
1499            "line": 45,
1500            "column": 1,
1501            "program": "functionCall.ts"
1502          },
1503          "end": {
1504            "line": 47,
1505            "column": 2,
1506            "program": "functionCall.ts"
1507          }
1508        }
1509      },
1510      "loc": {
1511        "start": {
1512          "line": 45,
1513          "column": 1,
1514          "program": "functionCall.ts"
1515        },
1516        "end": {
1517          "line": 47,
1518          "column": 2,
1519          "program": "functionCall.ts"
1520        }
1521      }
1522    },
1523    {
1524      "type": "ExpressionStatement",
1525      "expression": {
1526        "type": "CallExpression",
1527        "callee": {
1528          "type": "Identifier",
1529          "name": "func5",
1530          "decorators": [],
1531          "loc": {
1532            "start": {
1533              "line": 49,
1534              "column": 1,
1535              "program": "functionCall.ts"
1536            },
1537            "end": {
1538              "line": 49,
1539              "column": 6,
1540              "program": "functionCall.ts"
1541            }
1542          }
1543        },
1544        "arguments": [
1545          {
1546            "type": "NumberLiteral",
1547            "value": 1,
1548            "loc": {
1549              "start": {
1550                "line": 49,
1551                "column": 7,
1552                "program": "functionCall.ts"
1553              },
1554              "end": {
1555                "line": 49,
1556                "column": 8,
1557                "program": "functionCall.ts"
1558              }
1559            }
1560          },
1561          {
1562            "type": "StringLiteral",
1563            "value": "foo",
1564            "loc": {
1565              "start": {
1566                "line": 49,
1567                "column": 10,
1568                "program": "functionCall.ts"
1569              },
1570              "end": {
1571                "line": 49,
1572                "column": 15,
1573                "program": "functionCall.ts"
1574              }
1575            }
1576          }
1577        ],
1578        "optional": false,
1579        "loc": {
1580          "start": {
1581            "line": 49,
1582            "column": 1,
1583            "program": "functionCall.ts"
1584          },
1585          "end": {
1586            "line": 49,
1587            "column": 16,
1588            "program": "functionCall.ts"
1589          }
1590        }
1591      },
1592      "loc": {
1593        "start": {
1594          "line": 49,
1595          "column": 1,
1596          "program": "functionCall.ts"
1597        },
1598        "end": {
1599          "line": 49,
1600          "column": 17,
1601          "program": "functionCall.ts"
1602        }
1603      }
1604    },
1605    {
1606      "type": "ExpressionStatement",
1607      "expression": {
1608        "type": "CallExpression",
1609        "callee": {
1610          "type": "Identifier",
1611          "name": "func5",
1612          "decorators": [],
1613          "loc": {
1614            "start": {
1615              "line": 50,
1616              "column": 1,
1617              "program": "functionCall.ts"
1618            },
1619            "end": {
1620              "line": 50,
1621              "column": 6,
1622              "program": "functionCall.ts"
1623            }
1624          }
1625        },
1626        "arguments": [
1627          {
1628            "type": "NumberLiteral",
1629            "value": 1,
1630            "loc": {
1631              "start": {
1632                "line": 50,
1633                "column": 7,
1634                "program": "functionCall.ts"
1635              },
1636              "end": {
1637                "line": 50,
1638                "column": 8,
1639                "program": "functionCall.ts"
1640              }
1641            }
1642          },
1643          {
1644            "type": "StringLiteral",
1645            "value": "foo",
1646            "loc": {
1647              "start": {
1648                "line": 50,
1649                "column": 10,
1650                "program": "functionCall.ts"
1651              },
1652              "end": {
1653                "line": 50,
1654                "column": 15,
1655                "program": "functionCall.ts"
1656              }
1657            }
1658          },
1659          {
1660            "type": "NumberLiteral",
1661            "value": 2,
1662            "loc": {
1663              "start": {
1664                "line": 50,
1665                "column": 17,
1666                "program": "functionCall.ts"
1667              },
1668              "end": {
1669                "line": 50,
1670                "column": 18,
1671                "program": "functionCall.ts"
1672              }
1673            }
1674          },
1675          {
1676            "type": "BooleanLiteral",
1677            "value": true,
1678            "loc": {
1679              "start": {
1680                "line": 50,
1681                "column": 20,
1682                "program": "functionCall.ts"
1683              },
1684              "end": {
1685                "line": 50,
1686                "column": 24,
1687                "program": "functionCall.ts"
1688              }
1689            }
1690          },
1691          {
1692            "type": "ObjectExpression",
1693            "properties": [],
1694            "loc": {
1695              "start": {
1696                "line": 50,
1697                "column": 26,
1698                "program": "functionCall.ts"
1699              },
1700              "end": {
1701                "line": 50,
1702                "column": 28,
1703                "program": "functionCall.ts"
1704              }
1705            }
1706          }
1707        ],
1708        "optional": false,
1709        "loc": {
1710          "start": {
1711            "line": 50,
1712            "column": 1,
1713            "program": "functionCall.ts"
1714          },
1715          "end": {
1716            "line": 50,
1717            "column": 29,
1718            "program": "functionCall.ts"
1719          }
1720        }
1721      },
1722      "loc": {
1723        "start": {
1724          "line": 50,
1725          "column": 1,
1726          "program": "functionCall.ts"
1727        },
1728        "end": {
1729          "line": 50,
1730          "column": 30,
1731          "program": "functionCall.ts"
1732        }
1733      }
1734    },
1735    {
1736      "type": "FunctionDeclaration",
1737      "function": {
1738        "type": "ScriptFunction",
1739        "id": {
1740          "type": "Identifier",
1741          "name": "func6",
1742          "decorators": [],
1743          "loc": {
1744            "start": {
1745              "line": 52,
1746              "column": 10,
1747              "program": "functionCall.ts"
1748            },
1749            "end": {
1750              "line": 52,
1751              "column": 15,
1752              "program": "functionCall.ts"
1753            }
1754          }
1755        },
1756        "generator": false,
1757        "async": false,
1758        "expression": false,
1759        "params": [
1760          {
1761            "type": "Identifier",
1762            "name": "a",
1763            "typeAnnotation": {
1764              "type": "TSAnyKeyword",
1765              "loc": {
1766                "start": {
1767                  "line": 52,
1768                  "column": 19,
1769                  "program": "functionCall.ts"
1770                },
1771                "end": {
1772                  "line": 52,
1773                  "column": 22,
1774                  "program": "functionCall.ts"
1775                }
1776              }
1777            },
1778            "decorators": [],
1779            "loc": {
1780              "start": {
1781                "line": 52,
1782                "column": 16,
1783                "program": "functionCall.ts"
1784              },
1785              "end": {
1786                "line": 52,
1787                "column": 17,
1788                "program": "functionCall.ts"
1789              }
1790            }
1791          },
1792          {
1793            "type": "Identifier",
1794            "name": "b",
1795            "typeAnnotation": {
1796              "type": "TSArrayType",
1797              "elementType": {
1798                "type": "TSStringKeyword",
1799                "loc": {
1800                  "start": {
1801                    "line": 52,
1802                    "column": 28,
1803                    "program": "functionCall.ts"
1804                  },
1805                  "end": {
1806                    "line": 52,
1807                    "column": 34,
1808                    "program": "functionCall.ts"
1809                  }
1810                }
1811              },
1812              "annotations": [],
1813              "loc": {
1814                "start": {
1815                  "line": 52,
1816                  "column": 28,
1817                  "program": "functionCall.ts"
1818                },
1819                "end": {
1820                  "line": 52,
1821                  "column": 36,
1822                  "program": "functionCall.ts"
1823                }
1824              }
1825            },
1826            "optional": true,
1827            "decorators": [],
1828            "loc": {
1829              "start": {
1830                "line": 52,
1831                "column": 24,
1832                "program": "functionCall.ts"
1833              },
1834              "end": {
1835                "line": 52,
1836                "column": 25,
1837                "program": "functionCall.ts"
1838              }
1839            }
1840          },
1841          {
1842            "type": "RestElement",
1843            "argument": {
1844              "type": "Identifier",
1845              "name": "c",
1846              "typeAnnotation": {
1847                "type": "TSArrayType",
1848                "elementType": {
1849                  "type": "TSNumberKeyword",
1850                  "loc": {
1851                    "start": {
1852                      "line": 52,
1853                      "column": 44,
1854                      "program": "functionCall.ts"
1855                    },
1856                    "end": {
1857                      "line": 52,
1858                      "column": 50,
1859                      "program": "functionCall.ts"
1860                    }
1861                  }
1862                },
1863                "annotations": [],
1864                "loc": {
1865                  "start": {
1866                    "line": 52,
1867                    "column": 44,
1868                    "program": "functionCall.ts"
1869                  },
1870                  "end": {
1871                    "line": 52,
1872                    "column": 52,
1873                    "program": "functionCall.ts"
1874                  }
1875                }
1876              },
1877              "decorators": [],
1878              "loc": {
1879                "start": {
1880                  "line": 52,
1881                  "column": 41,
1882                  "program": "functionCall.ts"
1883                },
1884                "end": {
1885                  "line": 52,
1886                  "column": 42,
1887                  "program": "functionCall.ts"
1888                }
1889              }
1890            },
1891            "loc": {
1892              "start": {
1893                "line": 52,
1894                "column": 38,
1895                "program": "functionCall.ts"
1896              },
1897              "end": {
1898                "line": 52,
1899                "column": 42,
1900                "program": "functionCall.ts"
1901              }
1902            }
1903          }
1904        ],
1905        "body": {
1906          "type": "BlockStatement",
1907          "statements": [
1908            {
1909              "type": "ReturnStatement",
1910              "argument": {
1911                "type": "BooleanLiteral",
1912                "value": true,
1913                "loc": {
1914                  "start": {
1915                    "line": 53,
1916                    "column": 12,
1917                    "program": "functionCall.ts"
1918                  },
1919                  "end": {
1920                    "line": 53,
1921                    "column": 16,
1922                    "program": "functionCall.ts"
1923                  }
1924                }
1925              },
1926              "loc": {
1927                "start": {
1928                  "line": 53,
1929                  "column": 5,
1930                  "program": "functionCall.ts"
1931                },
1932                "end": {
1933                  "line": 53,
1934                  "column": 17,
1935                  "program": "functionCall.ts"
1936                }
1937              }
1938            }
1939          ],
1940          "loc": {
1941            "start": {
1942              "line": 52,
1943              "column": 54,
1944              "program": "functionCall.ts"
1945            },
1946            "end": {
1947              "line": 54,
1948              "column": 2,
1949              "program": "functionCall.ts"
1950            }
1951          }
1952        },
1953        "loc": {
1954          "start": {
1955            "line": 52,
1956            "column": 1,
1957            "program": "functionCall.ts"
1958          },
1959          "end": {
1960            "line": 54,
1961            "column": 2,
1962            "program": "functionCall.ts"
1963          }
1964        }
1965      },
1966      "loc": {
1967        "start": {
1968          "line": 52,
1969          "column": 1,
1970          "program": "functionCall.ts"
1971        },
1972        "end": {
1973          "line": 54,
1974          "column": 2,
1975          "program": "functionCall.ts"
1976        }
1977      }
1978    },
1979    {
1980      "type": "ExpressionStatement",
1981      "expression": {
1982        "type": "CallExpression",
1983        "callee": {
1984          "type": "Identifier",
1985          "name": "func6",
1986          "decorators": [],
1987          "loc": {
1988            "start": {
1989              "line": 56,
1990              "column": 1,
1991              "program": "functionCall.ts"
1992            },
1993            "end": {
1994              "line": 56,
1995              "column": 6,
1996              "program": "functionCall.ts"
1997            }
1998          }
1999        },
2000        "arguments": [
2001          {
2002            "type": "NumberLiteral",
2003            "value": 2,
2004            "loc": {
2005              "start": {
2006                "line": 56,
2007                "column": 7,
2008                "program": "functionCall.ts"
2009              },
2010              "end": {
2011                "line": 56,
2012                "column": 8,
2013                "program": "functionCall.ts"
2014              }
2015            }
2016          }
2017        ],
2018        "optional": false,
2019        "loc": {
2020          "start": {
2021            "line": 56,
2022            "column": 1,
2023            "program": "functionCall.ts"
2024          },
2025          "end": {
2026            "line": 56,
2027            "column": 9,
2028            "program": "functionCall.ts"
2029          }
2030        }
2031      },
2032      "loc": {
2033        "start": {
2034          "line": 56,
2035          "column": 1,
2036          "program": "functionCall.ts"
2037        },
2038        "end": {
2039          "line": 56,
2040          "column": 10,
2041          "program": "functionCall.ts"
2042        }
2043      }
2044    },
2045    {
2046      "type": "ExpressionStatement",
2047      "expression": {
2048        "type": "CallExpression",
2049        "callee": {
2050          "type": "Identifier",
2051          "name": "func6",
2052          "decorators": [],
2053          "loc": {
2054            "start": {
2055              "line": 57,
2056              "column": 1,
2057              "program": "functionCall.ts"
2058            },
2059            "end": {
2060              "line": 57,
2061              "column": 6,
2062              "program": "functionCall.ts"
2063            }
2064          }
2065        },
2066        "arguments": [
2067          {
2068            "type": "BooleanLiteral",
2069            "value": false,
2070            "loc": {
2071              "start": {
2072                "line": 57,
2073                "column": 7,
2074                "program": "functionCall.ts"
2075              },
2076              "end": {
2077                "line": 57,
2078                "column": 12,
2079                "program": "functionCall.ts"
2080              }
2081            }
2082          },
2083          {
2084            "type": "ArrayExpression",
2085            "elements": [
2086              {
2087                "type": "StringLiteral",
2088                "value": "foo",
2089                "loc": {
2090                  "start": {
2091                    "line": 57,
2092                    "column": 15,
2093                    "program": "functionCall.ts"
2094                  },
2095                  "end": {
2096                    "line": 57,
2097                    "column": 20,
2098                    "program": "functionCall.ts"
2099                  }
2100                }
2101              }
2102            ],
2103            "loc": {
2104              "start": {
2105                "line": 57,
2106                "column": 14,
2107                "program": "functionCall.ts"
2108              },
2109              "end": {
2110                "line": 57,
2111                "column": 21,
2112                "program": "functionCall.ts"
2113              }
2114            }
2115          }
2116        ],
2117        "optional": false,
2118        "loc": {
2119          "start": {
2120            "line": 57,
2121            "column": 1,
2122            "program": "functionCall.ts"
2123          },
2124          "end": {
2125            "line": 57,
2126            "column": 22,
2127            "program": "functionCall.ts"
2128          }
2129        }
2130      },
2131      "loc": {
2132        "start": {
2133          "line": 57,
2134          "column": 1,
2135          "program": "functionCall.ts"
2136        },
2137        "end": {
2138          "line": 57,
2139          "column": 23,
2140          "program": "functionCall.ts"
2141        }
2142      }
2143    },
2144    {
2145      "type": "ExpressionStatement",
2146      "expression": {
2147        "type": "CallExpression",
2148        "callee": {
2149          "type": "Identifier",
2150          "name": "func6",
2151          "decorators": [],
2152          "loc": {
2153            "start": {
2154              "line": 58,
2155              "column": 1,
2156              "program": "functionCall.ts"
2157            },
2158            "end": {
2159              "line": 58,
2160              "column": 6,
2161              "program": "functionCall.ts"
2162            }
2163          }
2164        },
2165        "arguments": [
2166          {
2167            "type": "ObjectExpression",
2168            "properties": [],
2169            "loc": {
2170              "start": {
2171                "line": 58,
2172                "column": 7,
2173                "program": "functionCall.ts"
2174              },
2175              "end": {
2176                "line": 58,
2177                "column": 9,
2178                "program": "functionCall.ts"
2179              }
2180            }
2181          },
2182          {
2183            "type": "ArrayExpression",
2184            "elements": [
2185              {
2186                "type": "StringLiteral",
2187                "value": "foo",
2188                "loc": {
2189                  "start": {
2190                    "line": 58,
2191                    "column": 12,
2192                    "program": "functionCall.ts"
2193                  },
2194                  "end": {
2195                    "line": 58,
2196                    "column": 17,
2197                    "program": "functionCall.ts"
2198                  }
2199                }
2200              }
2201            ],
2202            "loc": {
2203              "start": {
2204                "line": 58,
2205                "column": 11,
2206                "program": "functionCall.ts"
2207              },
2208              "end": {
2209                "line": 58,
2210                "column": 18,
2211                "program": "functionCall.ts"
2212              }
2213            }
2214          },
2215          {
2216            "type": "NumberLiteral",
2217            "value": 2,
2218            "loc": {
2219              "start": {
2220                "line": 58,
2221                "column": 20,
2222                "program": "functionCall.ts"
2223              },
2224              "end": {
2225                "line": 58,
2226                "column": 21,
2227                "program": "functionCall.ts"
2228              }
2229            }
2230          },
2231          {
2232            "type": "NumberLiteral",
2233            "value": 3,
2234            "loc": {
2235              "start": {
2236                "line": 58,
2237                "column": 23,
2238                "program": "functionCall.ts"
2239              },
2240              "end": {
2241                "line": 58,
2242                "column": 24,
2243                "program": "functionCall.ts"
2244              }
2245            }
2246          },
2247          {
2248            "type": "NumberLiteral",
2249            "value": 4,
2250            "loc": {
2251              "start": {
2252                "line": 58,
2253                "column": 26,
2254                "program": "functionCall.ts"
2255              },
2256              "end": {
2257                "line": 58,
2258                "column": 27,
2259                "program": "functionCall.ts"
2260              }
2261            }
2262          }
2263        ],
2264        "optional": false,
2265        "loc": {
2266          "start": {
2267            "line": 58,
2268            "column": 1,
2269            "program": "functionCall.ts"
2270          },
2271          "end": {
2272            "line": 58,
2273            "column": 28,
2274            "program": "functionCall.ts"
2275          }
2276        }
2277      },
2278      "loc": {
2279        "start": {
2280          "line": 58,
2281          "column": 1,
2282          "program": "functionCall.ts"
2283        },
2284        "end": {
2285          "line": 58,
2286          "column": 29,
2287          "program": "functionCall.ts"
2288        }
2289      }
2290    },
2291    {
2292      "type": "VariableDeclaration",
2293      "declarations": [
2294        {
2295          "type": "VariableDeclarator",
2296          "id": {
2297            "type": "Identifier",
2298            "name": "func7",
2299            "typeAnnotation": {
2300              "type": "TSTypeLiteral",
2301              "members": [
2302                {
2303                  "type": "TSCallSignatureDeclaration",
2304                  "params": [
2305                    {
2306                      "type": "Identifier",
2307                      "name": "a",
2308                      "typeAnnotation": {
2309                        "type": "TSNumberKeyword",
2310                        "loc": {
2311                          "start": {
2312                            "line": 60,
2313                            "column": 18,
2314                            "program": "functionCall.ts"
2315                          },
2316                          "end": {
2317                            "line": 60,
2318                            "column": 24,
2319                            "program": "functionCall.ts"
2320                          }
2321                        }
2322                      },
2323                      "decorators": [],
2324                      "loc": {
2325                        "start": {
2326                          "line": 60,
2327                          "column": 15,
2328                          "program": "functionCall.ts"
2329                        },
2330                        "end": {
2331                          "line": 60,
2332                          "column": 16,
2333                          "program": "functionCall.ts"
2334                        }
2335                      }
2336                    },
2337                    {
2338                      "type": "Identifier",
2339                      "name": "b",
2340                      "typeAnnotation": {
2341                        "type": "TSStringKeyword",
2342                        "loc": {
2343                          "start": {
2344                            "line": 60,
2345                            "column": 29,
2346                            "program": "functionCall.ts"
2347                          },
2348                          "end": {
2349                            "line": 60,
2350                            "column": 35,
2351                            "program": "functionCall.ts"
2352                          }
2353                        }
2354                      },
2355                      "decorators": [],
2356                      "loc": {
2357                        "start": {
2358                          "line": 60,
2359                          "column": 26,
2360                          "program": "functionCall.ts"
2361                        },
2362                        "end": {
2363                          "line": 60,
2364                          "column": 27,
2365                          "program": "functionCall.ts"
2366                        }
2367                      }
2368                    }
2369                  ],
2370                  "returnType": {
2371                    "type": "TSNumberKeyword",
2372                    "loc": {
2373                      "start": {
2374                        "line": 60,
2375                        "column": 38,
2376                        "program": "functionCall.ts"
2377                      },
2378                      "end": {
2379                        "line": 60,
2380                        "column": 44,
2381                        "program": "functionCall.ts"
2382                      }
2383                    }
2384                  },
2385                  "loc": {
2386                    "start": {
2387                      "line": 60,
2388                      "column": 14,
2389                      "program": "functionCall.ts"
2390                    },
2391                    "end": {
2392                      "line": 60,
2393                      "column": 45,
2394                      "program": "functionCall.ts"
2395                    }
2396                  }
2397                },
2398                {
2399                  "type": "TSCallSignatureDeclaration",
2400                  "params": [
2401                    {
2402                      "type": "RestElement",
2403                      "argument": {
2404                        "type": "Identifier",
2405                        "name": "a",
2406                        "decorators": [],
2407                        "loc": {
2408                          "start": {
2409                            "line": 60,
2410                            "column": 50,
2411                            "program": "functionCall.ts"
2412                          },
2413                          "end": {
2414                            "line": 60,
2415                            "column": 51,
2416                            "program": "functionCall.ts"
2417                          }
2418                        }
2419                      },
2420                      "loc": {
2421                        "start": {
2422                          "line": 60,
2423                          "column": 47,
2424                          "program": "functionCall.ts"
2425                        },
2426                        "end": {
2427                          "line": 60,
2428                          "column": 51,
2429                          "program": "functionCall.ts"
2430                        }
2431                      }
2432                    }
2433                  ],
2434                  "returnType": {
2435                    "type": "TSStringKeyword",
2436                    "loc": {
2437                      "start": {
2438                        "line": 60,
2439                        "column": 54,
2440                        "program": "functionCall.ts"
2441                      },
2442                      "end": {
2443                        "line": 60,
2444                        "column": 60,
2445                        "program": "functionCall.ts"
2446                      }
2447                    }
2448                  },
2449                  "loc": {
2450                    "start": {
2451                      "line": 60,
2452                      "column": 46,
2453                      "program": "functionCall.ts"
2454                    },
2455                    "end": {
2456                      "line": 60,
2457                      "column": 62,
2458                      "program": "functionCall.ts"
2459                    }
2460                  }
2461                }
2462              ],
2463              "loc": {
2464                "start": {
2465                  "line": 60,
2466                  "column": 12,
2467                  "program": "functionCall.ts"
2468                },
2469                "end": {
2470                  "line": 60,
2471                  "column": 62,
2472                  "program": "functionCall.ts"
2473                }
2474              }
2475            },
2476            "decorators": [],
2477            "loc": {
2478              "start": {
2479                "line": 60,
2480                "column": 5,
2481                "program": "functionCall.ts"
2482              },
2483              "end": {
2484                "line": 60,
2485                "column": 10,
2486                "program": "functionCall.ts"
2487              }
2488            }
2489          },
2490          "init": null,
2491          "loc": {
2492            "start": {
2493              "line": 60,
2494              "column": 5,
2495              "program": "functionCall.ts"
2496            },
2497            "end": {
2498              "line": 60,
2499              "column": 10,
2500              "program": "functionCall.ts"
2501            }
2502          }
2503        }
2504      ],
2505      "kind": "var",
2506      "loc": {
2507        "start": {
2508          "line": 60,
2509          "column": 1,
2510          "program": "functionCall.ts"
2511        },
2512        "end": {
2513          "line": 60,
2514          "column": 63,
2515          "program": "functionCall.ts"
2516        }
2517      }
2518    },
2519    {
2520      "type": "VariableDeclaration",
2521      "declarations": [
2522        {
2523          "type": "VariableDeclarator",
2524          "id": {
2525            "type": "Identifier",
2526            "name": "b",
2527            "typeAnnotation": {
2528              "type": "TSStringKeyword",
2529              "loc": {
2530                "start": {
2531                  "line": 61,
2532                  "column": 8,
2533                  "program": "functionCall.ts"
2534                },
2535                "end": {
2536                  "line": 61,
2537                  "column": 14,
2538                  "program": "functionCall.ts"
2539                }
2540              }
2541            },
2542            "decorators": [],
2543            "loc": {
2544              "start": {
2545                "line": 61,
2546                "column": 5,
2547                "program": "functionCall.ts"
2548              },
2549              "end": {
2550                "line": 61,
2551                "column": 6,
2552                "program": "functionCall.ts"
2553              }
2554            }
2555          },
2556          "init": {
2557            "type": "CallExpression",
2558            "callee": {
2559              "type": "Identifier",
2560              "name": "func7",
2561              "decorators": [],
2562              "loc": {
2563                "start": {
2564                  "line": 61,
2565                  "column": 17,
2566                  "program": "functionCall.ts"
2567                },
2568                "end": {
2569                  "line": 61,
2570                  "column": 22,
2571                  "program": "functionCall.ts"
2572                }
2573              }
2574            },
2575            "arguments": [],
2576            "optional": false,
2577            "loc": {
2578              "start": {
2579                "line": 61,
2580                "column": 17,
2581                "program": "functionCall.ts"
2582              },
2583              "end": {
2584                "line": 61,
2585                "column": 24,
2586                "program": "functionCall.ts"
2587              }
2588            }
2589          },
2590          "loc": {
2591            "start": {
2592              "line": 61,
2593              "column": 5,
2594              "program": "functionCall.ts"
2595            },
2596            "end": {
2597              "line": 61,
2598              "column": 24,
2599              "program": "functionCall.ts"
2600            }
2601          }
2602        }
2603      ],
2604      "kind": "var",
2605      "loc": {
2606        "start": {
2607          "line": 61,
2608          "column": 1,
2609          "program": "functionCall.ts"
2610        },
2611        "end": {
2612          "line": 61,
2613          "column": 25,
2614          "program": "functionCall.ts"
2615        }
2616      }
2617    },
2618    {
2619      "type": "VariableDeclaration",
2620      "declarations": [
2621        {
2622          "type": "VariableDeclarator",
2623          "id": {
2624            "type": "Identifier",
2625            "name": "c",
2626            "typeAnnotation": {
2627              "type": "TSStringKeyword",
2628              "loc": {
2629                "start": {
2630                  "line": 62,
2631                  "column": 8,
2632                  "program": "functionCall.ts"
2633                },
2634                "end": {
2635                  "line": 62,
2636                  "column": 14,
2637                  "program": "functionCall.ts"
2638                }
2639              }
2640            },
2641            "decorators": [],
2642            "loc": {
2643              "start": {
2644                "line": 62,
2645                "column": 5,
2646                "program": "functionCall.ts"
2647              },
2648              "end": {
2649                "line": 62,
2650                "column": 6,
2651                "program": "functionCall.ts"
2652              }
2653            }
2654          },
2655          "init": {
2656            "type": "CallExpression",
2657            "callee": {
2658              "type": "Identifier",
2659              "name": "func7",
2660              "decorators": [],
2661              "loc": {
2662                "start": {
2663                  "line": 62,
2664                  "column": 17,
2665                  "program": "functionCall.ts"
2666                },
2667                "end": {
2668                  "line": 62,
2669                  "column": 22,
2670                  "program": "functionCall.ts"
2671                }
2672              }
2673            },
2674            "arguments": [
2675              {
2676                "type": "NumberLiteral",
2677                "value": 1,
2678                "loc": {
2679                  "start": {
2680                    "line": 62,
2681                    "column": 23,
2682                    "program": "functionCall.ts"
2683                  },
2684                  "end": {
2685                    "line": 62,
2686                    "column": 24,
2687                    "program": "functionCall.ts"
2688                  }
2689                }
2690              }
2691            ],
2692            "optional": false,
2693            "loc": {
2694              "start": {
2695                "line": 62,
2696                "column": 17,
2697                "program": "functionCall.ts"
2698              },
2699              "end": {
2700                "line": 62,
2701                "column": 25,
2702                "program": "functionCall.ts"
2703              }
2704            }
2705          },
2706          "loc": {
2707            "start": {
2708              "line": 62,
2709              "column": 5,
2710              "program": "functionCall.ts"
2711            },
2712            "end": {
2713              "line": 62,
2714              "column": 25,
2715              "program": "functionCall.ts"
2716            }
2717          }
2718        }
2719      ],
2720      "kind": "var",
2721      "loc": {
2722        "start": {
2723          "line": 62,
2724          "column": 1,
2725          "program": "functionCall.ts"
2726        },
2727        "end": {
2728          "line": 62,
2729          "column": 26,
2730          "program": "functionCall.ts"
2731        }
2732      }
2733    },
2734    {
2735      "type": "VariableDeclaration",
2736      "declarations": [
2737        {
2738          "type": "VariableDeclarator",
2739          "id": {
2740            "type": "Identifier",
2741            "name": "d",
2742            "typeAnnotation": {
2743              "type": "TSNumberKeyword",
2744              "loc": {
2745                "start": {
2746                  "line": 63,
2747                  "column": 8,
2748                  "program": "functionCall.ts"
2749                },
2750                "end": {
2751                  "line": 63,
2752                  "column": 14,
2753                  "program": "functionCall.ts"
2754                }
2755              }
2756            },
2757            "decorators": [],
2758            "loc": {
2759              "start": {
2760                "line": 63,
2761                "column": 5,
2762                "program": "functionCall.ts"
2763              },
2764              "end": {
2765                "line": 63,
2766                "column": 6,
2767                "program": "functionCall.ts"
2768              }
2769            }
2770          },
2771          "init": {
2772            "type": "CallExpression",
2773            "callee": {
2774              "type": "Identifier",
2775              "name": "func7",
2776              "decorators": [],
2777              "loc": {
2778                "start": {
2779                  "line": 63,
2780                  "column": 17,
2781                  "program": "functionCall.ts"
2782                },
2783                "end": {
2784                  "line": 63,
2785                  "column": 22,
2786                  "program": "functionCall.ts"
2787                }
2788              }
2789            },
2790            "arguments": [
2791              {
2792                "type": "NumberLiteral",
2793                "value": 1,
2794                "loc": {
2795                  "start": {
2796                    "line": 63,
2797                    "column": 23,
2798                    "program": "functionCall.ts"
2799                  },
2800                  "end": {
2801                    "line": 63,
2802                    "column": 24,
2803                    "program": "functionCall.ts"
2804                  }
2805                }
2806              },
2807              {
2808                "type": "StringLiteral",
2809                "value": "foo",
2810                "loc": {
2811                  "start": {
2812                    "line": 63,
2813                    "column": 26,
2814                    "program": "functionCall.ts"
2815                  },
2816                  "end": {
2817                    "line": 63,
2818                    "column": 31,
2819                    "program": "functionCall.ts"
2820                  }
2821                }
2822              }
2823            ],
2824            "optional": false,
2825            "loc": {
2826              "start": {
2827                "line": 63,
2828                "column": 17,
2829                "program": "functionCall.ts"
2830              },
2831              "end": {
2832                "line": 63,
2833                "column": 32,
2834                "program": "functionCall.ts"
2835              }
2836            }
2837          },
2838          "loc": {
2839            "start": {
2840              "line": 63,
2841              "column": 5,
2842              "program": "functionCall.ts"
2843            },
2844            "end": {
2845              "line": 63,
2846              "column": 32,
2847              "program": "functionCall.ts"
2848            }
2849          }
2850        }
2851      ],
2852      "kind": "var",
2853      "loc": {
2854        "start": {
2855          "line": 63,
2856          "column": 1,
2857          "program": "functionCall.ts"
2858        },
2859        "end": {
2860          "line": 63,
2861          "column": 33,
2862          "program": "functionCall.ts"
2863        }
2864      }
2865    },
2866    {
2867      "type": "VariableDeclaration",
2868      "declarations": [
2869        {
2870          "type": "VariableDeclarator",
2871          "id": {
2872            "type": "Identifier",
2873            "name": "func8",
2874            "typeAnnotation": {
2875              "type": "TSTypeLiteral",
2876              "members": [
2877                {
2878                  "type": "TSCallSignatureDeclaration",
2879                  "params": [
2880                    {
2881                      "type": "Identifier",
2882                      "name": "a",
2883                      "typeAnnotation": {
2884                        "type": "TSNumberKeyword",
2885                        "loc": {
2886                          "start": {
2887                            "line": 65,
2888                            "column": 19,
2889                            "program": "functionCall.ts"
2890                          },
2891                          "end": {
2892                            "line": 65,
2893                            "column": 25,
2894                            "program": "functionCall.ts"
2895                          }
2896                        }
2897                      },
2898                      "optional": true,
2899                      "decorators": [],
2900                      "loc": {
2901                        "start": {
2902                          "line": 65,
2903                          "column": 15,
2904                          "program": "functionCall.ts"
2905                        },
2906                        "end": {
2907                          "line": 65,
2908                          "column": 16,
2909                          "program": "functionCall.ts"
2910                        }
2911                      }
2912                    },
2913                    {
2914                      "type": "RestElement",
2915                      "argument": {
2916                        "type": "Identifier",
2917                        "name": "c",
2918                        "decorators": [],
2919                        "loc": {
2920                          "start": {
2921                            "line": 65,
2922                            "column": 30,
2923                            "program": "functionCall.ts"
2924                          },
2925                          "end": {
2926                            "line": 65,
2927                            "column": 31,
2928                            "program": "functionCall.ts"
2929                          }
2930                        }
2931                      },
2932                      "loc": {
2933                        "start": {
2934                          "line": 65,
2935                          "column": 27,
2936                          "program": "functionCall.ts"
2937                        },
2938                        "end": {
2939                          "line": 65,
2940                          "column": 31,
2941                          "program": "functionCall.ts"
2942                        }
2943                      }
2944                    }
2945                  ],
2946                  "returnType": {
2947                    "type": "TSBooleanKeyword",
2948                    "loc": {
2949                      "start": {
2950                        "line": 65,
2951                        "column": 34,
2952                        "program": "functionCall.ts"
2953                      },
2954                      "end": {
2955                        "line": 65,
2956                        "column": 41,
2957                        "program": "functionCall.ts"
2958                      }
2959                    }
2960                  },
2961                  "loc": {
2962                    "start": {
2963                      "line": 65,
2964                      "column": 14,
2965                      "program": "functionCall.ts"
2966                    },
2967                    "end": {
2968                      "line": 65,
2969                      "column": 42,
2970                      "program": "functionCall.ts"
2971                    }
2972                  }
2973                },
2974                {
2975                  "type": "TSCallSignatureDeclaration",
2976                  "params": [
2977                    {
2978                      "type": "Identifier",
2979                      "name": "a",
2980                      "typeAnnotation": {
2981                        "type": "TSAnyKeyword",
2982                        "loc": {
2983                          "start": {
2984                            "line": 65,
2985                            "column": 47,
2986                            "program": "functionCall.ts"
2987                          },
2988                          "end": {
2989                            "line": 65,
2990                            "column": 50,
2991                            "program": "functionCall.ts"
2992                          }
2993                        }
2994                      },
2995                      "decorators": [],
2996                      "loc": {
2997                        "start": {
2998                          "line": 65,
2999                          "column": 44,
3000                          "program": "functionCall.ts"
3001                        },
3002                        "end": {
3003                          "line": 65,
3004                          "column": 45,
3005                          "program": "functionCall.ts"
3006                        }
3007                      }
3008                    },
3009                    {
3010                      "type": "Identifier",
3011                      "name": "b",
3012                      "typeAnnotation": {
3013                        "type": "TSArrayType",
3014                        "elementType": {
3015                          "type": "TSStringKeyword",
3016                          "loc": {
3017                            "start": {
3018                              "line": 65,
3019                              "column": 55,
3020                              "program": "functionCall.ts"
3021                            },
3022                            "end": {
3023                              "line": 65,
3024                              "column": 61,
3025                              "program": "functionCall.ts"
3026                            }
3027                          }
3028                        },
3029                        "annotations": [],
3030                        "loc": {
3031                          "start": {
3032                            "line": 65,
3033                            "column": 55,
3034                            "program": "functionCall.ts"
3035                          },
3036                          "end": {
3037                            "line": 65,
3038                            "column": 63,
3039                            "program": "functionCall.ts"
3040                          }
3041                        }
3042                      },
3043                      "decorators": [],
3044                      "loc": {
3045                        "start": {
3046                          "line": 65,
3047                          "column": 52,
3048                          "program": "functionCall.ts"
3049                        },
3050                        "end": {
3051                          "line": 65,
3052                          "column": 53,
3053                          "program": "functionCall.ts"
3054                        }
3055                      }
3056                    },
3057                    {
3058                      "type": "RestElement",
3059                      "argument": {
3060                        "type": "Identifier",
3061                        "name": "c",
3062                        "typeAnnotation": {
3063                          "type": "TSArrayType",
3064                          "elementType": {
3065                            "type": "TSNumberKeyword",
3066                            "loc": {
3067                              "start": {
3068                                "line": 65,
3069                                "column": 71,
3070                                "program": "functionCall.ts"
3071                              },
3072                              "end": {
3073                                "line": 65,
3074                                "column": 77,
3075                                "program": "functionCall.ts"
3076                              }
3077                            }
3078                          },
3079                          "annotations": [],
3080                          "loc": {
3081                            "start": {
3082                              "line": 65,
3083                              "column": 71,
3084                              "program": "functionCall.ts"
3085                            },
3086                            "end": {
3087                              "line": 65,
3088                              "column": 79,
3089                              "program": "functionCall.ts"
3090                            }
3091                          }
3092                        },
3093                        "decorators": [],
3094                        "loc": {
3095                          "start": {
3096                            "line": 65,
3097                            "column": 68,
3098                            "program": "functionCall.ts"
3099                          },
3100                          "end": {
3101                            "line": 65,
3102                            "column": 69,
3103                            "program": "functionCall.ts"
3104                          }
3105                        }
3106                      },
3107                      "loc": {
3108                        "start": {
3109                          "line": 65,
3110                          "column": 65,
3111                          "program": "functionCall.ts"
3112                        },
3113                        "end": {
3114                          "line": 65,
3115                          "column": 69,
3116                          "program": "functionCall.ts"
3117                        }
3118                      }
3119                    }
3120                  ],
3121                  "returnType": {
3122                    "type": "TSStringKeyword",
3123                    "loc": {
3124                      "start": {
3125                        "line": 65,
3126                        "column": 82,
3127                        "program": "functionCall.ts"
3128                      },
3129                      "end": {
3130                        "line": 65,
3131                        "column": 88,
3132                        "program": "functionCall.ts"
3133                      }
3134                    }
3135                  },
3136                  "loc": {
3137                    "start": {
3138                      "line": 65,
3139                      "column": 43,
3140                      "program": "functionCall.ts"
3141                    },
3142                    "end": {
3143                      "line": 65,
3144                      "column": 89,
3145                      "program": "functionCall.ts"
3146                    }
3147                  }
3148                },
3149                {
3150                  "type": "TSCallSignatureDeclaration",
3151                  "params": [
3152                    {
3153                      "type": "Identifier",
3154                      "name": "a",
3155                      "typeAnnotation": {
3156                        "type": "TSNumberKeyword",
3157                        "loc": {
3158                          "start": {
3159                            "line": 65,
3160                            "column": 94,
3161                            "program": "functionCall.ts"
3162                          },
3163                          "end": {
3164                            "line": 65,
3165                            "column": 100,
3166                            "program": "functionCall.ts"
3167                          }
3168                        }
3169                      },
3170                      "decorators": [],
3171                      "loc": {
3172                        "start": {
3173                          "line": 65,
3174                          "column": 91,
3175                          "program": "functionCall.ts"
3176                        },
3177                        "end": {
3178                          "line": 65,
3179                          "column": 92,
3180                          "program": "functionCall.ts"
3181                        }
3182                      }
3183                    },
3184                    {
3185                      "type": "Identifier",
3186                      "name": "b",
3187                      "typeAnnotation": {
3188                        "type": "TSBooleanKeyword",
3189                        "loc": {
3190                          "start": {
3191                            "line": 65,
3192                            "column": 105,
3193                            "program": "functionCall.ts"
3194                          },
3195                          "end": {
3196                            "line": 65,
3197                            "column": 112,
3198                            "program": "functionCall.ts"
3199                          }
3200                        }
3201                      },
3202                      "decorators": [],
3203                      "loc": {
3204                        "start": {
3205                          "line": 65,
3206                          "column": 102,
3207                          "program": "functionCall.ts"
3208                        },
3209                        "end": {
3210                          "line": 65,
3211                          "column": 103,
3212                          "program": "functionCall.ts"
3213                        }
3214                      }
3215                    }
3216                  ],
3217                  "returnType": {
3218                    "type": "TSNumberKeyword",
3219                    "loc": {
3220                      "start": {
3221                        "line": 65,
3222                        "column": 115,
3223                        "program": "functionCall.ts"
3224                      },
3225                      "end": {
3226                        "line": 65,
3227                        "column": 121,
3228                        "program": "functionCall.ts"
3229                      }
3230                    }
3231                  },
3232                  "loc": {
3233                    "start": {
3234                      "line": 65,
3235                      "column": 90,
3236                      "program": "functionCall.ts"
3237                    },
3238                    "end": {
3239                      "line": 65,
3240                      "column": 123,
3241                      "program": "functionCall.ts"
3242                    }
3243                  }
3244                }
3245              ],
3246              "loc": {
3247                "start": {
3248                  "line": 65,
3249                  "column": 12,
3250                  "program": "functionCall.ts"
3251                },
3252                "end": {
3253                  "line": 65,
3254                  "column": 123,
3255                  "program": "functionCall.ts"
3256                }
3257              }
3258            },
3259            "decorators": [],
3260            "loc": {
3261              "start": {
3262                "line": 65,
3263                "column": 5,
3264                "program": "functionCall.ts"
3265              },
3266              "end": {
3267                "line": 65,
3268                "column": 10,
3269                "program": "functionCall.ts"
3270              }
3271            }
3272          },
3273          "init": null,
3274          "loc": {
3275            "start": {
3276              "line": 65,
3277              "column": 5,
3278              "program": "functionCall.ts"
3279            },
3280            "end": {
3281              "line": 65,
3282              "column": 10,
3283              "program": "functionCall.ts"
3284            }
3285          }
3286        }
3287      ],
3288      "kind": "var",
3289      "loc": {
3290        "start": {
3291          "line": 65,
3292          "column": 1,
3293          "program": "functionCall.ts"
3294        },
3295        "end": {
3296          "line": 65,
3297          "column": 124,
3298          "program": "functionCall.ts"
3299        }
3300      }
3301    },
3302    {
3303      "type": "VariableDeclaration",
3304      "declarations": [
3305        {
3306          "type": "VariableDeclarator",
3307          "id": {
3308            "type": "Identifier",
3309            "name": "e",
3310            "typeAnnotation": {
3311              "type": "TSBooleanKeyword",
3312              "loc": {
3313                "start": {
3314                  "line": 66,
3315                  "column": 8,
3316                  "program": "functionCall.ts"
3317                },
3318                "end": {
3319                  "line": 66,
3320                  "column": 15,
3321                  "program": "functionCall.ts"
3322                }
3323              }
3324            },
3325            "decorators": [],
3326            "loc": {
3327              "start": {
3328                "line": 66,
3329                "column": 5,
3330                "program": "functionCall.ts"
3331              },
3332              "end": {
3333                "line": 66,
3334                "column": 6,
3335                "program": "functionCall.ts"
3336              }
3337            }
3338          },
3339          "init": {
3340            "type": "CallExpression",
3341            "callee": {
3342              "type": "Identifier",
3343              "name": "func8",
3344              "decorators": [],
3345              "loc": {
3346                "start": {
3347                  "line": 66,
3348                  "column": 18,
3349                  "program": "functionCall.ts"
3350                },
3351                "end": {
3352                  "line": 66,
3353                  "column": 23,
3354                  "program": "functionCall.ts"
3355                }
3356              }
3357            },
3358            "arguments": [],
3359            "optional": false,
3360            "loc": {
3361              "start": {
3362                "line": 66,
3363                "column": 18,
3364                "program": "functionCall.ts"
3365              },
3366              "end": {
3367                "line": 66,
3368                "column": 25,
3369                "program": "functionCall.ts"
3370              }
3371            }
3372          },
3373          "loc": {
3374            "start": {
3375              "line": 66,
3376              "column": 5,
3377              "program": "functionCall.ts"
3378            },
3379            "end": {
3380              "line": 66,
3381              "column": 25,
3382              "program": "functionCall.ts"
3383            }
3384          }
3385        }
3386      ],
3387      "kind": "var",
3388      "loc": {
3389        "start": {
3390          "line": 66,
3391          "column": 1,
3392          "program": "functionCall.ts"
3393        },
3394        "end": {
3395          "line": 66,
3396          "column": 26,
3397          "program": "functionCall.ts"
3398        }
3399      }
3400    },
3401    {
3402      "type": "VariableDeclaration",
3403      "declarations": [
3404        {
3405          "type": "VariableDeclarator",
3406          "id": {
3407            "type": "Identifier",
3408            "name": "f",
3409            "typeAnnotation": {
3410              "type": "TSBooleanKeyword",
3411              "loc": {
3412                "start": {
3413                  "line": 67,
3414                  "column": 8,
3415                  "program": "functionCall.ts"
3416                },
3417                "end": {
3418                  "line": 67,
3419                  "column": 15,
3420                  "program": "functionCall.ts"
3421                }
3422              }
3423            },
3424            "decorators": [],
3425            "loc": {
3426              "start": {
3427                "line": 67,
3428                "column": 5,
3429                "program": "functionCall.ts"
3430              },
3431              "end": {
3432                "line": 67,
3433                "column": 6,
3434                "program": "functionCall.ts"
3435              }
3436            }
3437          },
3438          "init": {
3439            "type": "CallExpression",
3440            "callee": {
3441              "type": "Identifier",
3442              "name": "func8",
3443              "decorators": [],
3444              "loc": {
3445                "start": {
3446                  "line": 67,
3447                  "column": 18,
3448                  "program": "functionCall.ts"
3449                },
3450                "end": {
3451                  "line": 67,
3452                  "column": 23,
3453                  "program": "functionCall.ts"
3454                }
3455              }
3456            },
3457            "arguments": [
3458              {
3459                "type": "NumberLiteral",
3460                "value": 1,
3461                "loc": {
3462                  "start": {
3463                    "line": 67,
3464                    "column": 24,
3465                    "program": "functionCall.ts"
3466                  },
3467                  "end": {
3468                    "line": 67,
3469                    "column": 25,
3470                    "program": "functionCall.ts"
3471                  }
3472                }
3473              }
3474            ],
3475            "optional": false,
3476            "loc": {
3477              "start": {
3478                "line": 67,
3479                "column": 18,
3480                "program": "functionCall.ts"
3481              },
3482              "end": {
3483                "line": 67,
3484                "column": 26,
3485                "program": "functionCall.ts"
3486              }
3487            }
3488          },
3489          "loc": {
3490            "start": {
3491              "line": 67,
3492              "column": 5,
3493              "program": "functionCall.ts"
3494            },
3495            "end": {
3496              "line": 67,
3497              "column": 26,
3498              "program": "functionCall.ts"
3499            }
3500          }
3501        }
3502      ],
3503      "kind": "var",
3504      "loc": {
3505        "start": {
3506          "line": 67,
3507          "column": 1,
3508          "program": "functionCall.ts"
3509        },
3510        "end": {
3511          "line": 67,
3512          "column": 27,
3513          "program": "functionCall.ts"
3514        }
3515      }
3516    },
3517    {
3518      "type": "VariableDeclaration",
3519      "declarations": [
3520        {
3521          "type": "VariableDeclarator",
3522          "id": {
3523            "type": "Identifier",
3524            "name": "g",
3525            "typeAnnotation": {
3526              "type": "TSBooleanKeyword",
3527              "loc": {
3528                "start": {
3529                  "line": 68,
3530                  "column": 8,
3531                  "program": "functionCall.ts"
3532                },
3533                "end": {
3534                  "line": 68,
3535                  "column": 15,
3536                  "program": "functionCall.ts"
3537                }
3538              }
3539            },
3540            "decorators": [],
3541            "loc": {
3542              "start": {
3543                "line": 68,
3544                "column": 5,
3545                "program": "functionCall.ts"
3546              },
3547              "end": {
3548                "line": 68,
3549                "column": 6,
3550                "program": "functionCall.ts"
3551              }
3552            }
3553          },
3554          "init": {
3555            "type": "CallExpression",
3556            "callee": {
3557              "type": "Identifier",
3558              "name": "func8",
3559              "decorators": [],
3560              "loc": {
3561                "start": {
3562                  "line": 68,
3563                  "column": 18,
3564                  "program": "functionCall.ts"
3565                },
3566                "end": {
3567                  "line": 68,
3568                  "column": 23,
3569                  "program": "functionCall.ts"
3570                }
3571              }
3572            },
3573            "arguments": [
3574              {
3575                "type": "NumberLiteral",
3576                "value": 2,
3577                "loc": {
3578                  "start": {
3579                    "line": 68,
3580                    "column": 24,
3581                    "program": "functionCall.ts"
3582                  },
3583                  "end": {
3584                    "line": 68,
3585                    "column": 25,
3586                    "program": "functionCall.ts"
3587                  }
3588                }
3589              },
3590              {
3591                "type": "BooleanLiteral",
3592                "value": true,
3593                "loc": {
3594                  "start": {
3595                    "line": 68,
3596                    "column": 27,
3597                    "program": "functionCall.ts"
3598                  },
3599                  "end": {
3600                    "line": 68,
3601                    "column": 31,
3602                    "program": "functionCall.ts"
3603                  }
3604                }
3605              }
3606            ],
3607            "optional": false,
3608            "loc": {
3609              "start": {
3610                "line": 68,
3611                "column": 18,
3612                "program": "functionCall.ts"
3613              },
3614              "end": {
3615                "line": 68,
3616                "column": 32,
3617                "program": "functionCall.ts"
3618              }
3619            }
3620          },
3621          "loc": {
3622            "start": {
3623              "line": 68,
3624              "column": 5,
3625              "program": "functionCall.ts"
3626            },
3627            "end": {
3628              "line": 68,
3629              "column": 32,
3630              "program": "functionCall.ts"
3631            }
3632          }
3633        }
3634      ],
3635      "kind": "var",
3636      "loc": {
3637        "start": {
3638          "line": 68,
3639          "column": 1,
3640          "program": "functionCall.ts"
3641        },
3642        "end": {
3643          "line": 68,
3644          "column": 33,
3645          "program": "functionCall.ts"
3646        }
3647      }
3648    },
3649    {
3650      "type": "VariableDeclaration",
3651      "declarations": [
3652        {
3653          "type": "VariableDeclarator",
3654          "id": {
3655            "type": "Identifier",
3656            "name": "h",
3657            "typeAnnotation": {
3658              "type": "TSBooleanKeyword",
3659              "loc": {
3660                "start": {
3661                  "line": 69,
3662                  "column": 8,
3663                  "program": "functionCall.ts"
3664                },
3665                "end": {
3666                  "line": 69,
3667                  "column": 15,
3668                  "program": "functionCall.ts"
3669                }
3670              }
3671            },
3672            "decorators": [],
3673            "loc": {
3674              "start": {
3675                "line": 69,
3676                "column": 5,
3677                "program": "functionCall.ts"
3678              },
3679              "end": {
3680                "line": 69,
3681                "column": 6,
3682                "program": "functionCall.ts"
3683              }
3684            }
3685          },
3686          "init": {
3687            "type": "CallExpression",
3688            "callee": {
3689              "type": "Identifier",
3690              "name": "func8",
3691              "decorators": [],
3692              "loc": {
3693                "start": {
3694                  "line": 69,
3695                  "column": 18,
3696                  "program": "functionCall.ts"
3697                },
3698                "end": {
3699                  "line": 69,
3700                  "column": 23,
3701                  "program": "functionCall.ts"
3702                }
3703              }
3704            },
3705            "arguments": [
3706              {
3707                "type": "NumberLiteral",
3708                "value": 2,
3709                "loc": {
3710                  "start": {
3711                    "line": 69,
3712                    "column": 24,
3713                    "program": "functionCall.ts"
3714                  },
3715                  "end": {
3716                    "line": 69,
3717                    "column": 25,
3718                    "program": "functionCall.ts"
3719                  }
3720                }
3721              },
3722              {
3723                "type": "ArrayExpression",
3724                "elements": [
3725                  {
3726                    "type": "StringLiteral",
3727                    "value": "foo",
3728                    "loc": {
3729                      "start": {
3730                        "line": 69,
3731                        "column": 28,
3732                        "program": "functionCall.ts"
3733                      },
3734                      "end": {
3735                        "line": 69,
3736                        "column": 33,
3737                        "program": "functionCall.ts"
3738                      }
3739                    }
3740                  },
3741                  {
3742                    "type": "StringLiteral",
3743                    "value": "bar",
3744                    "loc": {
3745                      "start": {
3746                        "line": 69,
3747                        "column": 35,
3748                        "program": "functionCall.ts"
3749                      },
3750                      "end": {
3751                        "line": 69,
3752                        "column": 40,
3753                        "program": "functionCall.ts"
3754                      }
3755                    }
3756                  }
3757                ],
3758                "loc": {
3759                  "start": {
3760                    "line": 69,
3761                    "column": 27,
3762                    "program": "functionCall.ts"
3763                  },
3764                  "end": {
3765                    "line": 69,
3766                    "column": 41,
3767                    "program": "functionCall.ts"
3768                  }
3769                }
3770              },
3771              {
3772                "type": "ObjectExpression",
3773                "properties": [],
3774                "loc": {
3775                  "start": {
3776                    "line": 69,
3777                    "column": 43,
3778                    "program": "functionCall.ts"
3779                  },
3780                  "end": {
3781                    "line": 69,
3782                    "column": 45,
3783                    "program": "functionCall.ts"
3784                  }
3785                }
3786              }
3787            ],
3788            "optional": false,
3789            "loc": {
3790              "start": {
3791                "line": 69,
3792                "column": 18,
3793                "program": "functionCall.ts"
3794              },
3795              "end": {
3796                "line": 69,
3797                "column": 46,
3798                "program": "functionCall.ts"
3799              }
3800            }
3801          },
3802          "loc": {
3803            "start": {
3804              "line": 69,
3805              "column": 5,
3806              "program": "functionCall.ts"
3807            },
3808            "end": {
3809              "line": 69,
3810              "column": 46,
3811              "program": "functionCall.ts"
3812            }
3813          }
3814        }
3815      ],
3816      "kind": "var",
3817      "loc": {
3818        "start": {
3819          "line": 69,
3820          "column": 1,
3821          "program": "functionCall.ts"
3822        },
3823        "end": {
3824          "line": 69,
3825          "column": 47,
3826          "program": "functionCall.ts"
3827        }
3828      }
3829    },
3830    {
3831      "type": "VariableDeclaration",
3832      "declarations": [
3833        {
3834          "type": "VariableDeclarator",
3835          "id": {
3836            "type": "Identifier",
3837            "name": "i",
3838            "typeAnnotation": {
3839              "type": "TSStringKeyword",
3840              "loc": {
3841                "start": {
3842                  "line": 70,
3843                  "column": 8,
3844                  "program": "functionCall.ts"
3845                },
3846                "end": {
3847                  "line": 70,
3848                  "column": 14,
3849                  "program": "functionCall.ts"
3850                }
3851              }
3852            },
3853            "decorators": [],
3854            "loc": {
3855              "start": {
3856                "line": 70,
3857                "column": 5,
3858                "program": "functionCall.ts"
3859              },
3860              "end": {
3861                "line": 70,
3862                "column": 6,
3863                "program": "functionCall.ts"
3864              }
3865            }
3866          },
3867          "init": {
3868            "type": "CallExpression",
3869            "callee": {
3870              "type": "Identifier",
3871              "name": "func8",
3872              "decorators": [],
3873              "loc": {
3874                "start": {
3875                  "line": 70,
3876                  "column": 17,
3877                  "program": "functionCall.ts"
3878                },
3879                "end": {
3880                  "line": 70,
3881                  "column": 22,
3882                  "program": "functionCall.ts"
3883                }
3884              }
3885            },
3886            "arguments": [
3887              {
3888                "type": "ObjectExpression",
3889                "properties": [],
3890                "loc": {
3891                  "start": {
3892                    "line": 70,
3893                    "column": 23,
3894                    "program": "functionCall.ts"
3895                  },
3896                  "end": {
3897                    "line": 70,
3898                    "column": 25,
3899                    "program": "functionCall.ts"
3900                  }
3901                }
3902              },
3903              {
3904                "type": "ArrayExpression",
3905                "elements": [
3906                  {
3907                    "type": "StringLiteral",
3908                    "value": "bar",
3909                    "loc": {
3910                      "start": {
3911                        "line": 70,
3912                        "column": 28,
3913                        "program": "functionCall.ts"
3914                      },
3915                      "end": {
3916                        "line": 70,
3917                        "column": 33,
3918                        "program": "functionCall.ts"
3919                      }
3920                    }
3921                  }
3922                ],
3923                "loc": {
3924                  "start": {
3925                    "line": 70,
3926                    "column": 27,
3927                    "program": "functionCall.ts"
3928                  },
3929                  "end": {
3930                    "line": 70,
3931                    "column": 34,
3932                    "program": "functionCall.ts"
3933                  }
3934                }
3935              }
3936            ],
3937            "optional": false,
3938            "loc": {
3939              "start": {
3940                "line": 70,
3941                "column": 17,
3942                "program": "functionCall.ts"
3943              },
3944              "end": {
3945                "line": 70,
3946                "column": 35,
3947                "program": "functionCall.ts"
3948              }
3949            }
3950          },
3951          "loc": {
3952            "start": {
3953              "line": 70,
3954              "column": 5,
3955              "program": "functionCall.ts"
3956            },
3957            "end": {
3958              "line": 70,
3959              "column": 35,
3960              "program": "functionCall.ts"
3961            }
3962          }
3963        }
3964      ],
3965      "kind": "var",
3966      "loc": {
3967        "start": {
3968          "line": 70,
3969          "column": 1,
3970          "program": "functionCall.ts"
3971        },
3972        "end": {
3973          "line": 70,
3974          "column": 36,
3975          "program": "functionCall.ts"
3976        }
3977      }
3978    },
3979    {
3980      "type": "VariableDeclaration",
3981      "declarations": [
3982        {
3983          "type": "VariableDeclarator",
3984          "id": {
3985            "type": "Identifier",
3986            "name": "j",
3987            "typeAnnotation": {
3988              "type": "TSStringKeyword",
3989              "loc": {
3990                "start": {
3991                  "line": 71,
3992                  "column": 8,
3993                  "program": "functionCall.ts"
3994                },
3995                "end": {
3996                  "line": 71,
3997                  "column": 14,
3998                  "program": "functionCall.ts"
3999                }
4000              }
4001            },
4002            "decorators": [],
4003            "loc": {
4004              "start": {
4005                "line": 71,
4006                "column": 5,
4007                "program": "functionCall.ts"
4008              },
4009              "end": {
4010                "line": 71,
4011                "column": 6,
4012                "program": "functionCall.ts"
4013              }
4014            }
4015          },
4016          "init": {
4017            "type": "CallExpression",
4018            "callee": {
4019              "type": "Identifier",
4020              "name": "func8",
4021              "decorators": [],
4022              "loc": {
4023                "start": {
4024                  "line": 71,
4025                  "column": 17,
4026                  "program": "functionCall.ts"
4027                },
4028                "end": {
4029                  "line": 71,
4030                  "column": 22,
4031                  "program": "functionCall.ts"
4032                }
4033              }
4034            },
4035            "arguments": [
4036              {
4037                "type": "ObjectExpression",
4038                "properties": [],
4039                "loc": {
4040                  "start": {
4041                    "line": 71,
4042                    "column": 23,
4043                    "program": "functionCall.ts"
4044                  },
4045                  "end": {
4046                    "line": 71,
4047                    "column": 25,
4048                    "program": "functionCall.ts"
4049                  }
4050                }
4051              },
4052              {
4053                "type": "ArrayExpression",
4054                "elements": [
4055                  {
4056                    "type": "StringLiteral",
4057                    "value": "bar",
4058                    "loc": {
4059                      "start": {
4060                        "line": 71,
4061                        "column": 28,
4062                        "program": "functionCall.ts"
4063                      },
4064                      "end": {
4065                        "line": 71,
4066                        "column": 33,
4067                        "program": "functionCall.ts"
4068                      }
4069                    }
4070                  }
4071                ],
4072                "loc": {
4073                  "start": {
4074                    "line": 71,
4075                    "column": 27,
4076                    "program": "functionCall.ts"
4077                  },
4078                  "end": {
4079                    "line": 71,
4080                    "column": 34,
4081                    "program": "functionCall.ts"
4082                  }
4083                }
4084              },
4085              {
4086                "type": "NumberLiteral",
4087                "value": 3,
4088                "loc": {
4089                  "start": {
4090                    "line": 71,
4091                    "column": 36,
4092                    "program": "functionCall.ts"
4093                  },
4094                  "end": {
4095                    "line": 71,
4096                    "column": 37,
4097                    "program": "functionCall.ts"
4098                  }
4099                }
4100              },
4101              {
4102                "type": "NumberLiteral",
4103                "value": 4,
4104                "loc": {
4105                  "start": {
4106                    "line": 71,
4107                    "column": 39,
4108                    "program": "functionCall.ts"
4109                  },
4110                  "end": {
4111                    "line": 71,
4112                    "column": 40,
4113                    "program": "functionCall.ts"
4114                  }
4115                }
4116              },
4117              {
4118                "type": "NumberLiteral",
4119                "value": 5,
4120                "loc": {
4121                  "start": {
4122                    "line": 71,
4123                    "column": 42,
4124                    "program": "functionCall.ts"
4125                  },
4126                  "end": {
4127                    "line": 71,
4128                    "column": 43,
4129                    "program": "functionCall.ts"
4130                  }
4131                }
4132              }
4133            ],
4134            "optional": false,
4135            "loc": {
4136              "start": {
4137                "line": 71,
4138                "column": 17,
4139                "program": "functionCall.ts"
4140              },
4141              "end": {
4142                "line": 71,
4143                "column": 44,
4144                "program": "functionCall.ts"
4145              }
4146            }
4147          },
4148          "loc": {
4149            "start": {
4150              "line": 71,
4151              "column": 5,
4152              "program": "functionCall.ts"
4153            },
4154            "end": {
4155              "line": 71,
4156              "column": 44,
4157              "program": "functionCall.ts"
4158            }
4159          }
4160        }
4161      ],
4162      "kind": "var",
4163      "loc": {
4164        "start": {
4165          "line": 71,
4166          "column": 1,
4167          "program": "functionCall.ts"
4168        },
4169        "end": {
4170          "line": 71,
4171          "column": 45,
4172          "program": "functionCall.ts"
4173        }
4174      }
4175    },
4176    {
4177      "type": "TSDeclareFunction",
4178      "function": {
4179        "type": "ScriptFunction",
4180        "id": {
4181          "type": "Identifier",
4182          "name": "func9",
4183          "decorators": [],
4184          "loc": {
4185            "start": {
4186              "line": 73,
4187              "column": 10,
4188              "program": "functionCall.ts"
4189            },
4190            "end": {
4191              "line": 73,
4192              "column": 15,
4193              "program": "functionCall.ts"
4194            }
4195          }
4196        },
4197        "generator": false,
4198        "async": false,
4199        "expression": false,
4200        "params": [
4201          {
4202            "type": "Identifier",
4203            "name": "a",
4204            "typeAnnotation": {
4205              "type": "TSNumberKeyword",
4206              "loc": {
4207                "start": {
4208                  "line": 73,
4209                  "column": 19,
4210                  "program": "functionCall.ts"
4211                },
4212                "end": {
4213                  "line": 73,
4214                  "column": 25,
4215                  "program": "functionCall.ts"
4216                }
4217              }
4218            },
4219            "decorators": [],
4220            "loc": {
4221              "start": {
4222                "line": 73,
4223                "column": 16,
4224                "program": "functionCall.ts"
4225              },
4226              "end": {
4227                "line": 73,
4228                "column": 17,
4229                "program": "functionCall.ts"
4230              }
4231            }
4232          },
4233          {
4234            "type": "Identifier",
4235            "name": "b",
4236            "typeAnnotation": {
4237              "type": "TSStringKeyword",
4238              "loc": {
4239                "start": {
4240                  "line": 73,
4241                  "column": 30,
4242                  "program": "functionCall.ts"
4243                },
4244                "end": {
4245                  "line": 73,
4246                  "column": 36,
4247                  "program": "functionCall.ts"
4248                }
4249              }
4250            },
4251            "decorators": [],
4252            "loc": {
4253              "start": {
4254                "line": 73,
4255                "column": 27,
4256                "program": "functionCall.ts"
4257              },
4258              "end": {
4259                "line": 73,
4260                "column": 28,
4261                "program": "functionCall.ts"
4262              }
4263            }
4264          }
4265        ],
4266        "returnType": {
4267          "type": "TSNumberKeyword",
4268          "loc": {
4269            "start": {
4270              "line": 73,
4271              "column": 39,
4272              "program": "functionCall.ts"
4273            },
4274            "end": {
4275              "line": 73,
4276              "column": 45,
4277              "program": "functionCall.ts"
4278            }
4279          }
4280        },
4281        "loc": {
4282          "start": {
4283            "line": 73,
4284            "column": 1,
4285            "program": "functionCall.ts"
4286          },
4287          "end": {
4288            "line": 73,
4289            "column": 46,
4290            "program": "functionCall.ts"
4291          }
4292        }
4293      },
4294      "loc": {
4295        "start": {
4296          "line": 73,
4297          "column": 1,
4298          "program": "functionCall.ts"
4299        },
4300        "end": {
4301          "line": 73,
4302          "column": 46,
4303          "program": "functionCall.ts"
4304        }
4305      }
4306    },
4307    {
4308      "type": "TSDeclareFunction",
4309      "function": {
4310        "type": "ScriptFunction",
4311        "id": {
4312          "type": "Identifier",
4313          "name": "func9",
4314          "decorators": [],
4315          "loc": {
4316            "start": {
4317              "line": 74,
4318              "column": 10,
4319              "program": "functionCall.ts"
4320            },
4321            "end": {
4322              "line": 74,
4323              "column": 15,
4324              "program": "functionCall.ts"
4325            }
4326          }
4327        },
4328        "generator": false,
4329        "async": false,
4330        "expression": false,
4331        "params": [
4332          {
4333            "type": "Identifier",
4334            "name": "a",
4335            "typeAnnotation": {
4336              "type": "TSStringKeyword",
4337              "loc": {
4338                "start": {
4339                  "line": 74,
4340                  "column": 19,
4341                  "program": "functionCall.ts"
4342                },
4343                "end": {
4344                  "line": 74,
4345                  "column": 25,
4346                  "program": "functionCall.ts"
4347                }
4348              }
4349            },
4350            "decorators": [],
4351            "loc": {
4352              "start": {
4353                "line": 74,
4354                "column": 16,
4355                "program": "functionCall.ts"
4356              },
4357              "end": {
4358                "line": 74,
4359                "column": 17,
4360                "program": "functionCall.ts"
4361              }
4362            }
4363          },
4364          {
4365            "type": "Identifier",
4366            "name": "b",
4367            "typeAnnotation": {
4368              "type": "TSNumberKeyword",
4369              "loc": {
4370                "start": {
4371                  "line": 74,
4372                  "column": 30,
4373                  "program": "functionCall.ts"
4374                },
4375                "end": {
4376                  "line": 74,
4377                  "column": 36,
4378                  "program": "functionCall.ts"
4379                }
4380              }
4381            },
4382            "decorators": [],
4383            "loc": {
4384              "start": {
4385                "line": 74,
4386                "column": 27,
4387                "program": "functionCall.ts"
4388              },
4389              "end": {
4390                "line": 74,
4391                "column": 28,
4392                "program": "functionCall.ts"
4393              }
4394            }
4395          }
4396        ],
4397        "returnType": {
4398          "type": "TSUnionType",
4399          "types": [
4400            {
4401              "type": "TSNumberKeyword",
4402              "loc": {
4403                "start": {
4404                  "line": 74,
4405                  "column": 39,
4406                  "program": "functionCall.ts"
4407                },
4408                "end": {
4409                  "line": 74,
4410                  "column": 45,
4411                  "program": "functionCall.ts"
4412                }
4413              }
4414            },
4415            {
4416              "type": "TSStringKeyword",
4417              "loc": {
4418                "start": {
4419                  "line": 74,
4420                  "column": 48,
4421                  "program": "functionCall.ts"
4422                },
4423                "end": {
4424                  "line": 74,
4425                  "column": 54,
4426                  "program": "functionCall.ts"
4427                }
4428              }
4429            }
4430          ],
4431          "loc": {
4432            "start": {
4433              "line": 74,
4434              "column": 39,
4435              "program": "functionCall.ts"
4436            },
4437            "end": {
4438              "line": 74,
4439              "column": 54,
4440              "program": "functionCall.ts"
4441            }
4442          }
4443        },
4444        "loc": {
4445          "start": {
4446            "line": 74,
4447            "column": 1,
4448            "program": "functionCall.ts"
4449          },
4450          "end": {
4451            "line": 74,
4452            "column": 55,
4453            "program": "functionCall.ts"
4454          }
4455        }
4456      },
4457      "loc": {
4458        "start": {
4459          "line": 74,
4460          "column": 1,
4461          "program": "functionCall.ts"
4462        },
4463        "end": {
4464          "line": 74,
4465          "column": 55,
4466          "program": "functionCall.ts"
4467        }
4468      }
4469    },
4470    {
4471      "type": "FunctionDeclaration",
4472      "function": {
4473        "type": "ScriptFunction",
4474        "id": {
4475          "type": "Identifier",
4476          "name": "func9",
4477          "decorators": [],
4478          "loc": {
4479            "start": {
4480              "line": 75,
4481              "column": 10,
4482              "program": "functionCall.ts"
4483            },
4484            "end": {
4485              "line": 75,
4486              "column": 15,
4487              "program": "functionCall.ts"
4488            }
4489          }
4490        },
4491        "generator": false,
4492        "async": false,
4493        "expression": false,
4494        "params": [
4495          {
4496            "type": "Identifier",
4497            "name": "a",
4498            "typeAnnotation": {
4499              "type": "TSUnionType",
4500              "types": [
4501                {
4502                  "type": "TSNumberKeyword",
4503                  "loc": {
4504                    "start": {
4505                      "line": 75,
4506                      "column": 19,
4507                      "program": "functionCall.ts"
4508                    },
4509                    "end": {
4510                      "line": 75,
4511                      "column": 25,
4512                      "program": "functionCall.ts"
4513                    }
4514                  }
4515                },
4516                {
4517                  "type": "TSStringKeyword",
4518                  "loc": {
4519                    "start": {
4520                      "line": 75,
4521                      "column": 28,
4522                      "program": "functionCall.ts"
4523                    },
4524                    "end": {
4525                      "line": 75,
4526                      "column": 34,
4527                      "program": "functionCall.ts"
4528                    }
4529                  }
4530                }
4531              ],
4532              "loc": {
4533                "start": {
4534                  "line": 75,
4535                  "column": 19,
4536                  "program": "functionCall.ts"
4537                },
4538                "end": {
4539                  "line": 75,
4540                  "column": 34,
4541                  "program": "functionCall.ts"
4542                }
4543              }
4544            },
4545            "decorators": [],
4546            "loc": {
4547              "start": {
4548                "line": 75,
4549                "column": 16,
4550                "program": "functionCall.ts"
4551              },
4552              "end": {
4553                "line": 75,
4554                "column": 17,
4555                "program": "functionCall.ts"
4556              }
4557            }
4558          },
4559          {
4560            "type": "Identifier",
4561            "name": "b",
4562            "typeAnnotation": {
4563              "type": "TSUnionType",
4564              "types": [
4565                {
4566                  "type": "TSNumberKeyword",
4567                  "loc": {
4568                    "start": {
4569                      "line": 75,
4570                      "column": 40,
4571                      "program": "functionCall.ts"
4572                    },
4573                    "end": {
4574                      "line": 75,
4575                      "column": 46,
4576                      "program": "functionCall.ts"
4577                    }
4578                  }
4579                },
4580                {
4581                  "type": "TSStringKeyword",
4582                  "loc": {
4583                    "start": {
4584                      "line": 75,
4585                      "column": 49,
4586                      "program": "functionCall.ts"
4587                    },
4588                    "end": {
4589                      "line": 75,
4590                      "column": 55,
4591                      "program": "functionCall.ts"
4592                    }
4593                  }
4594                }
4595              ],
4596              "loc": {
4597                "start": {
4598                  "line": 75,
4599                  "column": 40,
4600                  "program": "functionCall.ts"
4601                },
4602                "end": {
4603                  "line": 75,
4604                  "column": 55,
4605                  "program": "functionCall.ts"
4606                }
4607              }
4608            },
4609            "optional": true,
4610            "decorators": [],
4611            "loc": {
4612              "start": {
4613                "line": 75,
4614                "column": 36,
4615                "program": "functionCall.ts"
4616              },
4617              "end": {
4618                "line": 75,
4619                "column": 37,
4620                "program": "functionCall.ts"
4621              }
4622            }
4623          }
4624        ],
4625        "returnType": {
4626          "type": "TSUnionType",
4627          "types": [
4628            {
4629              "type": "TSNumberKeyword",
4630              "loc": {
4631                "start": {
4632                  "line": 75,
4633                  "column": 58,
4634                  "program": "functionCall.ts"
4635                },
4636                "end": {
4637                  "line": 75,
4638                  "column": 64,
4639                  "program": "functionCall.ts"
4640                }
4641              }
4642            },
4643            {
4644              "type": "TSStringKeyword",
4645              "loc": {
4646                "start": {
4647                  "line": 75,
4648                  "column": 67,
4649                  "program": "functionCall.ts"
4650                },
4651                "end": {
4652                  "line": 75,
4653                  "column": 73,
4654                  "program": "functionCall.ts"
4655                }
4656              }
4657            },
4658            {
4659              "type": "TSBooleanKeyword",
4660              "loc": {
4661                "start": {
4662                  "line": 75,
4663                  "column": 76,
4664                  "program": "functionCall.ts"
4665                },
4666                "end": {
4667                  "line": 75,
4668                  "column": 83,
4669                  "program": "functionCall.ts"
4670                }
4671              }
4672            }
4673          ],
4674          "loc": {
4675            "start": {
4676              "line": 75,
4677              "column": 58,
4678              "program": "functionCall.ts"
4679            },
4680            "end": {
4681              "line": 75,
4682              "column": 83,
4683              "program": "functionCall.ts"
4684            }
4685          }
4686        },
4687        "body": {
4688          "type": "BlockStatement",
4689          "statements": [
4690            {
4691              "type": "ReturnStatement",
4692              "argument": {
4693                "type": "BooleanLiteral",
4694                "value": true,
4695                "loc": {
4696                  "start": {
4697                    "line": 76,
4698                    "column": 12,
4699                    "program": "functionCall.ts"
4700                  },
4701                  "end": {
4702                    "line": 76,
4703                    "column": 16,
4704                    "program": "functionCall.ts"
4705                  }
4706                }
4707              },
4708              "loc": {
4709                "start": {
4710                  "line": 76,
4711                  "column": 5,
4712                  "program": "functionCall.ts"
4713                },
4714                "end": {
4715                  "line": 76,
4716                  "column": 17,
4717                  "program": "functionCall.ts"
4718                }
4719              }
4720            }
4721          ],
4722          "loc": {
4723            "start": {
4724              "line": 75,
4725              "column": 84,
4726              "program": "functionCall.ts"
4727            },
4728            "end": {
4729              "line": 77,
4730              "column": 2,
4731              "program": "functionCall.ts"
4732            }
4733          }
4734        },
4735        "loc": {
4736          "start": {
4737            "line": 75,
4738            "column": 1,
4739            "program": "functionCall.ts"
4740          },
4741          "end": {
4742            "line": 77,
4743            "column": 2,
4744            "program": "functionCall.ts"
4745          }
4746        }
4747      },
4748      "loc": {
4749        "start": {
4750          "line": 75,
4751          "column": 1,
4752          "program": "functionCall.ts"
4753        },
4754        "end": {
4755          "line": 77,
4756          "column": 2,
4757          "program": "functionCall.ts"
4758        }
4759      }
4760    },
4761    {
4762      "type": "VariableDeclaration",
4763      "declarations": [
4764        {
4765          "type": "VariableDeclarator",
4766          "id": {
4767            "type": "Identifier",
4768            "name": "k",
4769            "typeAnnotation": {
4770              "type": "TSNumberKeyword",
4771              "loc": {
4772                "start": {
4773                  "line": 79,
4774                  "column": 8,
4775                  "program": "functionCall.ts"
4776                },
4777                "end": {
4778                  "line": 79,
4779                  "column": 14,
4780                  "program": "functionCall.ts"
4781                }
4782              }
4783            },
4784            "decorators": [],
4785            "loc": {
4786              "start": {
4787                "line": 79,
4788                "column": 5,
4789                "program": "functionCall.ts"
4790              },
4791              "end": {
4792                "line": 79,
4793                "column": 6,
4794                "program": "functionCall.ts"
4795              }
4796            }
4797          },
4798          "init": {
4799            "type": "CallExpression",
4800            "callee": {
4801              "type": "Identifier",
4802              "name": "func9",
4803              "decorators": [],
4804              "loc": {
4805                "start": {
4806                  "line": 79,
4807                  "column": 17,
4808                  "program": "functionCall.ts"
4809                },
4810                "end": {
4811                  "line": 79,
4812                  "column": 22,
4813                  "program": "functionCall.ts"
4814                }
4815              }
4816            },
4817            "arguments": [
4818              {
4819                "type": "NumberLiteral",
4820                "value": 1,
4821                "loc": {
4822                  "start": {
4823                    "line": 79,
4824                    "column": 23,
4825                    "program": "functionCall.ts"
4826                  },
4827                  "end": {
4828                    "line": 79,
4829                    "column": 24,
4830                    "program": "functionCall.ts"
4831                  }
4832                }
4833              },
4834              {
4835                "type": "StringLiteral",
4836                "value": "foo",
4837                "loc": {
4838                  "start": {
4839                    "line": 79,
4840                    "column": 26,
4841                    "program": "functionCall.ts"
4842                  },
4843                  "end": {
4844                    "line": 79,
4845                    "column": 31,
4846                    "program": "functionCall.ts"
4847                  }
4848                }
4849              }
4850            ],
4851            "optional": false,
4852            "loc": {
4853              "start": {
4854                "line": 79,
4855                "column": 17,
4856                "program": "functionCall.ts"
4857              },
4858              "end": {
4859                "line": 79,
4860                "column": 32,
4861                "program": "functionCall.ts"
4862              }
4863            }
4864          },
4865          "loc": {
4866            "start": {
4867              "line": 79,
4868              "column": 5,
4869              "program": "functionCall.ts"
4870            },
4871            "end": {
4872              "line": 79,
4873              "column": 32,
4874              "program": "functionCall.ts"
4875            }
4876          }
4877        }
4878      ],
4879      "kind": "var",
4880      "loc": {
4881        "start": {
4882          "line": 79,
4883          "column": 1,
4884          "program": "functionCall.ts"
4885        },
4886        "end": {
4887          "line": 79,
4888          "column": 33,
4889          "program": "functionCall.ts"
4890        }
4891      }
4892    },
4893    {
4894      "type": "VariableDeclaration",
4895      "declarations": [
4896        {
4897          "type": "VariableDeclarator",
4898          "id": {
4899            "type": "Identifier",
4900            "name": "l",
4901            "typeAnnotation": {
4902              "type": "TSUnionType",
4903              "types": [
4904                {
4905                  "type": "TSNumberKeyword",
4906                  "loc": {
4907                    "start": {
4908                      "line": 80,
4909                      "column": 8,
4910                      "program": "functionCall.ts"
4911                    },
4912                    "end": {
4913                      "line": 80,
4914                      "column": 14,
4915                      "program": "functionCall.ts"
4916                    }
4917                  }
4918                },
4919                {
4920                  "type": "TSStringKeyword",
4921                  "loc": {
4922                    "start": {
4923                      "line": 80,
4924                      "column": 17,
4925                      "program": "functionCall.ts"
4926                    },
4927                    "end": {
4928                      "line": 80,
4929                      "column": 23,
4930                      "program": "functionCall.ts"
4931                    }
4932                  }
4933                }
4934              ],
4935              "loc": {
4936                "start": {
4937                  "line": 80,
4938                  "column": 8,
4939                  "program": "functionCall.ts"
4940                },
4941                "end": {
4942                  "line": 80,
4943                  "column": 23,
4944                  "program": "functionCall.ts"
4945                }
4946              }
4947            },
4948            "decorators": [],
4949            "loc": {
4950              "start": {
4951                "line": 80,
4952                "column": 5,
4953                "program": "functionCall.ts"
4954              },
4955              "end": {
4956                "line": 80,
4957                "column": 6,
4958                "program": "functionCall.ts"
4959              }
4960            }
4961          },
4962          "init": {
4963            "type": "CallExpression",
4964            "callee": {
4965              "type": "Identifier",
4966              "name": "func9",
4967              "decorators": [],
4968              "loc": {
4969                "start": {
4970                  "line": 80,
4971                  "column": 26,
4972                  "program": "functionCall.ts"
4973                },
4974                "end": {
4975                  "line": 80,
4976                  "column": 31,
4977                  "program": "functionCall.ts"
4978                }
4979              }
4980            },
4981            "arguments": [
4982              {
4983                "type": "StringLiteral",
4984                "value": "bar",
4985                "loc": {
4986                  "start": {
4987                    "line": 80,
4988                    "column": 32,
4989                    "program": "functionCall.ts"
4990                  },
4991                  "end": {
4992                    "line": 80,
4993                    "column": 37,
4994                    "program": "functionCall.ts"
4995                  }
4996                }
4997              },
4998              {
4999                "type": "NumberLiteral",
5000                "value": 2,
5001                "loc": {
5002                  "start": {
5003                    "line": 80,
5004                    "column": 39,
5005                    "program": "functionCall.ts"
5006                  },
5007                  "end": {
5008                    "line": 80,
5009                    "column": 40,
5010                    "program": "functionCall.ts"
5011                  }
5012                }
5013              }
5014            ],
5015            "optional": false,
5016            "loc": {
5017              "start": {
5018                "line": 80,
5019                "column": 26,
5020                "program": "functionCall.ts"
5021              },
5022              "end": {
5023                "line": 80,
5024                "column": 41,
5025                "program": "functionCall.ts"
5026              }
5027            }
5028          },
5029          "loc": {
5030            "start": {
5031              "line": 80,
5032              "column": 5,
5033              "program": "functionCall.ts"
5034            },
5035            "end": {
5036              "line": 80,
5037              "column": 41,
5038              "program": "functionCall.ts"
5039            }
5040          }
5041        }
5042      ],
5043      "kind": "var",
5044      "loc": {
5045        "start": {
5046          "line": 80,
5047          "column": 1,
5048          "program": "functionCall.ts"
5049        },
5050        "end": {
5051          "line": 80,
5052          "column": 42,
5053          "program": "functionCall.ts"
5054        }
5055      }
5056    },
5057    {
5058      "type": "TSDeclareFunction",
5059      "function": {
5060        "type": "ScriptFunction",
5061        "id": {
5062          "type": "Identifier",
5063          "name": "func10",
5064          "decorators": [],
5065          "loc": {
5066            "start": {
5067              "line": 82,
5068              "column": 10,
5069              "program": "functionCall.ts"
5070            },
5071            "end": {
5072              "line": 82,
5073              "column": 16,
5074              "program": "functionCall.ts"
5075            }
5076          }
5077        },
5078        "generator": false,
5079        "async": false,
5080        "expression": false,
5081        "params": [
5082          {
5083            "type": "Identifier",
5084            "name": "a",
5085            "typeAnnotation": {
5086              "type": "TSTypeLiteral",
5087              "members": [
5088                {
5089                  "type": "TSPropertySignature",
5090                  "computed": false,
5091                  "optional": false,
5092                  "readonly": false,
5093                  "key": {
5094                    "type": "Identifier",
5095                    "name": "x",
5096                    "decorators": [],
5097                    "loc": {
5098                      "start": {
5099                        "line": 82,
5100                        "column": 22,
5101                        "program": "functionCall.ts"
5102                      },
5103                      "end": {
5104                        "line": 82,
5105                        "column": 23,
5106                        "program": "functionCall.ts"
5107                      }
5108                    }
5109                  },
5110                  "typeAnnotation": {
5111                    "type": "TSNumberKeyword",
5112                    "loc": {
5113                      "start": {
5114                        "line": 82,
5115                        "column": 25,
5116                        "program": "functionCall.ts"
5117                      },
5118                      "end": {
5119                        "line": 82,
5120                        "column": 31,
5121                        "program": "functionCall.ts"
5122                      }
5123                    }
5124                  },
5125                  "loc": {
5126                    "start": {
5127                      "line": 82,
5128                      "column": 22,
5129                      "program": "functionCall.ts"
5130                    },
5131                    "end": {
5132                      "line": 82,
5133                      "column": 32,
5134                      "program": "functionCall.ts"
5135                    }
5136                  }
5137                },
5138                {
5139                  "type": "TSPropertySignature",
5140                  "computed": false,
5141                  "optional": false,
5142                  "readonly": false,
5143                  "key": {
5144                    "type": "Identifier",
5145                    "name": "y",
5146                    "decorators": [],
5147                    "loc": {
5148                      "start": {
5149                        "line": 82,
5150                        "column": 33,
5151                        "program": "functionCall.ts"
5152                      },
5153                      "end": {
5154                        "line": 82,
5155                        "column": 34,
5156                        "program": "functionCall.ts"
5157                      }
5158                    }
5159                  },
5160                  "typeAnnotation": {
5161                    "type": "TSStringKeyword",
5162                    "loc": {
5163                      "start": {
5164                        "line": 82,
5165                        "column": 36,
5166                        "program": "functionCall.ts"
5167                      },
5168                      "end": {
5169                        "line": 82,
5170                        "column": 42,
5171                        "program": "functionCall.ts"
5172                      }
5173                    }
5174                  },
5175                  "loc": {
5176                    "start": {
5177                      "line": 82,
5178                      "column": 33,
5179                      "program": "functionCall.ts"
5180                    },
5181                    "end": {
5182                      "line": 82,
5183                      "column": 44,
5184                      "program": "functionCall.ts"
5185                    }
5186                  }
5187                }
5188              ],
5189              "loc": {
5190                "start": {
5191                  "line": 82,
5192                  "column": 20,
5193                  "program": "functionCall.ts"
5194                },
5195                "end": {
5196                  "line": 82,
5197                  "column": 44,
5198                  "program": "functionCall.ts"
5199                }
5200              }
5201            },
5202            "decorators": [],
5203            "loc": {
5204              "start": {
5205                "line": 82,
5206                "column": 17,
5207                "program": "functionCall.ts"
5208              },
5209              "end": {
5210                "line": 82,
5211                "column": 18,
5212                "program": "functionCall.ts"
5213              }
5214            }
5215          }
5216        ],
5217        "returnType": {
5218          "type": "TSArrayType",
5219          "elementType": {
5220            "type": "TSNumberKeyword",
5221            "loc": {
5222              "start": {
5223                "line": 82,
5224                "column": 47,
5225                "program": "functionCall.ts"
5226              },
5227              "end": {
5228                "line": 82,
5229                "column": 53,
5230                "program": "functionCall.ts"
5231              }
5232            }
5233          },
5234          "annotations": [],
5235          "loc": {
5236            "start": {
5237              "line": 82,
5238              "column": 47,
5239              "program": "functionCall.ts"
5240            },
5241            "end": {
5242              "line": 82,
5243              "column": 55,
5244              "program": "functionCall.ts"
5245            }
5246          }
5247        },
5248        "loc": {
5249          "start": {
5250            "line": 82,
5251            "column": 1,
5252            "program": "functionCall.ts"
5253          },
5254          "end": {
5255            "line": 82,
5256            "column": 56,
5257            "program": "functionCall.ts"
5258          }
5259        }
5260      },
5261      "loc": {
5262        "start": {
5263          "line": 82,
5264          "column": 1,
5265          "program": "functionCall.ts"
5266        },
5267        "end": {
5268          "line": 82,
5269          "column": 56,
5270          "program": "functionCall.ts"
5271        }
5272      }
5273    },
5274    {
5275      "type": "TSDeclareFunction",
5276      "function": {
5277        "type": "ScriptFunction",
5278        "id": {
5279          "type": "Identifier",
5280          "name": "func10",
5281          "decorators": [],
5282          "loc": {
5283            "start": {
5284              "line": 83,
5285              "column": 10,
5286              "program": "functionCall.ts"
5287            },
5288            "end": {
5289              "line": 83,
5290              "column": 16,
5291              "program": "functionCall.ts"
5292            }
5293          }
5294        },
5295        "generator": false,
5296        "async": false,
5297        "expression": false,
5298        "params": [
5299          {
5300            "type": "Identifier",
5301            "name": "a",
5302            "typeAnnotation": {
5303              "type": "TSTypeLiteral",
5304              "members": [
5305                {
5306                  "type": "TSPropertySignature",
5307                  "computed": false,
5308                  "optional": false,
5309                  "readonly": false,
5310                  "key": {
5311                    "type": "Identifier",
5312                    "name": "x",
5313                    "decorators": [],
5314                    "loc": {
5315                      "start": {
5316                        "line": 83,
5317                        "column": 22,
5318                        "program": "functionCall.ts"
5319                      },
5320                      "end": {
5321                        "line": 83,
5322                        "column": 23,
5323                        "program": "functionCall.ts"
5324                      }
5325                    }
5326                  },
5327                  "typeAnnotation": {
5328                    "type": "TSStringKeyword",
5329                    "loc": {
5330                      "start": {
5331                        "line": 83,
5332                        "column": 25,
5333                        "program": "functionCall.ts"
5334                      },
5335                      "end": {
5336                        "line": 83,
5337                        "column": 31,
5338                        "program": "functionCall.ts"
5339                      }
5340                    }
5341                  },
5342                  "loc": {
5343                    "start": {
5344                      "line": 83,
5345                      "column": 22,
5346                      "program": "functionCall.ts"
5347                    },
5348                    "end": {
5349                      "line": 83,
5350                      "column": 32,
5351                      "program": "functionCall.ts"
5352                    }
5353                  }
5354                },
5355                {
5356                  "type": "TSPropertySignature",
5357                  "computed": false,
5358                  "optional": false,
5359                  "readonly": false,
5360                  "key": {
5361                    "type": "Identifier",
5362                    "name": "y",
5363                    "decorators": [],
5364                    "loc": {
5365                      "start": {
5366                        "line": 83,
5367                        "column": 33,
5368                        "program": "functionCall.ts"
5369                      },
5370                      "end": {
5371                        "line": 83,
5372                        "column": 34,
5373                        "program": "functionCall.ts"
5374                      }
5375                    }
5376                  },
5377                  "typeAnnotation": {
5378                    "type": "TSNumberKeyword",
5379                    "loc": {
5380                      "start": {
5381                        "line": 83,
5382                        "column": 36,
5383                        "program": "functionCall.ts"
5384                      },
5385                      "end": {
5386                        "line": 83,
5387                        "column": 42,
5388                        "program": "functionCall.ts"
5389                      }
5390                    }
5391                  },
5392                  "loc": {
5393                    "start": {
5394                      "line": 83,
5395                      "column": 33,
5396                      "program": "functionCall.ts"
5397                    },
5398                    "end": {
5399                      "line": 83,
5400                      "column": 44,
5401                      "program": "functionCall.ts"
5402                    }
5403                  }
5404                }
5405              ],
5406              "loc": {
5407                "start": {
5408                  "line": 83,
5409                  "column": 20,
5410                  "program": "functionCall.ts"
5411                },
5412                "end": {
5413                  "line": 83,
5414                  "column": 44,
5415                  "program": "functionCall.ts"
5416                }
5417              }
5418            },
5419            "decorators": [],
5420            "loc": {
5421              "start": {
5422                "line": 83,
5423                "column": 17,
5424                "program": "functionCall.ts"
5425              },
5426              "end": {
5427                "line": 83,
5428                "column": 18,
5429                "program": "functionCall.ts"
5430              }
5431            }
5432          }
5433        ],
5434        "returnType": {
5435          "type": "TSArrayType",
5436          "elementType": {
5437            "type": "TSNumberKeyword",
5438            "loc": {
5439              "start": {
5440                "line": 83,
5441                "column": 47,
5442                "program": "functionCall.ts"
5443              },
5444              "end": {
5445                "line": 83,
5446                "column": 53,
5447                "program": "functionCall.ts"
5448              }
5449            }
5450          },
5451          "annotations": [],
5452          "loc": {
5453            "start": {
5454              "line": 83,
5455              "column": 47,
5456              "program": "functionCall.ts"
5457            },
5458            "end": {
5459              "line": 83,
5460              "column": 55,
5461              "program": "functionCall.ts"
5462            }
5463          }
5464        },
5465        "loc": {
5466          "start": {
5467            "line": 83,
5468            "column": 1,
5469            "program": "functionCall.ts"
5470          },
5471          "end": {
5472            "line": 83,
5473            "column": 56,
5474            "program": "functionCall.ts"
5475          }
5476        }
5477      },
5478      "loc": {
5479        "start": {
5480          "line": 83,
5481          "column": 1,
5482          "program": "functionCall.ts"
5483        },
5484        "end": {
5485          "line": 83,
5486          "column": 56,
5487          "program": "functionCall.ts"
5488        }
5489      }
5490    },
5491    {
5492      "type": "FunctionDeclaration",
5493      "function": {
5494        "type": "ScriptFunction",
5495        "id": {
5496          "type": "Identifier",
5497          "name": "func10",
5498          "decorators": [],
5499          "loc": {
5500            "start": {
5501              "line": 84,
5502              "column": 10,
5503              "program": "functionCall.ts"
5504            },
5505            "end": {
5506              "line": 84,
5507              "column": 16,
5508              "program": "functionCall.ts"
5509            }
5510          }
5511        },
5512        "generator": false,
5513        "async": false,
5514        "expression": false,
5515        "params": [
5516          {
5517            "type": "Identifier",
5518            "name": "a",
5519            "typeAnnotation": {
5520              "type": "TSTypeLiteral",
5521              "members": [
5522                {
5523                  "type": "TSPropertySignature",
5524                  "computed": false,
5525                  "optional": false,
5526                  "readonly": false,
5527                  "key": {
5528                    "type": "Identifier",
5529                    "name": "x",
5530                    "decorators": [],
5531                    "loc": {
5532                      "start": {
5533                        "line": 84,
5534                        "column": 22,
5535                        "program": "functionCall.ts"
5536                      },
5537                      "end": {
5538                        "line": 84,
5539                        "column": 23,
5540                        "program": "functionCall.ts"
5541                      }
5542                    }
5543                  },
5544                  "typeAnnotation": {
5545                    "type": "TSUnionType",
5546                    "types": [
5547                      {
5548                        "type": "TSNumberKeyword",
5549                        "loc": {
5550                          "start": {
5551                            "line": 84,
5552                            "column": 25,
5553                            "program": "functionCall.ts"
5554                          },
5555                          "end": {
5556                            "line": 84,
5557                            "column": 31,
5558                            "program": "functionCall.ts"
5559                          }
5560                        }
5561                      },
5562                      {
5563                        "type": "TSStringKeyword",
5564                        "loc": {
5565                          "start": {
5566                            "line": 84,
5567                            "column": 34,
5568                            "program": "functionCall.ts"
5569                          },
5570                          "end": {
5571                            "line": 84,
5572                            "column": 40,
5573                            "program": "functionCall.ts"
5574                          }
5575                        }
5576                      }
5577                    ],
5578                    "loc": {
5579                      "start": {
5580                        "line": 84,
5581                        "column": 25,
5582                        "program": "functionCall.ts"
5583                      },
5584                      "end": {
5585                        "line": 84,
5586                        "column": 40,
5587                        "program": "functionCall.ts"
5588                      }
5589                    }
5590                  },
5591                  "loc": {
5592                    "start": {
5593                      "line": 84,
5594                      "column": 22,
5595                      "program": "functionCall.ts"
5596                    },
5597                    "end": {
5598                      "line": 84,
5599                      "column": 42,
5600                      "program": "functionCall.ts"
5601                    }
5602                  }
5603                }
5604              ],
5605              "loc": {
5606                "start": {
5607                  "line": 84,
5608                  "column": 20,
5609                  "program": "functionCall.ts"
5610                },
5611                "end": {
5612                  "line": 84,
5613                  "column": 42,
5614                  "program": "functionCall.ts"
5615                }
5616              }
5617            },
5618            "decorators": [],
5619            "loc": {
5620              "start": {
5621                "line": 84,
5622                "column": 17,
5623                "program": "functionCall.ts"
5624              },
5625              "end": {
5626                "line": 84,
5627                "column": 18,
5628                "program": "functionCall.ts"
5629              }
5630            }
5631          }
5632        ],
5633        "body": {
5634          "type": "BlockStatement",
5635          "statements": [
5636            {
5637              "type": "ReturnStatement",
5638              "argument": {
5639                "type": "ArrayExpression",
5640                "elements": [
5641                  {
5642                    "type": "NumberLiteral",
5643                    "value": 1,
5644                    "loc": {
5645                      "start": {
5646                        "line": 85,
5647                        "column": 13,
5648                        "program": "functionCall.ts"
5649                      },
5650                      "end": {
5651                        "line": 85,
5652                        "column": 14,
5653                        "program": "functionCall.ts"
5654                      }
5655                    }
5656                  },
5657                  {
5658                    "type": "NumberLiteral",
5659                    "value": 2,
5660                    "loc": {
5661                      "start": {
5662                        "line": 85,
5663                        "column": 16,
5664                        "program": "functionCall.ts"
5665                      },
5666                      "end": {
5667                        "line": 85,
5668                        "column": 17,
5669                        "program": "functionCall.ts"
5670                      }
5671                    }
5672                  },
5673                  {
5674                    "type": "NumberLiteral",
5675                    "value": 3,
5676                    "loc": {
5677                      "start": {
5678                        "line": 85,
5679                        "column": 19,
5680                        "program": "functionCall.ts"
5681                      },
5682                      "end": {
5683                        "line": 85,
5684                        "column": 20,
5685                        "program": "functionCall.ts"
5686                      }
5687                    }
5688                  }
5689                ],
5690                "loc": {
5691                  "start": {
5692                    "line": 85,
5693                    "column": 12,
5694                    "program": "functionCall.ts"
5695                  },
5696                  "end": {
5697                    "line": 85,
5698                    "column": 21,
5699                    "program": "functionCall.ts"
5700                  }
5701                }
5702              },
5703              "loc": {
5704                "start": {
5705                  "line": 85,
5706                  "column": 5,
5707                  "program": "functionCall.ts"
5708                },
5709                "end": {
5710                  "line": 85,
5711                  "column": 22,
5712                  "program": "functionCall.ts"
5713                }
5714              }
5715            }
5716          ],
5717          "loc": {
5718            "start": {
5719              "line": 84,
5720              "column": 44,
5721              "program": "functionCall.ts"
5722            },
5723            "end": {
5724              "line": 86,
5725              "column": 2,
5726              "program": "functionCall.ts"
5727            }
5728          }
5729        },
5730        "loc": {
5731          "start": {
5732            "line": 84,
5733            "column": 1,
5734            "program": "functionCall.ts"
5735          },
5736          "end": {
5737            "line": 86,
5738            "column": 2,
5739            "program": "functionCall.ts"
5740          }
5741        }
5742      },
5743      "loc": {
5744        "start": {
5745          "line": 84,
5746          "column": 1,
5747          "program": "functionCall.ts"
5748        },
5749        "end": {
5750          "line": 86,
5751          "column": 2,
5752          "program": "functionCall.ts"
5753        }
5754      }
5755    },
5756    {
5757      "type": "VariableDeclaration",
5758      "declarations": [
5759        {
5760          "type": "VariableDeclarator",
5761          "id": {
5762            "type": "Identifier",
5763            "name": "m",
5764            "typeAnnotation": {
5765              "type": "TSArrayType",
5766              "elementType": {
5767                "type": "TSNumberKeyword",
5768                "loc": {
5769                  "start": {
5770                    "line": 88,
5771                    "column": 8,
5772                    "program": "functionCall.ts"
5773                  },
5774                  "end": {
5775                    "line": 88,
5776                    "column": 14,
5777                    "program": "functionCall.ts"
5778                  }
5779                }
5780              },
5781              "annotations": [],
5782              "loc": {
5783                "start": {
5784                  "line": 88,
5785                  "column": 8,
5786                  "program": "functionCall.ts"
5787                },
5788                "end": {
5789                  "line": 88,
5790                  "column": 16,
5791                  "program": "functionCall.ts"
5792                }
5793              }
5794            },
5795            "decorators": [],
5796            "loc": {
5797              "start": {
5798                "line": 88,
5799                "column": 5,
5800                "program": "functionCall.ts"
5801              },
5802              "end": {
5803                "line": 88,
5804                "column": 6,
5805                "program": "functionCall.ts"
5806              }
5807            }
5808          },
5809          "init": {
5810            "type": "CallExpression",
5811            "callee": {
5812              "type": "Identifier",
5813              "name": "func10",
5814              "decorators": [],
5815              "loc": {
5816                "start": {
5817                  "line": 88,
5818                  "column": 19,
5819                  "program": "functionCall.ts"
5820                },
5821                "end": {
5822                  "line": 88,
5823                  "column": 25,
5824                  "program": "functionCall.ts"
5825                }
5826              }
5827            },
5828            "arguments": [
5829              {
5830                "type": "ObjectExpression",
5831                "properties": [
5832                  {
5833                    "type": "Property",
5834                    "method": false,
5835                    "shorthand": false,
5836                    "computed": false,
5837                    "key": {
5838                      "type": "Identifier",
5839                      "name": "x",
5840                      "decorators": [],
5841                      "loc": {
5842                        "start": {
5843                          "line": 88,
5844                          "column": 28,
5845                          "program": "functionCall.ts"
5846                        },
5847                        "end": {
5848                          "line": 88,
5849                          "column": 29,
5850                          "program": "functionCall.ts"
5851                        }
5852                      }
5853                    },
5854                    "value": {
5855                      "type": "NumberLiteral",
5856                      "value": 1,
5857                      "loc": {
5858                        "start": {
5859                          "line": 88,
5860                          "column": 31,
5861                          "program": "functionCall.ts"
5862                        },
5863                        "end": {
5864                          "line": 88,
5865                          "column": 32,
5866                          "program": "functionCall.ts"
5867                        }
5868                      }
5869                    },
5870                    "kind": "init",
5871                    "loc": {
5872                      "start": {
5873                        "line": 88,
5874                        "column": 28,
5875                        "program": "functionCall.ts"
5876                      },
5877                      "end": {
5878                        "line": 88,
5879                        "column": 32,
5880                        "program": "functionCall.ts"
5881                      }
5882                    }
5883                  },
5884                  {
5885                    "type": "Property",
5886                    "method": false,
5887                    "shorthand": false,
5888                    "computed": false,
5889                    "key": {
5890                      "type": "Identifier",
5891                      "name": "y",
5892                      "decorators": [],
5893                      "loc": {
5894                        "start": {
5895                          "line": 88,
5896                          "column": 34,
5897                          "program": "functionCall.ts"
5898                        },
5899                        "end": {
5900                          "line": 88,
5901                          "column": 35,
5902                          "program": "functionCall.ts"
5903                        }
5904                      }
5905                    },
5906                    "value": {
5907                      "type": "StringLiteral",
5908                      "value": "foo",
5909                      "loc": {
5910                        "start": {
5911                          "line": 88,
5912                          "column": 37,
5913                          "program": "functionCall.ts"
5914                        },
5915                        "end": {
5916                          "line": 88,
5917                          "column": 42,
5918                          "program": "functionCall.ts"
5919                        }
5920                      }
5921                    },
5922                    "kind": "init",
5923                    "loc": {
5924                      "start": {
5925                        "line": 88,
5926                        "column": 34,
5927                        "program": "functionCall.ts"
5928                      },
5929                      "end": {
5930                        "line": 88,
5931                        "column": 42,
5932                        "program": "functionCall.ts"
5933                      }
5934                    }
5935                  }
5936                ],
5937                "loc": {
5938                  "start": {
5939                    "line": 88,
5940                    "column": 26,
5941                    "program": "functionCall.ts"
5942                  },
5943                  "end": {
5944                    "line": 88,
5945                    "column": 44,
5946                    "program": "functionCall.ts"
5947                  }
5948                }
5949              }
5950            ],
5951            "optional": false,
5952            "loc": {
5953              "start": {
5954                "line": 88,
5955                "column": 19,
5956                "program": "functionCall.ts"
5957              },
5958              "end": {
5959                "line": 88,
5960                "column": 45,
5961                "program": "functionCall.ts"
5962              }
5963            }
5964          },
5965          "loc": {
5966            "start": {
5967              "line": 88,
5968              "column": 5,
5969              "program": "functionCall.ts"
5970            },
5971            "end": {
5972              "line": 88,
5973              "column": 45,
5974              "program": "functionCall.ts"
5975            }
5976          }
5977        }
5978      ],
5979      "kind": "var",
5980      "loc": {
5981        "start": {
5982          "line": 88,
5983          "column": 1,
5984          "program": "functionCall.ts"
5985        },
5986        "end": {
5987          "line": 88,
5988          "column": 46,
5989          "program": "functionCall.ts"
5990        }
5991      }
5992    },
5993    {
5994      "type": "VariableDeclaration",
5995      "declarations": [
5996        {
5997          "type": "VariableDeclarator",
5998          "id": {
5999            "type": "Identifier",
6000            "name": "m",
6001            "typeAnnotation": {
6002              "type": "TSArrayType",
6003              "elementType": {
6004                "type": "TSNumberKeyword",
6005                "loc": {
6006                  "start": {
6007                    "line": 89,
6008                    "column": 8,
6009                    "program": "functionCall.ts"
6010                  },
6011                  "end": {
6012                    "line": 89,
6013                    "column": 14,
6014                    "program": "functionCall.ts"
6015                  }
6016                }
6017              },
6018              "annotations": [],
6019              "loc": {
6020                "start": {
6021                  "line": 89,
6022                  "column": 8,
6023                  "program": "functionCall.ts"
6024                },
6025                "end": {
6026                  "line": 89,
6027                  "column": 16,
6028                  "program": "functionCall.ts"
6029                }
6030              }
6031            },
6032            "decorators": [],
6033            "loc": {
6034              "start": {
6035                "line": 89,
6036                "column": 5,
6037                "program": "functionCall.ts"
6038              },
6039              "end": {
6040                "line": 89,
6041                "column": 6,
6042                "program": "functionCall.ts"
6043              }
6044            }
6045          },
6046          "init": {
6047            "type": "CallExpression",
6048            "callee": {
6049              "type": "Identifier",
6050              "name": "func10",
6051              "decorators": [],
6052              "loc": {
6053                "start": {
6054                  "line": 89,
6055                  "column": 19,
6056                  "program": "functionCall.ts"
6057                },
6058                "end": {
6059                  "line": 89,
6060                  "column": 25,
6061                  "program": "functionCall.ts"
6062                }
6063              }
6064            },
6065            "arguments": [
6066              {
6067                "type": "ObjectExpression",
6068                "properties": [
6069                  {
6070                    "type": "Property",
6071                    "method": false,
6072                    "shorthand": false,
6073                    "computed": false,
6074                    "key": {
6075                      "type": "Identifier",
6076                      "name": "x",
6077                      "decorators": [],
6078                      "loc": {
6079                        "start": {
6080                          "line": 89,
6081                          "column": 28,
6082                          "program": "functionCall.ts"
6083                        },
6084                        "end": {
6085                          "line": 89,
6086                          "column": 29,
6087                          "program": "functionCall.ts"
6088                        }
6089                      }
6090                    },
6091                    "value": {
6092                      "type": "StringLiteral",
6093                      "value": "bar",
6094                      "loc": {
6095                        "start": {
6096                          "line": 89,
6097                          "column": 31,
6098                          "program": "functionCall.ts"
6099                        },
6100                        "end": {
6101                          "line": 89,
6102                          "column": 36,
6103                          "program": "functionCall.ts"
6104                        }
6105                      }
6106                    },
6107                    "kind": "init",
6108                    "loc": {
6109                      "start": {
6110                        "line": 89,
6111                        "column": 28,
6112                        "program": "functionCall.ts"
6113                      },
6114                      "end": {
6115                        "line": 89,
6116                        "column": 36,
6117                        "program": "functionCall.ts"
6118                      }
6119                    }
6120                  },
6121                  {
6122                    "type": "Property",
6123                    "method": false,
6124                    "shorthand": false,
6125                    "computed": false,
6126                    "key": {
6127                      "type": "Identifier",
6128                      "name": "y",
6129                      "decorators": [],
6130                      "loc": {
6131                        "start": {
6132                          "line": 89,
6133                          "column": 38,
6134                          "program": "functionCall.ts"
6135                        },
6136                        "end": {
6137                          "line": 89,
6138                          "column": 39,
6139                          "program": "functionCall.ts"
6140                        }
6141                      }
6142                    },
6143                    "value": {
6144                      "type": "NumberLiteral",
6145                      "value": 2,
6146                      "loc": {
6147                        "start": {
6148                          "line": 89,
6149                          "column": 41,
6150                          "program": "functionCall.ts"
6151                        },
6152                        "end": {
6153                          "line": 89,
6154                          "column": 42,
6155                          "program": "functionCall.ts"
6156                        }
6157                      }
6158                    },
6159                    "kind": "init",
6160                    "loc": {
6161                      "start": {
6162                        "line": 89,
6163                        "column": 38,
6164                        "program": "functionCall.ts"
6165                      },
6166                      "end": {
6167                        "line": 89,
6168                        "column": 42,
6169                        "program": "functionCall.ts"
6170                      }
6171                    }
6172                  }
6173                ],
6174                "loc": {
6175                  "start": {
6176                    "line": 89,
6177                    "column": 26,
6178                    "program": "functionCall.ts"
6179                  },
6180                  "end": {
6181                    "line": 89,
6182                    "column": 44,
6183                    "program": "functionCall.ts"
6184                  }
6185                }
6186              }
6187            ],
6188            "optional": false,
6189            "loc": {
6190              "start": {
6191                "line": 89,
6192                "column": 19,
6193                "program": "functionCall.ts"
6194              },
6195              "end": {
6196                "line": 89,
6197                "column": 45,
6198                "program": "functionCall.ts"
6199              }
6200            }
6201          },
6202          "loc": {
6203            "start": {
6204              "line": 89,
6205              "column": 5,
6206              "program": "functionCall.ts"
6207            },
6208            "end": {
6209              "line": 89,
6210              "column": 45,
6211              "program": "functionCall.ts"
6212            }
6213          }
6214        }
6215      ],
6216      "kind": "var",
6217      "loc": {
6218        "start": {
6219          "line": 89,
6220          "column": 1,
6221          "program": "functionCall.ts"
6222        },
6223        "end": {
6224          "line": 89,
6225          "column": 46,
6226          "program": "functionCall.ts"
6227        }
6228      }
6229    }
6230  ],
6231  "loc": {
6232    "start": {
6233      "line": 1,
6234      "column": 1,
6235      "program": "functionCall.ts"
6236    },
6237    "end": {
6238      "line": 90,
6239      "column": 1,
6240      "program": "functionCall.ts"
6241    }
6242  }
6243}
6244