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