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