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