• 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": "C",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 23,
14              "column": 7,
15              "program": "null_coalescing_generic_1.ets"
16            },
17            "end": {
18              "line": 23,
19              "column": 8,
20              "program": "null_coalescing_generic_1.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "constructor",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 23,
36                  "column": 10,
37                  "program": "null_coalescing_generic_1.ets"
38                },
39                "end": {
40                  "line": 23,
41                  "column": 10,
42                  "program": "null_coalescing_generic_1.ets"
43                }
44              }
45            },
46            "kind": "constructor",
47            "static": false,
48            "optional": false,
49            "computed": false,
50            "value": {
51              "type": "FunctionExpression",
52              "function": {
53                "type": "ScriptFunction",
54                "id": {
55                  "type": "Identifier",
56                  "name": "constructor",
57                  "decorators": [],
58                  "loc": {
59                    "start": {
60                      "line": 23,
61                      "column": 10,
62                      "program": "null_coalescing_generic_1.ets"
63                    },
64                    "end": {
65                      "line": 23,
66                      "column": 10,
67                      "program": "null_coalescing_generic_1.ets"
68                    }
69                  }
70                },
71                "generator": false,
72                "async": false,
73                "expression": false,
74                "params": [],
75                "body": {
76                  "type": "BlockStatement",
77                  "statements": [],
78                  "loc": {
79                    "start": {
80                      "line": 23,
81                      "column": 10,
82                      "program": "null_coalescing_generic_1.ets"
83                    },
84                    "end": {
85                      "line": 23,
86                      "column": 10,
87                      "program": "null_coalescing_generic_1.ets"
88                    }
89                  }
90                },
91                "loc": {
92                  "start": {
93                    "line": 23,
94                    "column": 10,
95                    "program": "null_coalescing_generic_1.ets"
96                  },
97                  "end": {
98                    "line": 23,
99                    "column": 10,
100                    "program": "null_coalescing_generic_1.ets"
101                  }
102                }
103              },
104              "loc": {
105                "start": {
106                  "line": 23,
107                  "column": 10,
108                  "program": "null_coalescing_generic_1.ets"
109                },
110                "end": {
111                  "line": 23,
112                  "column": 10,
113                  "program": "null_coalescing_generic_1.ets"
114                }
115              }
116            },
117            "overloads": [],
118            "decorators": [],
119            "loc": {
120              "start": {
121                "line": 1,
122                "column": 1,
123                "program": null
124              },
125              "end": {
126                "line": 1,
127                "column": 1,
128                "program": null
129              }
130            }
131          }
132        ],
133        "loc": {
134          "start": {
135            "line": 23,
136            "column": 9,
137            "program": "null_coalescing_generic_1.ets"
138          },
139          "end": {
140            "line": 24,
141            "column": 9,
142            "program": "null_coalescing_generic_1.ets"
143          }
144        }
145      },
146      "loc": {
147        "start": {
148          "line": 23,
149          "column": 1,
150          "program": "null_coalescing_generic_1.ets"
151        },
152        "end": {
153          "line": 24,
154          "column": 9,
155          "program": "null_coalescing_generic_1.ets"
156        }
157      }
158    },
159    {
160      "type": "ClassDeclaration",
161      "definition": {
162        "id": {
163          "type": "Identifier",
164          "name": "ETSGLOBAL",
165          "decorators": [],
166          "loc": {
167            "start": {
168              "line": 1,
169              "column": 1,
170              "program": "null_coalescing_generic_1.ets"
171            },
172            "end": {
173              "line": 1,
174              "column": 1,
175              "program": "null_coalescing_generic_1.ets"
176            }
177          }
178        },
179        "superClass": null,
180        "implements": [],
181        "body": [
182          {
183            "type": "MethodDefinition",
184            "key": {
185              "type": "Identifier",
186              "name": "main",
187              "decorators": [],
188              "loc": {
189                "start": {
190                  "line": 1,
191                  "column": 1,
192                  "program": null
193                },
194                "end": {
195                  "line": 1,
196                  "column": 1,
197                  "program": null
198                }
199              }
200            },
201            "kind": "method",
202            "accessibility": "public",
203            "static": true,
204            "optional": false,
205            "computed": false,
206            "value": {
207              "type": "FunctionExpression",
208              "function": {
209                "type": "ScriptFunction",
210                "id": {
211                  "type": "Identifier",
212                  "name": "main",
213                  "decorators": [],
214                  "loc": {
215                    "start": {
216                      "line": 1,
217                      "column": 1,
218                      "program": null
219                    },
220                    "end": {
221                      "line": 1,
222                      "column": 1,
223                      "program": null
224                    }
225                  }
226                },
227                "generator": false,
228                "async": false,
229                "expression": false,
230                "params": [],
231                "body": {
232                  "type": "BlockStatement",
233                  "statements": [],
234                  "loc": {
235                    "start": {
236                      "line": 1,
237                      "column": 1,
238                      "program": null
239                    },
240                    "end": {
241                      "line": 1,
242                      "column": 1,
243                      "program": null
244                    }
245                  }
246                },
247                "loc": {
248                  "start": {
249                    "line": 1,
250                    "column": 1,
251                    "program": null
252                  },
253                  "end": {
254                    "line": 1,
255                    "column": 1,
256                    "program": null
257                  }
258                }
259              },
260              "loc": {
261                "start": {
262                  "line": 1,
263                  "column": 1,
264                  "program": null
265                },
266                "end": {
267                  "line": 1,
268                  "column": 1,
269                  "program": null
270                }
271              }
272            },
273            "overloads": [],
274            "decorators": [],
275            "loc": {
276              "start": {
277                "line": 1,
278                "column": 1,
279                "program": "null_coalescing_generic_1.ets"
280              },
281              "end": {
282                "line": 1,
283                "column": 1,
284                "program": "null_coalescing_generic_1.ets"
285              }
286            }
287          },
288          {
289            "type": "MethodDefinition",
290            "key": {
291              "type": "Identifier",
292              "name": "_$init$_",
293              "decorators": [],
294              "loc": {
295                "start": {
296                  "line": 1,
297                  "column": 1,
298                  "program": null
299                },
300                "end": {
301                  "line": 1,
302                  "column": 1,
303                  "program": null
304                }
305              }
306            },
307            "kind": "method",
308            "accessibility": "public",
309            "static": true,
310            "optional": false,
311            "computed": false,
312            "value": {
313              "type": "FunctionExpression",
314              "function": {
315                "type": "ScriptFunction",
316                "id": {
317                  "type": "Identifier",
318                  "name": "_$init$_",
319                  "decorators": [],
320                  "loc": {
321                    "start": {
322                      "line": 1,
323                      "column": 1,
324                      "program": null
325                    },
326                    "end": {
327                      "line": 1,
328                      "column": 1,
329                      "program": null
330                    }
331                  }
332                },
333                "generator": false,
334                "async": false,
335                "expression": false,
336                "params": [],
337                "body": {
338                  "type": "BlockStatement",
339                  "statements": [],
340                  "loc": {
341                    "start": {
342                      "line": 1,
343                      "column": 1,
344                      "program": null
345                    },
346                    "end": {
347                      "line": 1,
348                      "column": 1,
349                      "program": null
350                    }
351                  }
352                },
353                "loc": {
354                  "start": {
355                    "line": 1,
356                    "column": 1,
357                    "program": null
358                  },
359                  "end": {
360                    "line": 1,
361                    "column": 1,
362                    "program": null
363                  }
364                }
365              },
366              "loc": {
367                "start": {
368                  "line": 1,
369                  "column": 1,
370                  "program": null
371                },
372                "end": {
373                  "line": 1,
374                  "column": 1,
375                  "program": null
376                }
377              }
378            },
379            "overloads": [],
380            "decorators": [],
381            "loc": {
382              "start": {
383                "line": 1,
384                "column": 1,
385                "program": "null_coalescing_generic_1.ets"
386              },
387              "end": {
388                "line": 1,
389                "column": 1,
390                "program": "null_coalescing_generic_1.ets"
391              }
392            }
393          },
394          {
395            "type": "MethodDefinition",
396            "key": {
397              "type": "Identifier",
398              "name": "foo",
399              "decorators": [],
400              "loc": {
401                "start": {
402                  "line": 16,
403                  "column": 10,
404                  "program": "null_coalescing_generic_1.ets"
405                },
406                "end": {
407                  "line": 16,
408                  "column": 13,
409                  "program": "null_coalescing_generic_1.ets"
410                }
411              }
412            },
413            "kind": "method",
414            "accessibility": "public",
415            "static": true,
416            "optional": false,
417            "computed": false,
418            "value": {
419              "type": "FunctionExpression",
420              "function": {
421                "type": "ScriptFunction",
422                "id": {
423                  "type": "Identifier",
424                  "name": "foo",
425                  "decorators": [],
426                  "loc": {
427                    "start": {
428                      "line": 16,
429                      "column": 10,
430                      "program": "null_coalescing_generic_1.ets"
431                    },
432                    "end": {
433                      "line": 16,
434                      "column": 13,
435                      "program": "null_coalescing_generic_1.ets"
436                    }
437                  }
438                },
439                "generator": false,
440                "async": false,
441                "expression": false,
442                "params": [
443                  {
444                    "type": "ETSParameterExpression",
445                    "name": {
446                      "type": "Identifier",
447                      "name": "data",
448                      "typeAnnotation": {
449                        "type": "ETSUnionType",
450                        "types": [
451                          {
452                            "type": "ETSTypeReference",
453                            "part": {
454                              "type": "ETSTypeReferencePart",
455                              "name": {
456                                "type": "Identifier",
457                                "name": "C",
458                                "decorators": [],
459                                "loc": {
460                                  "start": {
461                                    "line": 17,
462                                    "column": 11,
463                                    "program": "null_coalescing_generic_1.ets"
464                                  },
465                                  "end": {
466                                    "line": 17,
467                                    "column": 12,
468                                    "program": "null_coalescing_generic_1.ets"
469                                  }
470                                }
471                              },
472                              "loc": {
473                                "start": {
474                                  "line": 17,
475                                  "column": 11,
476                                  "program": "null_coalescing_generic_1.ets"
477                                },
478                                "end": {
479                                  "line": 17,
480                                  "column": 14,
481                                  "program": "null_coalescing_generic_1.ets"
482                                }
483                              }
484                            },
485                            "loc": {
486                              "start": {
487                                "line": 17,
488                                "column": 11,
489                                "program": "null_coalescing_generic_1.ets"
490                              },
491                              "end": {
492                                "line": 17,
493                                "column": 14,
494                                "program": "null_coalescing_generic_1.ets"
495                              }
496                            }
497                          },
498                          {
499                            "type": "ETSUndefinedType",
500                            "loc": {
501                              "start": {
502                                "line": 17,
503                                "column": 15,
504                                "program": "null_coalescing_generic_1.ets"
505                              },
506                              "end": {
507                                "line": 17,
508                                "column": 24,
509                                "program": "null_coalescing_generic_1.ets"
510                              }
511                            }
512                          }
513                        ],
514                        "loc": {
515                          "start": {
516                            "line": 17,
517                            "column": 11,
518                            "program": "null_coalescing_generic_1.ets"
519                          },
520                          "end": {
521                            "line": 17,
522                            "column": 24,
523                            "program": "null_coalescing_generic_1.ets"
524                          }
525                        }
526                      },
527                      "decorators": [],
528                      "loc": {
529                        "start": {
530                          "line": 17,
531                          "column": 5,
532                          "program": "null_coalescing_generic_1.ets"
533                        },
534                        "end": {
535                          "line": 17,
536                          "column": 24,
537                          "program": "null_coalescing_generic_1.ets"
538                        }
539                      }
540                    },
541                    "loc": {
542                      "start": {
543                        "line": 17,
544                        "column": 5,
545                        "program": "null_coalescing_generic_1.ets"
546                      },
547                      "end": {
548                        "line": 17,
549                        "column": 24,
550                        "program": "null_coalescing_generic_1.ets"
551                      }
552                    }
553                  },
554                  {
555                    "type": "ETSParameterExpression",
556                    "name": {
557                      "type": "Identifier",
558                      "name": "exec",
559                      "typeAnnotation": {
560                        "type": "ETSFunctionType",
561                        "params": [
562                          {
563                            "type": "ETSParameterExpression",
564                            "name": {
565                              "type": "Identifier",
566                              "name": "pointer",
567                              "typeAnnotation": {
568                                "type": "ETSUnionType",
569                                "types": [
570                                  {
571                                    "type": "ETSTypeReference",
572                                    "part": {
573                                      "type": "ETSTypeReferencePart",
574                                      "name": {
575                                        "type": "Identifier",
576                                        "name": "C",
577                                        "decorators": [],
578                                        "loc": {
579                                          "start": {
580                                            "line": 18,
581                                            "column": 21,
582                                            "program": "null_coalescing_generic_1.ets"
583                                          },
584                                          "end": {
585                                            "line": 18,
586                                            "column": 22,
587                                            "program": "null_coalescing_generic_1.ets"
588                                          }
589                                        }
590                                      },
591                                      "loc": {
592                                        "start": {
593                                          "line": 18,
594                                          "column": 21,
595                                          "program": "null_coalescing_generic_1.ets"
596                                        },
597                                        "end": {
598                                          "line": 18,
599                                          "column": 24,
600                                          "program": "null_coalescing_generic_1.ets"
601                                        }
602                                      }
603                                    },
604                                    "loc": {
605                                      "start": {
606                                        "line": 18,
607                                        "column": 21,
608                                        "program": "null_coalescing_generic_1.ets"
609                                      },
610                                      "end": {
611                                        "line": 18,
612                                        "column": 24,
613                                        "program": "null_coalescing_generic_1.ets"
614                                      }
615                                    }
616                                  },
617                                  {
618                                    "type": "ETSUndefinedType",
619                                    "loc": {
620                                      "start": {
621                                        "line": 18,
622                                        "column": 25,
623                                        "program": "null_coalescing_generic_1.ets"
624                                      },
625                                      "end": {
626                                        "line": 18,
627                                        "column": 34,
628                                        "program": "null_coalescing_generic_1.ets"
629                                      }
630                                    }
631                                  }
632                                ],
633                                "loc": {
634                                  "start": {
635                                    "line": 18,
636                                    "column": 21,
637                                    "program": "null_coalescing_generic_1.ets"
638                                  },
639                                  "end": {
640                                    "line": 18,
641                                    "column": 34,
642                                    "program": "null_coalescing_generic_1.ets"
643                                  }
644                                }
645                              },
646                              "decorators": [],
647                              "loc": {
648                                "start": {
649                                  "line": 18,
650                                  "column": 12,
651                                  "program": "null_coalescing_generic_1.ets"
652                                },
653                                "end": {
654                                  "line": 18,
655                                  "column": 34,
656                                  "program": "null_coalescing_generic_1.ets"
657                                }
658                              }
659                            },
660                            "loc": {
661                              "start": {
662                                "line": 18,
663                                "column": 12,
664                                "program": "null_coalescing_generic_1.ets"
665                              },
666                              "end": {
667                                "line": 18,
668                                "column": 34,
669                                "program": "null_coalescing_generic_1.ets"
670                              }
671                            }
672                          }
673                        ],
674                        "returnType": {
675                          "type": "ETSTypeReference",
676                          "part": {
677                            "type": "ETSTypeReferencePart",
678                            "name": {
679                              "type": "Identifier",
680                              "name": "R",
681                              "decorators": [],
682                              "loc": {
683                                "start": {
684                                  "line": 18,
685                                  "column": 39,
686                                  "program": "null_coalescing_generic_1.ets"
687                                },
688                                "end": {
689                                  "line": 18,
690                                  "column": 40,
691                                  "program": "null_coalescing_generic_1.ets"
692                                }
693                              }
694                            },
695                            "loc": {
696                              "start": {
697                                "line": 18,
698                                "column": 39,
699                                "program": "null_coalescing_generic_1.ets"
700                              },
701                              "end": {
702                                "line": 19,
703                                "column": 2,
704                                "program": "null_coalescing_generic_1.ets"
705                              }
706                            }
707                          },
708                          "loc": {
709                            "start": {
710                              "line": 18,
711                              "column": 39,
712                              "program": "null_coalescing_generic_1.ets"
713                            },
714                            "end": {
715                              "line": 19,
716                              "column": 2,
717                              "program": "null_coalescing_generic_1.ets"
718                            }
719                          }
720                        },
721                        "loc": {
722                          "start": {
723                            "line": 18,
724                            "column": 11,
725                            "program": "null_coalescing_generic_1.ets"
726                          },
727                          "end": {
728                            "line": 19,
729                            "column": 2,
730                            "program": "null_coalescing_generic_1.ets"
731                          }
732                        }
733                      },
734                      "decorators": [],
735                      "loc": {
736                        "start": {
737                          "line": 18,
738                          "column": 5,
739                          "program": "null_coalescing_generic_1.ets"
740                        },
741                        "end": {
742                          "line": 19,
743                          "column": 2,
744                          "program": "null_coalescing_generic_1.ets"
745                        }
746                      }
747                    },
748                    "loc": {
749                      "start": {
750                        "line": 18,
751                        "column": 5,
752                        "program": "null_coalescing_generic_1.ets"
753                      },
754                      "end": {
755                        "line": 19,
756                        "column": 2,
757                        "program": "null_coalescing_generic_1.ets"
758                      }
759                    }
760                  }
761                ],
762                "returnType": {
763                  "type": "ETSTypeReference",
764                  "part": {
765                    "type": "ETSTypeReferencePart",
766                    "name": {
767                      "type": "Identifier",
768                      "name": "R",
769                      "decorators": [],
770                      "loc": {
771                        "start": {
772                          "line": 19,
773                          "column": 4,
774                          "program": "null_coalescing_generic_1.ets"
775                        },
776                        "end": {
777                          "line": 19,
778                          "column": 5,
779                          "program": "null_coalescing_generic_1.ets"
780                        }
781                      }
782                    },
783                    "loc": {
784                      "start": {
785                        "line": 19,
786                        "column": 4,
787                        "program": "null_coalescing_generic_1.ets"
788                      },
789                      "end": {
790                        "line": 19,
791                        "column": 7,
792                        "program": "null_coalescing_generic_1.ets"
793                      }
794                    }
795                  },
796                  "loc": {
797                    "start": {
798                      "line": 19,
799                      "column": 4,
800                      "program": "null_coalescing_generic_1.ets"
801                    },
802                    "end": {
803                      "line": 19,
804                      "column": 7,
805                      "program": "null_coalescing_generic_1.ets"
806                    }
807                  }
808                },
809                "typeParameters": {
810                  "type": "TSTypeParameterDeclaration",
811                  "params": [
812                    {
813                      "type": "TSTypeParameter",
814                      "name": {
815                        "type": "Identifier",
816                        "name": "C",
817                        "decorators": [],
818                        "loc": {
819                          "start": {
820                            "line": 16,
821                            "column": 14,
822                            "program": "null_coalescing_generic_1.ets"
823                          },
824                          "end": {
825                            "line": 16,
826                            "column": 15,
827                            "program": "null_coalescing_generic_1.ets"
828                          }
829                        }
830                      },
831                      "constraint": {
832                        "type": "ETSTypeReference",
833                        "part": {
834                          "type": "ETSTypeReferencePart",
835                          "name": {
836                            "type": "Identifier",
837                            "name": "Uint8Array",
838                            "decorators": [],
839                            "loc": {
840                              "start": {
841                                "line": 16,
842                                "column": 24,
843                                "program": "null_coalescing_generic_1.ets"
844                              },
845                              "end": {
846                                "line": 16,
847                                "column": 34,
848                                "program": "null_coalescing_generic_1.ets"
849                              }
850                            }
851                          },
852                          "loc": {
853                            "start": {
854                              "line": 16,
855                              "column": 24,
856                              "program": "null_coalescing_generic_1.ets"
857                            },
858                            "end": {
859                              "line": 16,
860                              "column": 35,
861                              "program": "null_coalescing_generic_1.ets"
862                            }
863                          }
864                        },
865                        "loc": {
866                          "start": {
867                            "line": 16,
868                            "column": 24,
869                            "program": "null_coalescing_generic_1.ets"
870                          },
871                          "end": {
872                            "line": 16,
873                            "column": 35,
874                            "program": "null_coalescing_generic_1.ets"
875                          }
876                        }
877                      },
878                      "loc": {
879                        "start": {
880                          "line": 16,
881                          "column": 14,
882                          "program": "null_coalescing_generic_1.ets"
883                        },
884                        "end": {
885                          "line": 16,
886                          "column": 35,
887                          "program": "null_coalescing_generic_1.ets"
888                        }
889                      }
890                    },
891                    {
892                      "type": "TSTypeParameter",
893                      "name": {
894                        "type": "Identifier",
895                        "name": "R",
896                        "decorators": [],
897                        "loc": {
898                          "start": {
899                            "line": 16,
900                            "column": 36,
901                            "program": "null_coalescing_generic_1.ets"
902                          },
903                          "end": {
904                            "line": 16,
905                            "column": 37,
906                            "program": "null_coalescing_generic_1.ets"
907                          }
908                        }
909                      },
910                      "loc": {
911                        "start": {
912                          "line": 16,
913                          "column": 36,
914                          "program": "null_coalescing_generic_1.ets"
915                        },
916                        "end": {
917                          "line": 16,
918                          "column": 38,
919                          "program": "null_coalescing_generic_1.ets"
920                        }
921                      }
922                    }
923                  ],
924                  "loc": {
925                    "start": {
926                      "line": 16,
927                      "column": 13,
928                      "program": "null_coalescing_generic_1.ets"
929                    },
930                    "end": {
931                      "line": 16,
932                      "column": 38,
933                      "program": "null_coalescing_generic_1.ets"
934                    }
935                  }
936                },
937                "body": {
938                  "type": "BlockStatement",
939                  "statements": [
940                    {
941                      "type": "ReturnStatement",
942                      "argument": {
943                        "type": "CallExpression",
944                        "callee": {
945                          "type": "Identifier",
946                          "name": "exec",
947                          "decorators": [],
948                          "loc": {
949                            "start": {
950                              "line": 20,
951                              "column": 12,
952                              "program": "null_coalescing_generic_1.ets"
953                            },
954                            "end": {
955                              "line": 20,
956                              "column": 16,
957                              "program": "null_coalescing_generic_1.ets"
958                            }
959                          }
960                        },
961                        "arguments": [
962                          {
963                            "type": "LogicalExpression",
964                            "operator": "??",
965                            "left": {
966                              "type": "Identifier",
967                              "name": "data",
968                              "decorators": [],
969                              "loc": {
970                                "start": {
971                                  "line": 20,
972                                  "column": 17,
973                                  "program": "null_coalescing_generic_1.ets"
974                                },
975                                "end": {
976                                  "line": 20,
977                                  "column": 21,
978                                  "program": "null_coalescing_generic_1.ets"
979                                }
980                              }
981                            },
982                            "right": {
983                              "type": "UndefinedLiteral",
984                              "value": "undefined",
985                              "loc": {
986                                "start": {
987                                  "line": 20,
988                                  "column": 25,
989                                  "program": "null_coalescing_generic_1.ets"
990                                },
991                                "end": {
992                                  "line": 20,
993                                  "column": 34,
994                                  "program": "null_coalescing_generic_1.ets"
995                                }
996                              }
997                            },
998                            "loc": {
999                              "start": {
1000                                "line": 20,
1001                                "column": 17,
1002                                "program": "null_coalescing_generic_1.ets"
1003                              },
1004                              "end": {
1005                                "line": 20,
1006                                "column": 34,
1007                                "program": "null_coalescing_generic_1.ets"
1008                              }
1009                            }
1010                          }
1011                        ],
1012                        "optional": false,
1013                        "loc": {
1014                          "start": {
1015                            "line": 20,
1016                            "column": 12,
1017                            "program": "null_coalescing_generic_1.ets"
1018                          },
1019                          "end": {
1020                            "line": 20,
1021                            "column": 35,
1022                            "program": "null_coalescing_generic_1.ets"
1023                          }
1024                        }
1025                      },
1026                      "loc": {
1027                        "start": {
1028                          "line": 20,
1029                          "column": 5,
1030                          "program": "null_coalescing_generic_1.ets"
1031                        },
1032                        "end": {
1033                          "line": 20,
1034                          "column": 36,
1035                          "program": "null_coalescing_generic_1.ets"
1036                        }
1037                      }
1038                    }
1039                  ],
1040                  "loc": {
1041                    "start": {
1042                      "line": 19,
1043                      "column": 6,
1044                      "program": "null_coalescing_generic_1.ets"
1045                    },
1046                    "end": {
1047                      "line": 21,
1048                      "column": 2,
1049                      "program": "null_coalescing_generic_1.ets"
1050                    }
1051                  }
1052                },
1053                "loc": {
1054                  "start": {
1055                    "line": 16,
1056                    "column": 10,
1057                    "program": "null_coalescing_generic_1.ets"
1058                  },
1059                  "end": {
1060                    "line": 21,
1061                    "column": 2,
1062                    "program": "null_coalescing_generic_1.ets"
1063                  }
1064                }
1065              },
1066              "loc": {
1067                "start": {
1068                  "line": 16,
1069                  "column": 10,
1070                  "program": "null_coalescing_generic_1.ets"
1071                },
1072                "end": {
1073                  "line": 21,
1074                  "column": 2,
1075                  "program": "null_coalescing_generic_1.ets"
1076                }
1077              }
1078            },
1079            "overloads": [],
1080            "decorators": [],
1081            "loc": {
1082              "start": {
1083                "line": 16,
1084                "column": 1,
1085                "program": "null_coalescing_generic_1.ets"
1086              },
1087              "end": {
1088                "line": 21,
1089                "column": 2,
1090                "program": "null_coalescing_generic_1.ets"
1091              }
1092            }
1093          },
1094          {
1095            "type": "MethodDefinition",
1096            "key": {
1097              "type": "Identifier",
1098              "name": "bar",
1099              "decorators": [],
1100              "loc": {
1101                "start": {
1102                  "line": 24,
1103                  "column": 10,
1104                  "program": "null_coalescing_generic_1.ets"
1105                },
1106                "end": {
1107                  "line": 24,
1108                  "column": 13,
1109                  "program": "null_coalescing_generic_1.ets"
1110                }
1111              }
1112            },
1113            "kind": "method",
1114            "accessibility": "public",
1115            "static": true,
1116            "optional": false,
1117            "computed": false,
1118            "value": {
1119              "type": "FunctionExpression",
1120              "function": {
1121                "type": "ScriptFunction",
1122                "id": {
1123                  "type": "Identifier",
1124                  "name": "bar",
1125                  "decorators": [],
1126                  "loc": {
1127                    "start": {
1128                      "line": 24,
1129                      "column": 10,
1130                      "program": "null_coalescing_generic_1.ets"
1131                    },
1132                    "end": {
1133                      "line": 24,
1134                      "column": 13,
1135                      "program": "null_coalescing_generic_1.ets"
1136                    }
1137                  }
1138                },
1139                "generator": false,
1140                "async": false,
1141                "expression": false,
1142                "params": [
1143                  {
1144                    "type": "ETSParameterExpression",
1145                    "name": {
1146                      "type": "Identifier",
1147                      "name": "data",
1148                      "typeAnnotation": {
1149                        "type": "ETSTypeReference",
1150                        "part": {
1151                          "type": "ETSTypeReferencePart",
1152                          "name": {
1153                            "type": "Identifier",
1154                            "name": "T",
1155                            "decorators": [],
1156                            "loc": {
1157                              "start": {
1158                                "line": 24,
1159                                "column": 35,
1160                                "program": "null_coalescing_generic_1.ets"
1161                              },
1162                              "end": {
1163                                "line": 24,
1164                                "column": 36,
1165                                "program": "null_coalescing_generic_1.ets"
1166                              }
1167                            }
1168                          },
1169                          "loc": {
1170                            "start": {
1171                              "line": 24,
1172                              "column": 35,
1173                              "program": "null_coalescing_generic_1.ets"
1174                            },
1175                            "end": {
1176                              "line": 24,
1177                              "column": 37,
1178                              "program": "null_coalescing_generic_1.ets"
1179                            }
1180                          }
1181                        },
1182                        "loc": {
1183                          "start": {
1184                            "line": 24,
1185                            "column": 35,
1186                            "program": "null_coalescing_generic_1.ets"
1187                          },
1188                          "end": {
1189                            "line": 24,
1190                            "column": 37,
1191                            "program": "null_coalescing_generic_1.ets"
1192                          }
1193                        }
1194                      },
1195                      "decorators": [],
1196                      "loc": {
1197                        "start": {
1198                          "line": 24,
1199                          "column": 29,
1200                          "program": "null_coalescing_generic_1.ets"
1201                        },
1202                        "end": {
1203                          "line": 24,
1204                          "column": 37,
1205                          "program": "null_coalescing_generic_1.ets"
1206                        }
1207                      }
1208                    },
1209                    "loc": {
1210                      "start": {
1211                        "line": 24,
1212                        "column": 29,
1213                        "program": "null_coalescing_generic_1.ets"
1214                      },
1215                      "end": {
1216                        "line": 24,
1217                        "column": 37,
1218                        "program": "null_coalescing_generic_1.ets"
1219                      }
1220                    }
1221                  }
1222                ],
1223                "returnType": {
1224                  "type": "ETSPrimitiveType",
1225                  "loc": {
1226                    "start": {
1227                      "line": 24,
1228                      "column": 39,
1229                      "program": "null_coalescing_generic_1.ets"
1230                    },
1231                    "end": {
1232                      "line": 24,
1233                      "column": 43,
1234                      "program": "null_coalescing_generic_1.ets"
1235                    }
1236                  }
1237                },
1238                "typeParameters": {
1239                  "type": "TSTypeParameterDeclaration",
1240                  "params": [
1241                    {
1242                      "type": "TSTypeParameter",
1243                      "name": {
1244                        "type": "Identifier",
1245                        "name": "T",
1246                        "decorators": [],
1247                        "loc": {
1248                          "start": {
1249                            "line": 24,
1250                            "column": 14,
1251                            "program": "null_coalescing_generic_1.ets"
1252                          },
1253                          "end": {
1254                            "line": 24,
1255                            "column": 15,
1256                            "program": "null_coalescing_generic_1.ets"
1257                          }
1258                        }
1259                      },
1260                      "constraint": {
1261                        "type": "ETSTypeReference",
1262                        "part": {
1263                          "type": "ETSTypeReferencePart",
1264                          "name": {
1265                            "type": "Identifier",
1266                            "name": "Int",
1267                            "decorators": [],
1268                            "loc": {
1269                              "start": {
1270                                "line": 24,
1271                                "column": 24,
1272                                "program": "null_coalescing_generic_1.ets"
1273                              },
1274                              "end": {
1275                                "line": 24,
1276                                "column": 27,
1277                                "program": "null_coalescing_generic_1.ets"
1278                              }
1279                            }
1280                          },
1281                          "loc": {
1282                            "start": {
1283                              "line": 24,
1284                              "column": 24,
1285                              "program": "null_coalescing_generic_1.ets"
1286                            },
1287                            "end": {
1288                              "line": 24,
1289                              "column": 28,
1290                              "program": "null_coalescing_generic_1.ets"
1291                            }
1292                          }
1293                        },
1294                        "loc": {
1295                          "start": {
1296                            "line": 24,
1297                            "column": 24,
1298                            "program": "null_coalescing_generic_1.ets"
1299                          },
1300                          "end": {
1301                            "line": 24,
1302                            "column": 28,
1303                            "program": "null_coalescing_generic_1.ets"
1304                          }
1305                        }
1306                      },
1307                      "loc": {
1308                        "start": {
1309                          "line": 24,
1310                          "column": 14,
1311                          "program": "null_coalescing_generic_1.ets"
1312                        },
1313                        "end": {
1314                          "line": 24,
1315                          "column": 28,
1316                          "program": "null_coalescing_generic_1.ets"
1317                        }
1318                      }
1319                    }
1320                  ],
1321                  "loc": {
1322                    "start": {
1323                      "line": 24,
1324                      "column": 13,
1325                      "program": "null_coalescing_generic_1.ets"
1326                    },
1327                    "end": {
1328                      "line": 24,
1329                      "column": 28,
1330                      "program": "null_coalescing_generic_1.ets"
1331                    }
1332                  }
1333                },
1334                "body": {
1335                  "type": "BlockStatement",
1336                  "statements": [
1337                    {
1338                      "type": "VariableDeclaration",
1339                      "declarations": [
1340                        {
1341                          "type": "VariableDeclarator",
1342                          "id": {
1343                            "type": "Identifier",
1344                            "name": "c_class",
1345                            "typeAnnotation": {
1346                              "type": "ETSTypeReference",
1347                              "part": {
1348                                "type": "ETSTypeReferencePart",
1349                                "name": {
1350                                  "type": "Identifier",
1351                                  "name": "C",
1352                                  "decorators": [],
1353                                  "loc": {
1354                                    "start": {
1355                                      "line": 25,
1356                                      "column": 18,
1357                                      "program": "null_coalescing_generic_1.ets"
1358                                    },
1359                                    "end": {
1360                                      "line": 25,
1361                                      "column": 19,
1362                                      "program": "null_coalescing_generic_1.ets"
1363                                    }
1364                                  }
1365                                },
1366                                "loc": {
1367                                  "start": {
1368                                    "line": 25,
1369                                    "column": 18,
1370                                    "program": "null_coalescing_generic_1.ets"
1371                                  },
1372                                  "end": {
1373                                    "line": 25,
1374                                    "column": 21,
1375                                    "program": "null_coalescing_generic_1.ets"
1376                                  }
1377                                }
1378                              },
1379                              "loc": {
1380                                "start": {
1381                                  "line": 25,
1382                                  "column": 18,
1383                                  "program": "null_coalescing_generic_1.ets"
1384                                },
1385                                "end": {
1386                                  "line": 25,
1387                                  "column": 21,
1388                                  "program": "null_coalescing_generic_1.ets"
1389                                }
1390                              }
1391                            },
1392                            "decorators": [],
1393                            "loc": {
1394                              "start": {
1395                                "line": 25,
1396                                "column": 9,
1397                                "program": "null_coalescing_generic_1.ets"
1398                              },
1399                              "end": {
1400                                "line": 25,
1401                                "column": 16,
1402                                "program": "null_coalescing_generic_1.ets"
1403                              }
1404                            }
1405                          },
1406                          "init": {
1407                            "type": "ETSNewClassInstanceExpression",
1408                            "typeReference": {
1409                              "type": "ETSTypeReference",
1410                              "part": {
1411                                "type": "ETSTypeReferencePart",
1412                                "name": {
1413                                  "type": "Identifier",
1414                                  "name": "C",
1415                                  "decorators": [],
1416                                  "loc": {
1417                                    "start": {
1418                                      "line": 25,
1419                                      "column": 26,
1420                                      "program": "null_coalescing_generic_1.ets"
1421                                    },
1422                                    "end": {
1423                                      "line": 25,
1424                                      "column": 27,
1425                                      "program": "null_coalescing_generic_1.ets"
1426                                    }
1427                                  }
1428                                },
1429                                "loc": {
1430                                  "start": {
1431                                    "line": 25,
1432                                    "column": 26,
1433                                    "program": "null_coalescing_generic_1.ets"
1434                                  },
1435                                  "end": {
1436                                    "line": 25,
1437                                    "column": 28,
1438                                    "program": "null_coalescing_generic_1.ets"
1439                                  }
1440                                }
1441                              },
1442                              "loc": {
1443                                "start": {
1444                                  "line": 25,
1445                                  "column": 26,
1446                                  "program": "null_coalescing_generic_1.ets"
1447                                },
1448                                "end": {
1449                                  "line": 25,
1450                                  "column": 28,
1451                                  "program": "null_coalescing_generic_1.ets"
1452                                }
1453                              }
1454                            },
1455                            "arguments": [],
1456                            "loc": {
1457                              "start": {
1458                                "line": 25,
1459                                "column": 22,
1460                                "program": "null_coalescing_generic_1.ets"
1461                              },
1462                              "end": {
1463                                "line": 25,
1464                                "column": 30,
1465                                "program": "null_coalescing_generic_1.ets"
1466                              }
1467                            }
1468                          },
1469                          "loc": {
1470                            "start": {
1471                              "line": 25,
1472                              "column": 9,
1473                              "program": "null_coalescing_generic_1.ets"
1474                            },
1475                            "end": {
1476                              "line": 25,
1477                              "column": 30,
1478                              "program": "null_coalescing_generic_1.ets"
1479                            }
1480                          }
1481                        }
1482                      ],
1483                      "kind": "let",
1484                      "loc": {
1485                        "start": {
1486                          "line": 25,
1487                          "column": 5,
1488                          "program": "null_coalescing_generic_1.ets"
1489                        },
1490                        "end": {
1491                          "line": 25,
1492                          "column": 30,
1493                          "program": "null_coalescing_generic_1.ets"
1494                        }
1495                      }
1496                    },
1497                    {
1498                      "type": "VariableDeclaration",
1499                      "declarations": [
1500                        {
1501                          "type": "VariableDeclarator",
1502                          "id": {
1503                            "type": "Identifier",
1504                            "name": "myvar",
1505                            "typeAnnotation": {
1506                              "type": "ETSTypeReference",
1507                              "part": {
1508                                "type": "ETSTypeReferencePart",
1509                                "name": {
1510                                  "type": "Identifier",
1511                                  "name": "Object",
1512                                  "decorators": [],
1513                                  "loc": {
1514                                    "start": {
1515                                      "line": 26,
1516                                      "column": 16,
1517                                      "program": "null_coalescing_generic_1.ets"
1518                                    },
1519                                    "end": {
1520                                      "line": 26,
1521                                      "column": 22,
1522                                      "program": "null_coalescing_generic_1.ets"
1523                                    }
1524                                  }
1525                                },
1526                                "loc": {
1527                                  "start": {
1528                                    "line": 26,
1529                                    "column": 16,
1530                                    "program": "null_coalescing_generic_1.ets"
1531                                  },
1532                                  "end": {
1533                                    "line": 26,
1534                                    "column": 24,
1535                                    "program": "null_coalescing_generic_1.ets"
1536                                  }
1537                                }
1538                              },
1539                              "loc": {
1540                                "start": {
1541                                  "line": 26,
1542                                  "column": 16,
1543                                  "program": "null_coalescing_generic_1.ets"
1544                                },
1545                                "end": {
1546                                  "line": 26,
1547                                  "column": 24,
1548                                  "program": "null_coalescing_generic_1.ets"
1549                                }
1550                              }
1551                            },
1552                            "decorators": [],
1553                            "loc": {
1554                              "start": {
1555                                "line": 26,
1556                                "column": 9,
1557                                "program": "null_coalescing_generic_1.ets"
1558                              },
1559                              "end": {
1560                                "line": 26,
1561                                "column": 14,
1562                                "program": "null_coalescing_generic_1.ets"
1563                              }
1564                            }
1565                          },
1566                          "init": {
1567                            "type": "LogicalExpression",
1568                            "operator": "??",
1569                            "left": {
1570                              "type": "Identifier",
1571                              "name": "data",
1572                              "decorators": [],
1573                              "loc": {
1574                                "start": {
1575                                  "line": 26,
1576                                  "column": 25,
1577                                  "program": "null_coalescing_generic_1.ets"
1578                                },
1579                                "end": {
1580                                  "line": 26,
1581                                  "column": 29,
1582                                  "program": "null_coalescing_generic_1.ets"
1583                                }
1584                              }
1585                            },
1586                            "right": {
1587                              "type": "Identifier",
1588                              "name": "c_class",
1589                              "decorators": [],
1590                              "loc": {
1591                                "start": {
1592                                  "line": 26,
1593                                  "column": 33,
1594                                  "program": "null_coalescing_generic_1.ets"
1595                                },
1596                                "end": {
1597                                  "line": 26,
1598                                  "column": 40,
1599                                  "program": "null_coalescing_generic_1.ets"
1600                                }
1601                              }
1602                            },
1603                            "loc": {
1604                              "start": {
1605                                "line": 26,
1606                                "column": 25,
1607                                "program": "null_coalescing_generic_1.ets"
1608                              },
1609                              "end": {
1610                                "line": 26,
1611                                "column": 40,
1612                                "program": "null_coalescing_generic_1.ets"
1613                              }
1614                            }
1615                          },
1616                          "loc": {
1617                            "start": {
1618                              "line": 26,
1619                              "column": 9,
1620                              "program": "null_coalescing_generic_1.ets"
1621                            },
1622                            "end": {
1623                              "line": 26,
1624                              "column": 40,
1625                              "program": "null_coalescing_generic_1.ets"
1626                            }
1627                          }
1628                        }
1629                      ],
1630                      "kind": "let",
1631                      "loc": {
1632                        "start": {
1633                          "line": 26,
1634                          "column": 5,
1635                          "program": "null_coalescing_generic_1.ets"
1636                        },
1637                        "end": {
1638                          "line": 26,
1639                          "column": 41,
1640                          "program": "null_coalescing_generic_1.ets"
1641                        }
1642                      }
1643                    }
1644                  ],
1645                  "loc": {
1646                    "start": {
1647                      "line": 24,
1648                      "column": 44,
1649                      "program": "null_coalescing_generic_1.ets"
1650                    },
1651                    "end": {
1652                      "line": 27,
1653                      "column": 2,
1654                      "program": "null_coalescing_generic_1.ets"
1655                    }
1656                  }
1657                },
1658                "loc": {
1659                  "start": {
1660                    "line": 24,
1661                    "column": 10,
1662                    "program": "null_coalescing_generic_1.ets"
1663                  },
1664                  "end": {
1665                    "line": 27,
1666                    "column": 2,
1667                    "program": "null_coalescing_generic_1.ets"
1668                  }
1669                }
1670              },
1671              "loc": {
1672                "start": {
1673                  "line": 24,
1674                  "column": 10,
1675                  "program": "null_coalescing_generic_1.ets"
1676                },
1677                "end": {
1678                  "line": 27,
1679                  "column": 2,
1680                  "program": "null_coalescing_generic_1.ets"
1681                }
1682              }
1683            },
1684            "overloads": [],
1685            "decorators": [],
1686            "loc": {
1687              "start": {
1688                "line": 24,
1689                "column": 1,
1690                "program": "null_coalescing_generic_1.ets"
1691              },
1692              "end": {
1693                "line": 27,
1694                "column": 2,
1695                "program": "null_coalescing_generic_1.ets"
1696              }
1697            }
1698          },
1699          {
1700            "type": "MethodDefinition",
1701            "key": {
1702              "type": "Identifier",
1703              "name": "baz",
1704              "decorators": [],
1705              "loc": {
1706                "start": {
1707                  "line": 29,
1708                  "column": 10,
1709                  "program": "null_coalescing_generic_1.ets"
1710                },
1711                "end": {
1712                  "line": 29,
1713                  "column": 13,
1714                  "program": "null_coalescing_generic_1.ets"
1715                }
1716              }
1717            },
1718            "kind": "method",
1719            "accessibility": "public",
1720            "static": true,
1721            "optional": false,
1722            "computed": false,
1723            "value": {
1724              "type": "FunctionExpression",
1725              "function": {
1726                "type": "ScriptFunction",
1727                "id": {
1728                  "type": "Identifier",
1729                  "name": "baz",
1730                  "decorators": [],
1731                  "loc": {
1732                    "start": {
1733                      "line": 29,
1734                      "column": 10,
1735                      "program": "null_coalescing_generic_1.ets"
1736                    },
1737                    "end": {
1738                      "line": 29,
1739                      "column": 13,
1740                      "program": "null_coalescing_generic_1.ets"
1741                    }
1742                  }
1743                },
1744                "generator": false,
1745                "async": false,
1746                "expression": false,
1747                "params": [
1748                  {
1749                    "type": "ETSParameterExpression",
1750                    "name": {
1751                      "type": "Identifier",
1752                      "name": "a0",
1753                      "typeAnnotation": {
1754                        "type": "ETSTypeReference",
1755                        "part": {
1756                          "type": "ETSTypeReferencePart",
1757                          "name": {
1758                            "type": "Identifier",
1759                            "name": "T",
1760                            "decorators": [],
1761                            "loc": {
1762                              "start": {
1763                                "line": 29,
1764                                "column": 33,
1765                                "program": "null_coalescing_generic_1.ets"
1766                              },
1767                              "end": {
1768                                "line": 29,
1769                                "column": 34,
1770                                "program": "null_coalescing_generic_1.ets"
1771                              }
1772                            }
1773                          },
1774                          "loc": {
1775                            "start": {
1776                              "line": 29,
1777                              "column": 33,
1778                              "program": "null_coalescing_generic_1.ets"
1779                            },
1780                            "end": {
1781                              "line": 29,
1782                              "column": 35,
1783                              "program": "null_coalescing_generic_1.ets"
1784                            }
1785                          }
1786                        },
1787                        "loc": {
1788                          "start": {
1789                            "line": 29,
1790                            "column": 33,
1791                            "program": "null_coalescing_generic_1.ets"
1792                          },
1793                          "end": {
1794                            "line": 29,
1795                            "column": 35,
1796                            "program": "null_coalescing_generic_1.ets"
1797                          }
1798                        }
1799                      },
1800                      "decorators": [],
1801                      "loc": {
1802                        "start": {
1803                          "line": 29,
1804                          "column": 29,
1805                          "program": "null_coalescing_generic_1.ets"
1806                        },
1807                        "end": {
1808                          "line": 29,
1809                          "column": 35,
1810                          "program": "null_coalescing_generic_1.ets"
1811                        }
1812                      }
1813                    },
1814                    "loc": {
1815                      "start": {
1816                        "line": 29,
1817                        "column": 29,
1818                        "program": "null_coalescing_generic_1.ets"
1819                      },
1820                      "end": {
1821                        "line": 29,
1822                        "column": 35,
1823                        "program": "null_coalescing_generic_1.ets"
1824                      }
1825                    }
1826                  }
1827                ],
1828                "returnType": {
1829                  "type": "ETSTypeReference",
1830                  "part": {
1831                    "type": "ETSTypeReferencePart",
1832                    "name": {
1833                      "type": "Identifier",
1834                      "name": "Integral",
1835                      "decorators": [],
1836                      "loc": {
1837                        "start": {
1838                          "line": 29,
1839                          "column": 37,
1840                          "program": "null_coalescing_generic_1.ets"
1841                        },
1842                        "end": {
1843                          "line": 29,
1844                          "column": 45,
1845                          "program": "null_coalescing_generic_1.ets"
1846                        }
1847                      }
1848                    },
1849                    "loc": {
1850                      "start": {
1851                        "line": 29,
1852                        "column": 37,
1853                        "program": "null_coalescing_generic_1.ets"
1854                      },
1855                      "end": {
1856                        "line": 29,
1857                        "column": 47,
1858                        "program": "null_coalescing_generic_1.ets"
1859                      }
1860                    }
1861                  },
1862                  "loc": {
1863                    "start": {
1864                      "line": 29,
1865                      "column": 37,
1866                      "program": "null_coalescing_generic_1.ets"
1867                    },
1868                    "end": {
1869                      "line": 29,
1870                      "column": 47,
1871                      "program": "null_coalescing_generic_1.ets"
1872                    }
1873                  }
1874                },
1875                "typeParameters": {
1876                  "type": "TSTypeParameterDeclaration",
1877                  "params": [
1878                    {
1879                      "type": "TSTypeParameter",
1880                      "name": {
1881                        "type": "Identifier",
1882                        "name": "T",
1883                        "decorators": [],
1884                        "loc": {
1885                          "start": {
1886                            "line": 29,
1887                            "column": 14,
1888                            "program": "null_coalescing_generic_1.ets"
1889                          },
1890                          "end": {
1891                            "line": 29,
1892                            "column": 15,
1893                            "program": "null_coalescing_generic_1.ets"
1894                          }
1895                        }
1896                      },
1897                      "constraint": {
1898                        "type": "ETSTypeReference",
1899                        "part": {
1900                          "type": "ETSTypeReferencePart",
1901                          "name": {
1902                            "type": "Identifier",
1903                            "name": "Int",
1904                            "decorators": [],
1905                            "loc": {
1906                              "start": {
1907                                "line": 29,
1908                                "column": 24,
1909                                "program": "null_coalescing_generic_1.ets"
1910                              },
1911                              "end": {
1912                                "line": 29,
1913                                "column": 27,
1914                                "program": "null_coalescing_generic_1.ets"
1915                              }
1916                            }
1917                          },
1918                          "loc": {
1919                            "start": {
1920                              "line": 29,
1921                              "column": 24,
1922                              "program": "null_coalescing_generic_1.ets"
1923                            },
1924                            "end": {
1925                              "line": 29,
1926                              "column": 28,
1927                              "program": "null_coalescing_generic_1.ets"
1928                            }
1929                          }
1930                        },
1931                        "loc": {
1932                          "start": {
1933                            "line": 29,
1934                            "column": 24,
1935                            "program": "null_coalescing_generic_1.ets"
1936                          },
1937                          "end": {
1938                            "line": 29,
1939                            "column": 28,
1940                            "program": "null_coalescing_generic_1.ets"
1941                          }
1942                        }
1943                      },
1944                      "loc": {
1945                        "start": {
1946                          "line": 29,
1947                          "column": 14,
1948                          "program": "null_coalescing_generic_1.ets"
1949                        },
1950                        "end": {
1951                          "line": 29,
1952                          "column": 28,
1953                          "program": "null_coalescing_generic_1.ets"
1954                        }
1955                      }
1956                    }
1957                  ],
1958                  "loc": {
1959                    "start": {
1960                      "line": 29,
1961                      "column": 13,
1962                      "program": "null_coalescing_generic_1.ets"
1963                    },
1964                    "end": {
1965                      "line": 29,
1966                      "column": 28,
1967                      "program": "null_coalescing_generic_1.ets"
1968                    }
1969                  }
1970                },
1971                "body": {
1972                  "type": "BlockStatement",
1973                  "statements": [
1974                    {
1975                      "type": "VariableDeclaration",
1976                      "declarations": [
1977                        {
1978                          "type": "VariableDeclarator",
1979                          "id": {
1980                            "type": "Identifier",
1981                            "name": "myval",
1982                            "typeAnnotation": {
1983                              "type": "ETSTypeReference",
1984                              "part": {
1985                                "type": "ETSTypeReferencePart",
1986                                "name": {
1987                                  "type": "Identifier",
1988                                  "name": "Short",
1989                                  "decorators": [],
1990                                  "loc": {
1991                                    "start": {
1992                                      "line": 30,
1993                                      "column": 16,
1994                                      "program": "null_coalescing_generic_1.ets"
1995                                    },
1996                                    "end": {
1997                                      "line": 30,
1998                                      "column": 21,
1999                                      "program": "null_coalescing_generic_1.ets"
2000                                    }
2001                                  }
2002                                },
2003                                "loc": {
2004                                  "start": {
2005                                    "line": 30,
2006                                    "column": 16,
2007                                    "program": "null_coalescing_generic_1.ets"
2008                                  },
2009                                  "end": {
2010                                    "line": 30,
2011                                    "column": 23,
2012                                    "program": "null_coalescing_generic_1.ets"
2013                                  }
2014                                }
2015                              },
2016                              "loc": {
2017                                "start": {
2018                                  "line": 30,
2019                                  "column": 16,
2020                                  "program": "null_coalescing_generic_1.ets"
2021                                },
2022                                "end": {
2023                                  "line": 30,
2024                                  "column": 23,
2025                                  "program": "null_coalescing_generic_1.ets"
2026                                }
2027                              }
2028                            },
2029                            "decorators": [],
2030                            "loc": {
2031                              "start": {
2032                                "line": 30,
2033                                "column": 9,
2034                                "program": "null_coalescing_generic_1.ets"
2035                              },
2036                              "end": {
2037                                "line": 30,
2038                                "column": 14,
2039                                "program": "null_coalescing_generic_1.ets"
2040                              }
2041                            }
2042                          },
2043                          "init": {
2044                            "type": "NumberLiteral",
2045                            "value": 2,
2046                            "loc": {
2047                              "start": {
2048                                "line": 30,
2049                                "column": 24,
2050                                "program": "null_coalescing_generic_1.ets"
2051                              },
2052                              "end": {
2053                                "line": 30,
2054                                "column": 25,
2055                                "program": "null_coalescing_generic_1.ets"
2056                              }
2057                            }
2058                          },
2059                          "loc": {
2060                            "start": {
2061                              "line": 30,
2062                              "column": 9,
2063                              "program": "null_coalescing_generic_1.ets"
2064                            },
2065                            "end": {
2066                              "line": 30,
2067                              "column": 25,
2068                              "program": "null_coalescing_generic_1.ets"
2069                            }
2070                          }
2071                        }
2072                      ],
2073                      "kind": "let",
2074                      "loc": {
2075                        "start": {
2076                          "line": 30,
2077                          "column": 5,
2078                          "program": "null_coalescing_generic_1.ets"
2079                        },
2080                        "end": {
2081                          "line": 30,
2082                          "column": 26,
2083                          "program": "null_coalescing_generic_1.ets"
2084                        }
2085                      }
2086                    },
2087                    {
2088                      "type": "ReturnStatement",
2089                      "argument": {
2090                        "type": "LogicalExpression",
2091                        "operator": "??",
2092                        "left": {
2093                          "type": "Identifier",
2094                          "name": "a0",
2095                          "decorators": [],
2096                          "loc": {
2097                            "start": {
2098                              "line": 31,
2099                              "column": 12,
2100                              "program": "null_coalescing_generic_1.ets"
2101                            },
2102                            "end": {
2103                              "line": 31,
2104                              "column": 14,
2105                              "program": "null_coalescing_generic_1.ets"
2106                            }
2107                          }
2108                        },
2109                        "right": {
2110                          "type": "Identifier",
2111                          "name": "myval",
2112                          "decorators": [],
2113                          "loc": {
2114                            "start": {
2115                              "line": 31,
2116                              "column": 18,
2117                              "program": "null_coalescing_generic_1.ets"
2118                            },
2119                            "end": {
2120                              "line": 31,
2121                              "column": 23,
2122                              "program": "null_coalescing_generic_1.ets"
2123                            }
2124                          }
2125                        },
2126                        "loc": {
2127                          "start": {
2128                            "line": 31,
2129                            "column": 12,
2130                            "program": "null_coalescing_generic_1.ets"
2131                          },
2132                          "end": {
2133                            "line": 31,
2134                            "column": 23,
2135                            "program": "null_coalescing_generic_1.ets"
2136                          }
2137                        }
2138                      },
2139                      "loc": {
2140                        "start": {
2141                          "line": 31,
2142                          "column": 5,
2143                          "program": "null_coalescing_generic_1.ets"
2144                        },
2145                        "end": {
2146                          "line": 31,
2147                          "column": 24,
2148                          "program": "null_coalescing_generic_1.ets"
2149                        }
2150                      }
2151                    }
2152                  ],
2153                  "loc": {
2154                    "start": {
2155                      "line": 29,
2156                      "column": 46,
2157                      "program": "null_coalescing_generic_1.ets"
2158                    },
2159                    "end": {
2160                      "line": 32,
2161                      "column": 2,
2162                      "program": "null_coalescing_generic_1.ets"
2163                    }
2164                  }
2165                },
2166                "loc": {
2167                  "start": {
2168                    "line": 29,
2169                    "column": 10,
2170                    "program": "null_coalescing_generic_1.ets"
2171                  },
2172                  "end": {
2173                    "line": 32,
2174                    "column": 2,
2175                    "program": "null_coalescing_generic_1.ets"
2176                  }
2177                }
2178              },
2179              "loc": {
2180                "start": {
2181                  "line": 29,
2182                  "column": 10,
2183                  "program": "null_coalescing_generic_1.ets"
2184                },
2185                "end": {
2186                  "line": 32,
2187                  "column": 2,
2188                  "program": "null_coalescing_generic_1.ets"
2189                }
2190              }
2191            },
2192            "overloads": [],
2193            "decorators": [],
2194            "loc": {
2195              "start": {
2196                "line": 29,
2197                "column": 1,
2198                "program": "null_coalescing_generic_1.ets"
2199              },
2200              "end": {
2201                "line": 32,
2202                "column": 2,
2203                "program": "null_coalescing_generic_1.ets"
2204              }
2205            }
2206          }
2207        ],
2208        "loc": {
2209          "start": {
2210            "line": 1,
2211            "column": 1,
2212            "program": "null_coalescing_generic_1.ets"
2213          },
2214          "end": {
2215            "line": 1,
2216            "column": 1,
2217            "program": "null_coalescing_generic_1.ets"
2218          }
2219        }
2220      },
2221      "loc": {
2222        "start": {
2223          "line": 1,
2224          "column": 1,
2225          "program": "null_coalescing_generic_1.ets"
2226        },
2227        "end": {
2228          "line": 1,
2229          "column": 1,
2230          "program": "null_coalescing_generic_1.ets"
2231        }
2232      }
2233    }
2234  ],
2235  "loc": {
2236    "start": {
2237      "line": 1,
2238      "column": 1,
2239      "program": "null_coalescing_generic_1.ets"
2240    },
2241    "end": {
2242      "line": 33,
2243      "column": 1,
2244      "program": "null_coalescing_generic_1.ets"
2245    }
2246  }
2247}
2248