1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "ThisEq",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7
15            },
16            "end": {
17              "line": 16,
18              "column": 13
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "MethodDefinition",
27            "key": {
28              "type": "Identifier",
29              "name": "test",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 5
35                },
36                "end": {
37                  "line": 17,
38                  "column": 9
39                }
40              }
41            },
42            "kind": "method",
43            "accessibility": "public",
44            "static": false,
45            "optional": false,
46            "computed": false,
47            "value": {
48              "type": "FunctionExpression",
49              "function": {
50                "type": "ScriptFunction",
51                "id": {
52                  "type": "Identifier",
53                  "name": "test",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 17,
58                      "column": 5
59                    },
60                    "end": {
61                      "line": 17,
62                      "column": 9
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [],
70                "returnType": {
71                  "type": "ETSPrimitiveType",
72                  "loc": {
73                    "start": {
74                      "line": 17,
75                      "column": 13
76                    },
77                    "end": {
78                      "line": 17,
79                      "column": 20
80                    }
81                  }
82                },
83                "body": {
84                  "type": "BlockStatement",
85                  "statements": [
86                    {
87                      "type": "IfStatement",
88                      "test": {
89                        "type": "BinaryExpression",
90                        "operator": "===",
91                        "left": {
92                          "type": "ThisExpression",
93                          "loc": {
94                            "start": {
95                              "line": 18,
96                              "column": 13
97                            },
98                            "end": {
99                              "line": 18,
100                              "column": 17
101                            }
102                          }
103                        },
104                        "right": {
105                          "type": "ThisExpression",
106                          "loc": {
107                            "start": {
108                              "line": 18,
109                              "column": 22
110                            },
111                            "end": {
112                              "line": 18,
113                              "column": 26
114                            }
115                          }
116                        },
117                        "loc": {
118                          "start": {
119                            "line": 18,
120                            "column": 13
121                          },
122                          "end": {
123                            "line": 18,
124                            "column": 26
125                          }
126                        }
127                      },
128                      "consequent": {
129                        "type": "BlockStatement",
130                        "statements": [
131                          {
132                            "type": "ReturnStatement",
133                            "argument": {
134                              "type": "BooleanLiteral",
135                              "value": true,
136                              "loc": {
137                                "start": {
138                                  "line": 19,
139                                  "column": 20
140                                },
141                                "end": {
142                                  "line": 19,
143                                  "column": 24
144                                }
145                              }
146                            },
147                            "loc": {
148                              "start": {
149                                "line": 19,
150                                "column": 13
151                              },
152                              "end": {
153                                "line": 19,
154                                "column": 25
155                              }
156                            }
157                          }
158                        ],
159                        "loc": {
160                          "start": {
161                            "line": 18,
162                            "column": 28
163                          },
164                          "end": {
165                            "line": 20,
166                            "column": 10
167                          }
168                        }
169                      },
170                      "alternate": null,
171                      "loc": {
172                        "start": {
173                          "line": 18,
174                          "column": 9
175                        },
176                        "end": {
177                          "line": 20,
178                          "column": 10
179                        }
180                      }
181                    },
182                    {
183                      "type": "ReturnStatement",
184                      "argument": {
185                        "type": "BooleanLiteral",
186                        "value": false,
187                        "loc": {
188                          "start": {
189                            "line": 21,
190                            "column": 16
191                          },
192                          "end": {
193                            "line": 21,
194                            "column": 21
195                          }
196                        }
197                      },
198                      "loc": {
199                        "start": {
200                          "line": 21,
201                          "column": 9
202                        },
203                        "end": {
204                          "line": 21,
205                          "column": 22
206                        }
207                      }
208                    }
209                  ],
210                  "loc": {
211                    "start": {
212                      "line": 17,
213                      "column": 21
214                    },
215                    "end": {
216                      "line": 22,
217                      "column": 6
218                    }
219                  }
220                },
221                "loc": {
222                  "start": {
223                    "line": 17,
224                    "column": 9
225                  },
226                  "end": {
227                    "line": 22,
228                    "column": 6
229                  }
230                }
231              },
232              "loc": {
233                "start": {
234                  "line": 17,
235                  "column": 9
236                },
237                "end": {
238                  "line": 22,
239                  "column": 6
240                }
241              }
242            },
243            "overloads": [],
244            "decorators": [],
245            "loc": {
246              "start": {
247                "line": 17,
248                "column": 5
249              },
250              "end": {
251                "line": 22,
252                "column": 6
253              }
254            }
255          },
256          {
257            "type": "MethodDefinition",
258            "key": {
259              "type": "Identifier",
260              "name": "constructor",
261              "decorators": [],
262              "loc": {
263                "start": {
264                  "line": 1,
265                  "column": 1
266                },
267                "end": {
268                  "line": 1,
269                  "column": 1
270                }
271              }
272            },
273            "kind": "constructor",
274            "static": false,
275            "optional": false,
276            "computed": false,
277            "value": {
278              "type": "FunctionExpression",
279              "function": {
280                "type": "ScriptFunction",
281                "id": {
282                  "type": "Identifier",
283                  "name": "constructor",
284                  "decorators": [],
285                  "loc": {
286                    "start": {
287                      "line": 1,
288                      "column": 1
289                    },
290                    "end": {
291                      "line": 1,
292                      "column": 1
293                    }
294                  }
295                },
296                "generator": false,
297                "async": false,
298                "expression": false,
299                "params": [],
300                "body": {
301                  "type": "BlockStatement",
302                  "statements": [],
303                  "loc": {
304                    "start": {
305                      "line": 1,
306                      "column": 1
307                    },
308                    "end": {
309                      "line": 1,
310                      "column": 1
311                    }
312                  }
313                },
314                "loc": {
315                  "start": {
316                    "line": 1,
317                    "column": 1
318                  },
319                  "end": {
320                    "line": 1,
321                    "column": 1
322                  }
323                }
324              },
325              "loc": {
326                "start": {
327                  "line": 1,
328                  "column": 1
329                },
330                "end": {
331                  "line": 1,
332                  "column": 1
333                }
334              }
335            },
336            "overloads": [],
337            "decorators": [],
338            "loc": {
339              "start": {
340                "line": 23,
341                "column": 2
342              },
343              "end": {
344                "line": 23,
345                "column": 2
346              }
347            }
348          }
349        ],
350        "loc": {
351          "start": {
352            "line": 16,
353            "column": 14
354          },
355          "end": {
356            "line": 23,
357            "column": 2
358          }
359        }
360      },
361      "loc": {
362        "start": {
363          "line": 16,
364          "column": 1
365        },
366        "end": {
367          "line": 23,
368          "column": 2
369        }
370      }
371    },
372    {
373      "type": "ClassDeclaration",
374      "definition": {
375        "id": {
376          "type": "Identifier",
377          "name": "ETSGLOBAL",
378          "decorators": [],
379          "loc": {
380            "start": {
381              "line": 1,
382              "column": 1
383            },
384            "end": {
385              "line": 1,
386              "column": 1
387            }
388          }
389        },
390        "superClass": null,
391        "implements": [],
392        "body": [
393          {
394            "type": "MethodDefinition",
395            "key": {
396              "type": "Identifier",
397              "name": "_$init$_",
398              "decorators": [],
399              "loc": {
400                "start": {
401                  "line": 1,
402                  "column": 1
403                },
404                "end": {
405                  "line": 1,
406                  "column": 1
407                }
408              }
409            },
410            "kind": "method",
411            "accessibility": "public",
412            "static": true,
413            "optional": false,
414            "computed": false,
415            "value": {
416              "type": "FunctionExpression",
417              "function": {
418                "type": "ScriptFunction",
419                "id": {
420                  "type": "Identifier",
421                  "name": "_$init$_",
422                  "decorators": [],
423                  "loc": {
424                    "start": {
425                      "line": 1,
426                      "column": 1
427                    },
428                    "end": {
429                      "line": 1,
430                      "column": 1
431                    }
432                  }
433                },
434                "generator": false,
435                "async": false,
436                "expression": false,
437                "params": [],
438                "body": {
439                  "type": "BlockStatement",
440                  "statements": [],
441                  "loc": {
442                    "start": {
443                      "line": 1,
444                      "column": 1
445                    },
446                    "end": {
447                      "line": 1,
448                      "column": 1
449                    }
450                  }
451                },
452                "loc": {
453                  "start": {
454                    "line": 1,
455                    "column": 1
456                  },
457                  "end": {
458                    "line": 1,
459                    "column": 1
460                  }
461                }
462              },
463              "loc": {
464                "start": {
465                  "line": 1,
466                  "column": 1
467                },
468                "end": {
469                  "line": 1,
470                  "column": 1
471                }
472              }
473            },
474            "overloads": [],
475            "decorators": [],
476            "loc": {
477              "start": {
478                "line": 1,
479                "column": 1
480              },
481              "end": {
482                "line": 1,
483                "column": 1
484              }
485            }
486          }
487        ],
488        "loc": {
489          "start": {
490            "line": 1,
491            "column": 1
492          },
493          "end": {
494            "line": 1,
495            "column": 1
496          }
497        }
498      },
499      "loc": {
500        "start": {
501          "line": 1,
502          "column": 1
503        },
504        "end": {
505          "line": 1,
506          "column": 1
507        }
508      }
509    }
510  ],
511  "loc": {
512    "start": {
513      "line": 1,
514      "column": 1
515    },
516    "end": {
517      "line": 24,
518      "column": 1
519    }
520  }
521}
522