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