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