• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "Arr",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "nullableGenericSignature.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 10,
20              "program": "nullableGenericSignature.ets"
21            }
22          }
23        },
24        "typeParameters": {
25          "type": "TSTypeParameterDeclaration",
26          "params": [
27            {
28              "type": "TSTypeParameter",
29              "name": {
30                "type": "Identifier",
31                "name": "T",
32                "decorators": [],
33                "loc": {
34                  "start": {
35                    "line": 16,
36                    "column": 11,
37                    "program": "nullableGenericSignature.ets"
38                  },
39                  "end": {
40                    "line": 16,
41                    "column": 12,
42                    "program": "nullableGenericSignature.ets"
43                  }
44                }
45              },
46              "loc": {
47                "start": {
48                  "line": 16,
49                  "column": 11,
50                  "program": "nullableGenericSignature.ets"
51                },
52                "end": {
53                  "line": 16,
54                  "column": 13,
55                  "program": "nullableGenericSignature.ets"
56                }
57              }
58            }
59          ],
60          "loc": {
61            "start": {
62              "line": 16,
63              "column": 10,
64              "program": "nullableGenericSignature.ets"
65            },
66            "end": {
67              "line": 16,
68              "column": 13,
69              "program": "nullableGenericSignature.ets"
70            }
71          }
72        },
73        "superClass": null,
74        "implements": [],
75        "body": [
76          {
77            "type": "MethodDefinition",
78            "key": {
79              "type": "Identifier",
80              "name": "every",
81              "decorators": [],
82              "loc": {
83                "start": {
84                  "line": 17,
85                  "column": 3,
86                  "program": "nullableGenericSignature.ets"
87                },
88                "end": {
89                  "line": 17,
90                  "column": 8,
91                  "program": "nullableGenericSignature.ets"
92                }
93              }
94            },
95            "kind": "method",
96            "accessibility": "public",
97            "static": false,
98            "optional": false,
99            "computed": false,
100            "value": {
101              "type": "FunctionExpression",
102              "function": {
103                "type": "ScriptFunction",
104                "id": {
105                  "type": "Identifier",
106                  "name": "every",
107                  "decorators": [],
108                  "loc": {
109                    "start": {
110                      "line": 17,
111                      "column": 3,
112                      "program": "nullableGenericSignature.ets"
113                    },
114                    "end": {
115                      "line": 17,
116                      "column": 8,
117                      "program": "nullableGenericSignature.ets"
118                    }
119                  }
120                },
121                "generator": false,
122                "async": false,
123                "expression": false,
124                "params": [
125                  {
126                    "type": "ETSParameterExpression",
127                    "name": {
128                      "type": "Identifier",
129                      "name": "fn",
130                      "typeAnnotation": {
131                        "type": "ETSFunctionType",
132                        "params": [
133                          {
134                            "type": "ETSParameterExpression",
135                            "name": {
136                              "type": "Identifier",
137                              "name": "v",
138                              "typeAnnotation": {
139                                "type": "ETSTypeReference",
140                                "part": {
141                                  "type": "ETSTypeReferencePart",
142                                  "name": {
143                                    "type": "Identifier",
144                                    "name": "T",
145                                    "decorators": [],
146                                    "loc": {
147                                      "start": {
148                                        "line": 17,
149                                        "column": 17,
150                                        "program": "nullableGenericSignature.ets"
151                                      },
152                                      "end": {
153                                        "line": 17,
154                                        "column": 18,
155                                        "program": "nullableGenericSignature.ets"
156                                      }
157                                    }
158                                  },
159                                  "loc": {
160                                    "start": {
161                                      "line": 17,
162                                      "column": 17,
163                                      "program": "nullableGenericSignature.ets"
164                                    },
165                                    "end": {
166                                      "line": 17,
167                                      "column": 19,
168                                      "program": "nullableGenericSignature.ets"
169                                    }
170                                  }
171                                },
172                                "loc": {
173                                  "start": {
174                                    "line": 17,
175                                    "column": 17,
176                                    "program": "nullableGenericSignature.ets"
177                                  },
178                                  "end": {
179                                    "line": 17,
180                                    "column": 19,
181                                    "program": "nullableGenericSignature.ets"
182                                  }
183                                }
184                              },
185                              "decorators": [],
186                              "loc": {
187                                "start": {
188                                  "line": 17,
189                                  "column": 14,
190                                  "program": "nullableGenericSignature.ets"
191                                },
192                                "end": {
193                                  "line": 17,
194                                  "column": 19,
195                                  "program": "nullableGenericSignature.ets"
196                                }
197                              }
198                            },
199                            "loc": {
200                              "start": {
201                                "line": 17,
202                                "column": 14,
203                                "program": "nullableGenericSignature.ets"
204                              },
205                              "end": {
206                                "line": 17,
207                                "column": 19,
208                                "program": "nullableGenericSignature.ets"
209                              }
210                            }
211                          }
212                        ],
213                        "returnType": {
214                          "type": "ETSPrimitiveType",
215                          "loc": {
216                            "start": {
217                              "line": 17,
218                              "column": 23,
219                              "program": "nullableGenericSignature.ets"
220                            },
221                            "end": {
222                              "line": 17,
223                              "column": 30,
224                              "program": "nullableGenericSignature.ets"
225                            }
226                          }
227                        },
228                        "loc": {
229                          "start": {
230                            "line": 17,
231                            "column": 13,
232                            "program": "nullableGenericSignature.ets"
233                          },
234                          "end": {
235                            "line": 17,
236                            "column": 30,
237                            "program": "nullableGenericSignature.ets"
238                          }
239                        }
240                      },
241                      "decorators": [],
242                      "loc": {
243                        "start": {
244                          "line": 17,
245                          "column": 9,
246                          "program": "nullableGenericSignature.ets"
247                        },
248                        "end": {
249                          "line": 17,
250                          "column": 30,
251                          "program": "nullableGenericSignature.ets"
252                        }
253                      }
254                    },
255                    "loc": {
256                      "start": {
257                        "line": 17,
258                        "column": 9,
259                        "program": "nullableGenericSignature.ets"
260                      },
261                      "end": {
262                        "line": 17,
263                        "column": 30,
264                        "program": "nullableGenericSignature.ets"
265                      }
266                    }
267                  }
268                ],
269                "returnType": {
270                  "type": "ETSPrimitiveType",
271                  "loc": {
272                    "start": {
273                      "line": 17,
274                      "column": 33,
275                      "program": "nullableGenericSignature.ets"
276                    },
277                    "end": {
278                      "line": 17,
279                      "column": 40,
280                      "program": "nullableGenericSignature.ets"
281                    }
282                  }
283                },
284                "body": {
285                  "type": "BlockStatement",
286                  "statements": [
287                    {
288                      "type": "ReturnStatement",
289                      "argument": {
290                        "type": "BooleanLiteral",
291                        "value": true,
292                        "loc": {
293                          "start": {
294                            "line": 18,
295                            "column": 12,
296                            "program": "nullableGenericSignature.ets"
297                          },
298                          "end": {
299                            "line": 18,
300                            "column": 16,
301                            "program": "nullableGenericSignature.ets"
302                          }
303                        }
304                      },
305                      "loc": {
306                        "start": {
307                          "line": 18,
308                          "column": 5,
309                          "program": "nullableGenericSignature.ets"
310                        },
311                        "end": {
312                          "line": 18,
313                          "column": 17,
314                          "program": "nullableGenericSignature.ets"
315                        }
316                      }
317                    }
318                  ],
319                  "loc": {
320                    "start": {
321                      "line": 17,
322                      "column": 41,
323                      "program": "nullableGenericSignature.ets"
324                    },
325                    "end": {
326                      "line": 19,
327                      "column": 4,
328                      "program": "nullableGenericSignature.ets"
329                    }
330                  }
331                },
332                "loc": {
333                  "start": {
334                    "line": 17,
335                    "column": 8,
336                    "program": "nullableGenericSignature.ets"
337                  },
338                  "end": {
339                    "line": 19,
340                    "column": 4,
341                    "program": "nullableGenericSignature.ets"
342                  }
343                }
344              },
345              "loc": {
346                "start": {
347                  "line": 17,
348                  "column": 8,
349                  "program": "nullableGenericSignature.ets"
350                },
351                "end": {
352                  "line": 19,
353                  "column": 4,
354                  "program": "nullableGenericSignature.ets"
355                }
356              }
357            },
358            "overloads": [],
359            "decorators": [],
360            "loc": {
361              "start": {
362                "line": 17,
363                "column": 3,
364                "program": "nullableGenericSignature.ets"
365              },
366              "end": {
367                "line": 19,
368                "column": 4,
369                "program": "nullableGenericSignature.ets"
370              }
371            }
372          },
373          {
374            "type": "MethodDefinition",
375            "key": {
376              "type": "Identifier",
377              "name": "flat",
378              "decorators": [],
379              "loc": {
380                "start": {
381                  "line": 21,
382                  "column": 3,
383                  "program": "nullableGenericSignature.ets"
384                },
385                "end": {
386                  "line": 21,
387                  "column": 7,
388                  "program": "nullableGenericSignature.ets"
389                }
390              }
391            },
392            "kind": "method",
393            "accessibility": "public",
394            "static": false,
395            "optional": false,
396            "computed": false,
397            "value": {
398              "type": "FunctionExpression",
399              "function": {
400                "type": "ScriptFunction",
401                "id": {
402                  "type": "Identifier",
403                  "name": "flat",
404                  "decorators": [],
405                  "loc": {
406                    "start": {
407                      "line": 21,
408                      "column": 3,
409                      "program": "nullableGenericSignature.ets"
410                    },
411                    "end": {
412                      "line": 21,
413                      "column": 7,
414                      "program": "nullableGenericSignature.ets"
415                    }
416                  }
417                },
418                "generator": false,
419                "async": false,
420                "expression": false,
421                "params": [],
422                "returnType": {
423                  "type": "ETSTypeReference",
424                  "part": {
425                    "type": "ETSTypeReferencePart",
426                    "name": {
427                      "type": "Identifier",
428                      "name": "Arr",
429                      "decorators": [],
430                      "loc": {
431                        "start": {
432                          "line": 21,
433                          "column": 11,
434                          "program": "nullableGenericSignature.ets"
435                        },
436                        "end": {
437                          "line": 21,
438                          "column": 14,
439                          "program": "nullableGenericSignature.ets"
440                        }
441                      }
442                    },
443                    "typeParams": {
444                      "type": "TSTypeParameterInstantiation",
445                      "params": [
446                        {
447                          "type": "ETSUnionType",
448                          "types": [
449                            {
450                              "type": "ETSTypeReference",
451                              "part": {
452                                "type": "ETSTypeReferencePart",
453                                "name": {
454                                  "type": "Identifier",
455                                  "name": "Object",
456                                  "decorators": [],
457                                  "loc": {
458                                    "start": {
459                                      "line": 21,
460                                      "column": 15,
461                                      "program": "nullableGenericSignature.ets"
462                                    },
463                                    "end": {
464                                      "line": 21,
465                                      "column": 21,
466                                      "program": "nullableGenericSignature.ets"
467                                    }
468                                  }
469                                },
470                                "loc": {
471                                  "start": {
472                                    "line": 21,
473                                    "column": 15,
474                                    "program": "nullableGenericSignature.ets"
475                                  },
476                                  "end": {
477                                    "line": 21,
478                                    "column": 23,
479                                    "program": "nullableGenericSignature.ets"
480                                  }
481                                }
482                              },
483                              "loc": {
484                                "start": {
485                                  "line": 21,
486                                  "column": 15,
487                                  "program": "nullableGenericSignature.ets"
488                                },
489                                "end": {
490                                  "line": 21,
491                                  "column": 23,
492                                  "program": "nullableGenericSignature.ets"
493                                }
494                              }
495                            },
496                            {
497                              "type": "ETSNullType",
498                              "loc": {
499                                "start": {
500                                  "line": 21,
501                                  "column": 24,
502                                  "program": "nullableGenericSignature.ets"
503                                },
504                                "end": {
505                                  "line": 21,
506                                  "column": 28,
507                                  "program": "nullableGenericSignature.ets"
508                                }
509                              }
510                            }
511                          ],
512                          "loc": {
513                            "start": {
514                              "line": 21,
515                              "column": 15,
516                              "program": "nullableGenericSignature.ets"
517                            },
518                            "end": {
519                              "line": 21,
520                              "column": 28,
521                              "program": "nullableGenericSignature.ets"
522                            }
523                          }
524                        }
525                      ],
526                      "loc": {
527                        "start": {
528                          "line": 21,
529                          "column": 14,
530                          "program": "nullableGenericSignature.ets"
531                        },
532                        "end": {
533                          "line": 21,
534                          "column": 29,
535                          "program": "nullableGenericSignature.ets"
536                        }
537                      }
538                    },
539                    "loc": {
540                      "start": {
541                        "line": 21,
542                        "column": 11,
543                        "program": "nullableGenericSignature.ets"
544                      },
545                      "end": {
546                        "line": 21,
547                        "column": 31,
548                        "program": "nullableGenericSignature.ets"
549                      }
550                    }
551                  },
552                  "loc": {
553                    "start": {
554                      "line": 21,
555                      "column": 11,
556                      "program": "nullableGenericSignature.ets"
557                    },
558                    "end": {
559                      "line": 21,
560                      "column": 31,
561                      "program": "nullableGenericSignature.ets"
562                    }
563                  }
564                },
565                "body": {
566                  "type": "BlockStatement",
567                  "statements": [
568                    {
569                      "type": "ThrowStatement",
570                      "argument": {
571                        "type": "ETSNewClassInstanceExpression",
572                        "typeReference": {
573                          "type": "ETSTypeReference",
574                          "part": {
575                            "type": "ETSTypeReferencePart",
576                            "name": {
577                              "type": "Identifier",
578                              "name": "Error",
579                              "decorators": [],
580                              "loc": {
581                                "start": {
582                                  "line": 22,
583                                  "column": 15,
584                                  "program": "nullableGenericSignature.ets"
585                                },
586                                "end": {
587                                  "line": 22,
588                                  "column": 20,
589                                  "program": "nullableGenericSignature.ets"
590                                }
591                              }
592                            },
593                            "loc": {
594                              "start": {
595                                "line": 22,
596                                "column": 15,
597                                "program": "nullableGenericSignature.ets"
598                              },
599                              "end": {
600                                "line": 22,
601                                "column": 21,
602                                "program": "nullableGenericSignature.ets"
603                              }
604                            }
605                          },
606                          "loc": {
607                            "start": {
608                              "line": 22,
609                              "column": 15,
610                              "program": "nullableGenericSignature.ets"
611                            },
612                            "end": {
613                              "line": 22,
614                              "column": 21,
615                              "program": "nullableGenericSignature.ets"
616                            }
617                          }
618                        },
619                        "arguments": [],
620                        "loc": {
621                          "start": {
622                            "line": 22,
623                            "column": 11,
624                            "program": "nullableGenericSignature.ets"
625                          },
626                          "end": {
627                            "line": 22,
628                            "column": 23,
629                            "program": "nullableGenericSignature.ets"
630                          }
631                        }
632                      },
633                      "loc": {
634                        "start": {
635                          "line": 22,
636                          "column": 5,
637                          "program": "nullableGenericSignature.ets"
638                        },
639                        "end": {
640                          "line": 22,
641                          "column": 23,
642                          "program": "nullableGenericSignature.ets"
643                        }
644                      }
645                    }
646                  ],
647                  "loc": {
648                    "start": {
649                      "line": 21,
650                      "column": 30,
651                      "program": "nullableGenericSignature.ets"
652                    },
653                    "end": {
654                      "line": 23,
655                      "column": 4,
656                      "program": "nullableGenericSignature.ets"
657                    }
658                  }
659                },
660                "loc": {
661                  "start": {
662                    "line": 21,
663                    "column": 7,
664                    "program": "nullableGenericSignature.ets"
665                  },
666                  "end": {
667                    "line": 23,
668                    "column": 4,
669                    "program": "nullableGenericSignature.ets"
670                  }
671                }
672              },
673              "loc": {
674                "start": {
675                  "line": 21,
676                  "column": 7,
677                  "program": "nullableGenericSignature.ets"
678                },
679                "end": {
680                  "line": 23,
681                  "column": 4,
682                  "program": "nullableGenericSignature.ets"
683                }
684              }
685            },
686            "overloads": [],
687            "decorators": [],
688            "loc": {
689              "start": {
690                "line": 21,
691                "column": 3,
692                "program": "nullableGenericSignature.ets"
693              },
694              "end": {
695                "line": 23,
696                "column": 4,
697                "program": "nullableGenericSignature.ets"
698              }
699            }
700          },
701          {
702            "type": "MethodDefinition",
703            "key": {
704              "type": "Identifier",
705              "name": "constructor",
706              "decorators": [],
707              "loc": {
708                "start": {
709                  "line": 16,
710                  "column": 15,
711                  "program": "nullableGenericSignature.ets"
712                },
713                "end": {
714                  "line": 16,
715                  "column": 15,
716                  "program": "nullableGenericSignature.ets"
717                }
718              }
719            },
720            "kind": "constructor",
721            "static": false,
722            "optional": false,
723            "computed": false,
724            "value": {
725              "type": "FunctionExpression",
726              "function": {
727                "type": "ScriptFunction",
728                "id": {
729                  "type": "Identifier",
730                  "name": "constructor",
731                  "decorators": [],
732                  "loc": {
733                    "start": {
734                      "line": 16,
735                      "column": 15,
736                      "program": "nullableGenericSignature.ets"
737                    },
738                    "end": {
739                      "line": 16,
740                      "column": 15,
741                      "program": "nullableGenericSignature.ets"
742                    }
743                  }
744                },
745                "generator": false,
746                "async": false,
747                "expression": false,
748                "params": [],
749                "body": {
750                  "type": "BlockStatement",
751                  "statements": [],
752                  "loc": {
753                    "start": {
754                      "line": 16,
755                      "column": 15,
756                      "program": "nullableGenericSignature.ets"
757                    },
758                    "end": {
759                      "line": 16,
760                      "column": 15,
761                      "program": "nullableGenericSignature.ets"
762                    }
763                  }
764                },
765                "loc": {
766                  "start": {
767                    "line": 16,
768                    "column": 15,
769                    "program": "nullableGenericSignature.ets"
770                  },
771                  "end": {
772                    "line": 16,
773                    "column": 15,
774                    "program": "nullableGenericSignature.ets"
775                  }
776                }
777              },
778              "loc": {
779                "start": {
780                  "line": 16,
781                  "column": 15,
782                  "program": "nullableGenericSignature.ets"
783                },
784                "end": {
785                  "line": 16,
786                  "column": 15,
787                  "program": "nullableGenericSignature.ets"
788                }
789              }
790            },
791            "overloads": [],
792            "decorators": [],
793            "loc": {
794              "start": {
795                "line": 1,
796                "column": 1,
797                "program": null
798              },
799              "end": {
800                "line": 1,
801                "column": 1,
802                "program": null
803              }
804            }
805          }
806        ],
807        "loc": {
808          "start": {
809            "line": 16,
810            "column": 14,
811            "program": "nullableGenericSignature.ets"
812          },
813          "end": {
814            "line": 26,
815            "column": 9,
816            "program": "nullableGenericSignature.ets"
817          }
818        }
819      },
820      "loc": {
821        "start": {
822          "line": 16,
823          "column": 1,
824          "program": "nullableGenericSignature.ets"
825        },
826        "end": {
827          "line": 26,
828          "column": 9,
829          "program": "nullableGenericSignature.ets"
830        }
831      }
832    },
833    {
834      "type": "ClassDeclaration",
835      "definition": {
836        "id": {
837          "type": "Identifier",
838          "name": "ETSGLOBAL",
839          "decorators": [],
840          "loc": {
841            "start": {
842              "line": 1,
843              "column": 1,
844              "program": "nullableGenericSignature.ets"
845            },
846            "end": {
847              "line": 1,
848              "column": 1,
849              "program": "nullableGenericSignature.ets"
850            }
851          }
852        },
853        "superClass": null,
854        "implements": [],
855        "body": [
856          {
857            "type": "MethodDefinition",
858            "key": {
859              "type": "Identifier",
860              "name": "main",
861              "decorators": [],
862              "loc": {
863                "start": {
864                  "line": 1,
865                  "column": 1,
866                  "program": null
867                },
868                "end": {
869                  "line": 1,
870                  "column": 1,
871                  "program": null
872                }
873              }
874            },
875            "kind": "method",
876            "accessibility": "public",
877            "static": true,
878            "optional": false,
879            "computed": false,
880            "value": {
881              "type": "FunctionExpression",
882              "function": {
883                "type": "ScriptFunction",
884                "id": {
885                  "type": "Identifier",
886                  "name": "main",
887                  "decorators": [],
888                  "loc": {
889                    "start": {
890                      "line": 1,
891                      "column": 1,
892                      "program": null
893                    },
894                    "end": {
895                      "line": 1,
896                      "column": 1,
897                      "program": null
898                    }
899                  }
900                },
901                "generator": false,
902                "async": false,
903                "expression": false,
904                "params": [],
905                "body": {
906                  "type": "BlockStatement",
907                  "statements": [],
908                  "loc": {
909                    "start": {
910                      "line": 1,
911                      "column": 1,
912                      "program": null
913                    },
914                    "end": {
915                      "line": 1,
916                      "column": 1,
917                      "program": null
918                    }
919                  }
920                },
921                "loc": {
922                  "start": {
923                    "line": 1,
924                    "column": 1,
925                    "program": null
926                  },
927                  "end": {
928                    "line": 1,
929                    "column": 1,
930                    "program": null
931                  }
932                }
933              },
934              "loc": {
935                "start": {
936                  "line": 1,
937                  "column": 1,
938                  "program": null
939                },
940                "end": {
941                  "line": 1,
942                  "column": 1,
943                  "program": null
944                }
945              }
946            },
947            "overloads": [],
948            "decorators": [],
949            "loc": {
950              "start": {
951                "line": 1,
952                "column": 1,
953                "program": "nullableGenericSignature.ets"
954              },
955              "end": {
956                "line": 1,
957                "column": 1,
958                "program": "nullableGenericSignature.ets"
959              }
960            }
961          },
962          {
963            "type": "MethodDefinition",
964            "key": {
965              "type": "Identifier",
966              "name": "_$init$_",
967              "decorators": [],
968              "loc": {
969                "start": {
970                  "line": 1,
971                  "column": 1,
972                  "program": null
973                },
974                "end": {
975                  "line": 1,
976                  "column": 1,
977                  "program": null
978                }
979              }
980            },
981            "kind": "method",
982            "accessibility": "public",
983            "static": true,
984            "optional": false,
985            "computed": false,
986            "value": {
987              "type": "FunctionExpression",
988              "function": {
989                "type": "ScriptFunction",
990                "id": {
991                  "type": "Identifier",
992                  "name": "_$init$_",
993                  "decorators": [],
994                  "loc": {
995                    "start": {
996                      "line": 1,
997                      "column": 1,
998                      "program": null
999                    },
1000                    "end": {
1001                      "line": 1,
1002                      "column": 1,
1003                      "program": null
1004                    }
1005                  }
1006                },
1007                "generator": false,
1008                "async": false,
1009                "expression": false,
1010                "params": [],
1011                "body": {
1012                  "type": "BlockStatement",
1013                  "statements": [],
1014                  "loc": {
1015                    "start": {
1016                      "line": 1,
1017                      "column": 1,
1018                      "program": null
1019                    },
1020                    "end": {
1021                      "line": 1,
1022                      "column": 1,
1023                      "program": null
1024                    }
1025                  }
1026                },
1027                "loc": {
1028                  "start": {
1029                    "line": 1,
1030                    "column": 1,
1031                    "program": null
1032                  },
1033                  "end": {
1034                    "line": 1,
1035                    "column": 1,
1036                    "program": null
1037                  }
1038                }
1039              },
1040              "loc": {
1041                "start": {
1042                  "line": 1,
1043                  "column": 1,
1044                  "program": null
1045                },
1046                "end": {
1047                  "line": 1,
1048                  "column": 1,
1049                  "program": null
1050                }
1051              }
1052            },
1053            "overloads": [],
1054            "decorators": [],
1055            "loc": {
1056              "start": {
1057                "line": 1,
1058                "column": 1,
1059                "program": "nullableGenericSignature.ets"
1060              },
1061              "end": {
1062                "line": 1,
1063                "column": 1,
1064                "program": "nullableGenericSignature.ets"
1065              }
1066            }
1067          },
1068          {
1069            "type": "MethodDefinition",
1070            "key": {
1071              "type": "Identifier",
1072              "name": "test",
1073              "decorators": [],
1074              "loc": {
1075                "start": {
1076                  "line": 26,
1077                  "column": 10,
1078                  "program": "nullableGenericSignature.ets"
1079                },
1080                "end": {
1081                  "line": 26,
1082                  "column": 14,
1083                  "program": "nullableGenericSignature.ets"
1084                }
1085              }
1086            },
1087            "kind": "method",
1088            "accessibility": "public",
1089            "static": true,
1090            "optional": false,
1091            "computed": false,
1092            "value": {
1093              "type": "FunctionExpression",
1094              "function": {
1095                "type": "ScriptFunction",
1096                "id": {
1097                  "type": "Identifier",
1098                  "name": "test",
1099                  "decorators": [],
1100                  "loc": {
1101                    "start": {
1102                      "line": 26,
1103                      "column": 10,
1104                      "program": "nullableGenericSignature.ets"
1105                    },
1106                    "end": {
1107                      "line": 26,
1108                      "column": 14,
1109                      "program": "nullableGenericSignature.ets"
1110                    }
1111                  }
1112                },
1113                "generator": false,
1114                "async": false,
1115                "expression": false,
1116                "params": [
1117                  {
1118                    "type": "ETSParameterExpression",
1119                    "name": {
1120                      "type": "Identifier",
1121                      "name": "x",
1122                      "typeAnnotation": {
1123                        "type": "ETSTypeReference",
1124                        "part": {
1125                          "type": "ETSTypeReferencePart",
1126                          "name": {
1127                            "type": "Identifier",
1128                            "name": "Arr",
1129                            "decorators": [],
1130                            "loc": {
1131                              "start": {
1132                                "line": 26,
1133                                "column": 18,
1134                                "program": "nullableGenericSignature.ets"
1135                              },
1136                              "end": {
1137                                "line": 26,
1138                                "column": 21,
1139                                "program": "nullableGenericSignature.ets"
1140                              }
1141                            }
1142                          },
1143                          "typeParams": {
1144                            "type": "TSTypeParameterInstantiation",
1145                            "params": [
1146                              {
1147                                "type": "ETSTypeReference",
1148                                "part": {
1149                                  "type": "ETSTypeReferencePart",
1150                                  "name": {
1151                                    "type": "Identifier",
1152                                    "name": "Object",
1153                                    "decorators": [],
1154                                    "loc": {
1155                                      "start": {
1156                                        "line": 26,
1157                                        "column": 22,
1158                                        "program": "nullableGenericSignature.ets"
1159                                      },
1160                                      "end": {
1161                                        "line": 26,
1162                                        "column": 28,
1163                                        "program": "nullableGenericSignature.ets"
1164                                      }
1165                                    }
1166                                  },
1167                                  "loc": {
1168                                    "start": {
1169                                      "line": 26,
1170                                      "column": 22,
1171                                      "program": "nullableGenericSignature.ets"
1172                                    },
1173                                    "end": {
1174                                      "line": 26,
1175                                      "column": 29,
1176                                      "program": "nullableGenericSignature.ets"
1177                                    }
1178                                  }
1179                                },
1180                                "loc": {
1181                                  "start": {
1182                                    "line": 26,
1183                                    "column": 22,
1184                                    "program": "nullableGenericSignature.ets"
1185                                  },
1186                                  "end": {
1187                                    "line": 26,
1188                                    "column": 29,
1189                                    "program": "nullableGenericSignature.ets"
1190                                  }
1191                                }
1192                              }
1193                            ],
1194                            "loc": {
1195                              "start": {
1196                                "line": 26,
1197                                "column": 21,
1198                                "program": "nullableGenericSignature.ets"
1199                              },
1200                              "end": {
1201                                "line": 26,
1202                                "column": 29,
1203                                "program": "nullableGenericSignature.ets"
1204                              }
1205                            }
1206                          },
1207                          "loc": {
1208                            "start": {
1209                              "line": 26,
1210                              "column": 18,
1211                              "program": "nullableGenericSignature.ets"
1212                            },
1213                            "end": {
1214                              "line": 26,
1215                              "column": 30,
1216                              "program": "nullableGenericSignature.ets"
1217                            }
1218                          }
1219                        },
1220                        "loc": {
1221                          "start": {
1222                            "line": 26,
1223                            "column": 18,
1224                            "program": "nullableGenericSignature.ets"
1225                          },
1226                          "end": {
1227                            "line": 26,
1228                            "column": 30,
1229                            "program": "nullableGenericSignature.ets"
1230                          }
1231                        }
1232                      },
1233                      "decorators": [],
1234                      "loc": {
1235                        "start": {
1236                          "line": 26,
1237                          "column": 15,
1238                          "program": "nullableGenericSignature.ets"
1239                        },
1240                        "end": {
1241                          "line": 26,
1242                          "column": 30,
1243                          "program": "nullableGenericSignature.ets"
1244                        }
1245                      }
1246                    },
1247                    "loc": {
1248                      "start": {
1249                        "line": 26,
1250                        "column": 15,
1251                        "program": "nullableGenericSignature.ets"
1252                      },
1253                      "end": {
1254                        "line": 26,
1255                        "column": 30,
1256                        "program": "nullableGenericSignature.ets"
1257                      }
1258                    }
1259                  }
1260                ],
1261                "returnType": {
1262                  "type": "ETSPrimitiveType",
1263                  "loc": {
1264                    "start": {
1265                      "line": 26,
1266                      "column": 32,
1267                      "program": "nullableGenericSignature.ets"
1268                    },
1269                    "end": {
1270                      "line": 26,
1271                      "column": 39,
1272                      "program": "nullableGenericSignature.ets"
1273                    }
1274                  }
1275                },
1276                "body": {
1277                  "type": "BlockStatement",
1278                  "statements": [
1279                    {
1280                      "type": "ReturnStatement",
1281                      "argument": {
1282                        "type": "CallExpression",
1283                        "callee": {
1284                          "type": "MemberExpression",
1285                          "object": {
1286                            "type": "Identifier",
1287                            "name": "x",
1288                            "decorators": [],
1289                            "loc": {
1290                              "start": {
1291                                "line": 27,
1292                                "column": 10,
1293                                "program": "nullableGenericSignature.ets"
1294                              },
1295                              "end": {
1296                                "line": 27,
1297                                "column": 11,
1298                                "program": "nullableGenericSignature.ets"
1299                              }
1300                            }
1301                          },
1302                          "property": {
1303                            "type": "Identifier",
1304                            "name": "every",
1305                            "decorators": [],
1306                            "loc": {
1307                              "start": {
1308                                "line": 27,
1309                                "column": 12,
1310                                "program": "nullableGenericSignature.ets"
1311                              },
1312                              "end": {
1313                                "line": 27,
1314                                "column": 17,
1315                                "program": "nullableGenericSignature.ets"
1316                              }
1317                            }
1318                          },
1319                          "computed": false,
1320                          "optional": false,
1321                          "loc": {
1322                            "start": {
1323                              "line": 27,
1324                              "column": 10,
1325                              "program": "nullableGenericSignature.ets"
1326                            },
1327                            "end": {
1328                              "line": 27,
1329                              "column": 17,
1330                              "program": "nullableGenericSignature.ets"
1331                            }
1332                          }
1333                        },
1334                        "arguments": [
1335                          {
1336                            "type": "ArrowFunctionExpression",
1337                            "function": {
1338                              "type": "ScriptFunction",
1339                              "id": null,
1340                              "generator": false,
1341                              "async": false,
1342                              "expression": false,
1343                              "params": [
1344                                {
1345                                  "type": "ETSParameterExpression",
1346                                  "name": {
1347                                    "type": "Identifier",
1348                                    "name": "item",
1349                                    "typeAnnotation": {
1350                                      "type": "ETSTypeReference",
1351                                      "part": {
1352                                        "type": "ETSTypeReferencePart",
1353                                        "name": {
1354                                          "type": "Identifier",
1355                                          "name": "Object",
1356                                          "decorators": [],
1357                                          "loc": {
1358                                            "start": {
1359                                              "line": 27,
1360                                              "column": 25,
1361                                              "program": "nullableGenericSignature.ets"
1362                                            },
1363                                            "end": {
1364                                              "line": 27,
1365                                              "column": 31,
1366                                              "program": "nullableGenericSignature.ets"
1367                                            }
1368                                          }
1369                                        },
1370                                        "loc": {
1371                                          "start": {
1372                                            "line": 27,
1373                                            "column": 25,
1374                                            "program": "nullableGenericSignature.ets"
1375                                          },
1376                                          "end": {
1377                                            "line": 27,
1378                                            "column": 32,
1379                                            "program": "nullableGenericSignature.ets"
1380                                          }
1381                                        }
1382                                      },
1383                                      "loc": {
1384                                        "start": {
1385                                          "line": 27,
1386                                          "column": 25,
1387                                          "program": "nullableGenericSignature.ets"
1388                                        },
1389                                        "end": {
1390                                          "line": 27,
1391                                          "column": 32,
1392                                          "program": "nullableGenericSignature.ets"
1393                                        }
1394                                      }
1395                                    },
1396                                    "decorators": [],
1397                                    "loc": {
1398                                      "start": {
1399                                        "line": 27,
1400                                        "column": 19,
1401                                        "program": "nullableGenericSignature.ets"
1402                                      },
1403                                      "end": {
1404                                        "line": 27,
1405                                        "column": 32,
1406                                        "program": "nullableGenericSignature.ets"
1407                                      }
1408                                    }
1409                                  },
1410                                  "loc": {
1411                                    "start": {
1412                                      "line": 27,
1413                                      "column": 19,
1414                                      "program": "nullableGenericSignature.ets"
1415                                    },
1416                                    "end": {
1417                                      "line": 27,
1418                                      "column": 32,
1419                                      "program": "nullableGenericSignature.ets"
1420                                    }
1421                                  }
1422                                }
1423                              ],
1424                              "returnType": {
1425                                "type": "ETSPrimitiveType",
1426                                "loc": {
1427                                  "start": {
1428                                    "line": 27,
1429                                    "column": 34,
1430                                    "program": "nullableGenericSignature.ets"
1431                                  },
1432                                  "end": {
1433                                    "line": 27,
1434                                    "column": 41,
1435                                    "program": "nullableGenericSignature.ets"
1436                                  }
1437                                }
1438                              },
1439                              "body": {
1440                                "type": "BlockStatement",
1441                                "statements": [
1442                                  {
1443                                    "type": "ReturnStatement",
1444                                    "argument": {
1445                                      "type": "BooleanLiteral",
1446                                      "value": true,
1447                                      "loc": {
1448                                        "start": {
1449                                          "line": 28,
1450                                          "column": 12,
1451                                          "program": "nullableGenericSignature.ets"
1452                                        },
1453                                        "end": {
1454                                          "line": 28,
1455                                          "column": 16,
1456                                          "program": "nullableGenericSignature.ets"
1457                                        }
1458                                      }
1459                                    },
1460                                    "loc": {
1461                                      "start": {
1462                                        "line": 28,
1463                                        "column": 5,
1464                                        "program": "nullableGenericSignature.ets"
1465                                      },
1466                                      "end": {
1467                                        "line": 28,
1468                                        "column": 17,
1469                                        "program": "nullableGenericSignature.ets"
1470                                      }
1471                                    }
1472                                  }
1473                                ],
1474                                "loc": {
1475                                  "start": {
1476                                    "line": 27,
1477                                    "column": 45,
1478                                    "program": "nullableGenericSignature.ets"
1479                                  },
1480                                  "end": {
1481                                    "line": 29,
1482                                    "column": 4,
1483                                    "program": "nullableGenericSignature.ets"
1484                                  }
1485                                }
1486                              },
1487                              "loc": {
1488                                "start": {
1489                                  "line": 27,
1490                                  "column": 18,
1491                                  "program": "nullableGenericSignature.ets"
1492                                },
1493                                "end": {
1494                                  "line": 29,
1495                                  "column": 4,
1496                                  "program": "nullableGenericSignature.ets"
1497                                }
1498                              }
1499                            },
1500                            "loc": {
1501                              "start": {
1502                                "line": 27,
1503                                "column": 18,
1504                                "program": "nullableGenericSignature.ets"
1505                              },
1506                              "end": {
1507                                "line": 29,
1508                                "column": 4,
1509                                "program": "nullableGenericSignature.ets"
1510                              }
1511                            }
1512                          }
1513                        ],
1514                        "optional": false,
1515                        "loc": {
1516                          "start": {
1517                            "line": 27,
1518                            "column": 10,
1519                            "program": "nullableGenericSignature.ets"
1520                          },
1521                          "end": {
1522                            "line": 29,
1523                            "column": 5,
1524                            "program": "nullableGenericSignature.ets"
1525                          }
1526                        }
1527                      },
1528                      "loc": {
1529                        "start": {
1530                          "line": 27,
1531                          "column": 3,
1532                          "program": "nullableGenericSignature.ets"
1533                        },
1534                        "end": {
1535                          "line": 29,
1536                          "column": 5,
1537                          "program": "nullableGenericSignature.ets"
1538                        }
1539                      }
1540                    }
1541                  ],
1542                  "loc": {
1543                    "start": {
1544                      "line": 26,
1545                      "column": 40,
1546                      "program": "nullableGenericSignature.ets"
1547                    },
1548                    "end": {
1549                      "line": 30,
1550                      "column": 2,
1551                      "program": "nullableGenericSignature.ets"
1552                    }
1553                  }
1554                },
1555                "loc": {
1556                  "start": {
1557                    "line": 26,
1558                    "column": 10,
1559                    "program": "nullableGenericSignature.ets"
1560                  },
1561                  "end": {
1562                    "line": 30,
1563                    "column": 2,
1564                    "program": "nullableGenericSignature.ets"
1565                  }
1566                }
1567              },
1568              "loc": {
1569                "start": {
1570                  "line": 26,
1571                  "column": 10,
1572                  "program": "nullableGenericSignature.ets"
1573                },
1574                "end": {
1575                  "line": 30,
1576                  "column": 2,
1577                  "program": "nullableGenericSignature.ets"
1578                }
1579              }
1580            },
1581            "overloads": [],
1582            "decorators": [],
1583            "loc": {
1584              "start": {
1585                "line": 26,
1586                "column": 1,
1587                "program": "nullableGenericSignature.ets"
1588              },
1589              "end": {
1590                "line": 30,
1591                "column": 2,
1592                "program": "nullableGenericSignature.ets"
1593              }
1594            }
1595          }
1596        ],
1597        "loc": {
1598          "start": {
1599            "line": 1,
1600            "column": 1,
1601            "program": "nullableGenericSignature.ets"
1602          },
1603          "end": {
1604            "line": 1,
1605            "column": 1,
1606            "program": "nullableGenericSignature.ets"
1607          }
1608        }
1609      },
1610      "loc": {
1611        "start": {
1612          "line": 1,
1613          "column": 1,
1614          "program": "nullableGenericSignature.ets"
1615        },
1616        "end": {
1617          "line": 1,
1618          "column": 1,
1619          "program": "nullableGenericSignature.ets"
1620        }
1621      }
1622    }
1623  ],
1624  "loc": {
1625    "start": {
1626      "line": 1,
1627      "column": 1,
1628      "program": "nullableGenericSignature.ets"
1629    },
1630    "end": {
1631      "line": 31,
1632      "column": 1,
1633      "program": "nullableGenericSignature.ets"
1634    }
1635  }
1636}
1637