• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "VariableDeclaration",
6      "declarations": [
7        {
8          "type": "VariableDeclarator",
9          "id": {
10            "type": "Identifier",
11            "name": "a",
12            "decorators": [],
13            "loc": {
14              "start": {
15                "line": 17,
16                "column": 5,
17                "program": "test-object-expression.js"
18              },
19              "end": {
20                "line": 17,
21                "column": 6,
22                "program": "test-object-expression.js"
23              }
24            }
25          },
26          "init": {
27            "type": "ObjectExpression",
28            "properties": [
29              {
30                "type": "Property",
31                "method": false,
32                "shorthand": true,
33                "computed": false,
34                "key": {
35                  "type": "Identifier",
36                  "name": "get",
37                  "decorators": [],
38                  "loc": {
39                    "start": {
40                      "line": 18,
41                      "column": 3,
42                      "program": "test-object-expression.js"
43                    },
44                    "end": {
45                      "line": 18,
46                      "column": 6,
47                      "program": "test-object-expression.js"
48                    }
49                  }
50                },
51                "value": {
52                  "type": "Identifier",
53                  "name": "get",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 18,
58                      "column": 3,
59                      "program": "test-object-expression.js"
60                    },
61                    "end": {
62                      "line": 18,
63                      "column": 6,
64                      "program": "test-object-expression.js"
65                    }
66                  }
67                },
68                "kind": "init",
69                "loc": {
70                  "start": {
71                    "line": 18,
72                    "column": 3,
73                    "program": "test-object-expression.js"
74                  },
75                  "end": {
76                    "line": 18,
77                    "column": 6,
78                    "program": "test-object-expression.js"
79                  }
80                }
81              },
82              {
83                "type": "Property",
84                "method": true,
85                "shorthand": false,
86                "computed": false,
87                "key": {
88                  "type": "Identifier",
89                  "name": "get",
90                  "decorators": [],
91                  "loc": {
92                    "start": {
93                      "line": 19,
94                      "column": 3,
95                      "program": "test-object-expression.js"
96                    },
97                    "end": {
98                      "line": 19,
99                      "column": 6,
100                      "program": "test-object-expression.js"
101                    }
102                  }
103                },
104                "value": {
105                  "type": "FunctionExpression",
106                  "function": {
107                    "type": "ScriptFunction",
108                    "id": null,
109                    "generator": false,
110                    "async": false,
111                    "expression": false,
112                    "params": [],
113                    "body": {
114                      "type": "BlockStatement",
115                      "statements": [],
116                      "loc": {
117                        "start": {
118                          "line": 19,
119                          "column": 8,
120                          "program": "test-object-expression.js"
121                        },
122                        "end": {
123                          "line": 19,
124                          "column": 10,
125                          "program": "test-object-expression.js"
126                        }
127                      }
128                    },
129                    "loc": {
130                      "start": {
131                        "line": 19,
132                        "column": 6,
133                        "program": "test-object-expression.js"
134                      },
135                      "end": {
136                        "line": 19,
137                        "column": 10,
138                        "program": "test-object-expression.js"
139                      }
140                    }
141                  },
142                  "loc": {
143                    "start": {
144                      "line": 19,
145                      "column": 6,
146                      "program": "test-object-expression.js"
147                    },
148                    "end": {
149                      "line": 19,
150                      "column": 10,
151                      "program": "test-object-expression.js"
152                    }
153                  }
154                },
155                "kind": "init",
156                "loc": {
157                  "start": {
158                    "line": 19,
159                    "column": 3,
160                    "program": "test-object-expression.js"
161                  },
162                  "end": {
163                    "line": 19,
164                    "column": 10,
165                    "program": "test-object-expression.js"
166                  }
167                }
168              },
169              {
170                "type": "Property",
171                "method": false,
172                "shorthand": false,
173                "computed": false,
174                "key": {
175                  "type": "Identifier",
176                  "name": "set",
177                  "decorators": [],
178                  "loc": {
179                    "start": {
180                      "line": 20,
181                      "column": 3,
182                      "program": "test-object-expression.js"
183                    },
184                    "end": {
185                      "line": 20,
186                      "column": 6,
187                      "program": "test-object-expression.js"
188                    }
189                  }
190                },
191                "value": {
192                  "type": "NumberLiteral",
193                  "value": 5,
194                  "loc": {
195                    "start": {
196                      "line": 20,
197                      "column": 7,
198                      "program": "test-object-expression.js"
199                    },
200                    "end": {
201                      "line": 20,
202                      "column": 8,
203                      "program": "test-object-expression.js"
204                    }
205                  }
206                },
207                "kind": "init",
208                "loc": {
209                  "start": {
210                    "line": 20,
211                    "column": 3,
212                    "program": "test-object-expression.js"
213                  },
214                  "end": {
215                    "line": 20,
216                    "column": 8,
217                    "program": "test-object-expression.js"
218                  }
219                }
220              },
221              {
222                "type": "Property",
223                "method": false,
224                "shorthand": false,
225                "computed": true,
226                "key": {
227                  "type": "Identifier",
228                  "name": "a",
229                  "decorators": [],
230                  "loc": {
231                    "start": {
232                      "line": 21,
233                      "column": 4,
234                      "program": "test-object-expression.js"
235                    },
236                    "end": {
237                      "line": 21,
238                      "column": 5,
239                      "program": "test-object-expression.js"
240                    }
241                  }
242                },
243                "value": {
244                  "type": "StringLiteral",
245                  "value": "foo",
246                  "loc": {
247                    "start": {
248                      "line": 21,
249                      "column": 7,
250                      "program": "test-object-expression.js"
251                    },
252                    "end": {
253                      "line": 21,
254                      "column": 12,
255                      "program": "test-object-expression.js"
256                    }
257                  }
258                },
259                "kind": "init",
260                "loc": {
261                  "start": {
262                    "line": 21,
263                    "column": 3,
264                    "program": "test-object-expression.js"
265                  },
266                  "end": {
267                    "line": 21,
268                    "column": 12,
269                    "program": "test-object-expression.js"
270                  }
271                }
272              },
273              {
274                "type": "Property",
275                "method": false,
276                "shorthand": false,
277                "computed": false,
278                "key": {
279                  "type": "StringLiteral",
280                  "value": "foo",
281                  "loc": {
282                    "start": {
283                      "line": 22,
284                      "column": 7,
285                      "program": "test-object-expression.js"
286                    },
287                    "end": {
288                      "line": 22,
289                      "column": 12,
290                      "program": "test-object-expression.js"
291                    }
292                  }
293                },
294                "value": {
295                  "type": "FunctionExpression",
296                  "function": {
297                    "type": "ScriptFunction",
298                    "id": null,
299                    "generator": false,
300                    "async": false,
301                    "expression": false,
302                    "params": [],
303                    "body": {
304                      "type": "BlockStatement",
305                      "statements": [],
306                      "loc": {
307                        "start": {
308                          "line": 22,
309                          "column": 14,
310                          "program": "test-object-expression.js"
311                        },
312                        "end": {
313                          "line": 22,
314                          "column": 16,
315                          "program": "test-object-expression.js"
316                        }
317                      }
318                    },
319                    "loc": {
320                      "start": {
321                        "line": 22,
322                        "column": 12,
323                        "program": "test-object-expression.js"
324                      },
325                      "end": {
326                        "line": 22,
327                        "column": 16,
328                        "program": "test-object-expression.js"
329                      }
330                    }
331                  },
332                  "loc": {
333                    "start": {
334                      "line": 22,
335                      "column": 12,
336                      "program": "test-object-expression.js"
337                    },
338                    "end": {
339                      "line": 22,
340                      "column": 16,
341                      "program": "test-object-expression.js"
342                    }
343                  }
344                },
345                "kind": "get",
346                "loc": {
347                  "start": {
348                    "line": 22,
349                    "column": 3,
350                    "program": "test-object-expression.js"
351                  },
352                  "end": {
353                    "line": 22,
354                    "column": 16,
355                    "program": "test-object-expression.js"
356                  }
357                }
358              },
359              {
360                "type": "Property",
361                "method": false,
362                "shorthand": false,
363                "computed": true,
364                "key": {
365                  "type": "Identifier",
366                  "name": "b",
367                  "decorators": [],
368                  "loc": {
369                    "start": {
370                      "line": 23,
371                      "column": 8,
372                      "program": "test-object-expression.js"
373                    },
374                    "end": {
375                      "line": 23,
376                      "column": 9,
377                      "program": "test-object-expression.js"
378                    }
379                  }
380                },
381                "value": {
382                  "type": "FunctionExpression",
383                  "function": {
384                    "type": "ScriptFunction",
385                    "id": null,
386                    "generator": false,
387                    "async": false,
388                    "expression": false,
389                    "params": [],
390                    "body": {
391                      "type": "BlockStatement",
392                      "statements": [],
393                      "loc": {
394                        "start": {
395                          "line": 23,
396                          "column": 12,
397                          "program": "test-object-expression.js"
398                        },
399                        "end": {
400                          "line": 23,
401                          "column": 14,
402                          "program": "test-object-expression.js"
403                        }
404                      }
405                    },
406                    "loc": {
407                      "start": {
408                        "line": 23,
409                        "column": 10,
410                        "program": "test-object-expression.js"
411                      },
412                      "end": {
413                        "line": 23,
414                        "column": 14,
415                        "program": "test-object-expression.js"
416                      }
417                    }
418                  },
419                  "loc": {
420                    "start": {
421                      "line": 23,
422                      "column": 10,
423                      "program": "test-object-expression.js"
424                    },
425                    "end": {
426                      "line": 23,
427                      "column": 14,
428                      "program": "test-object-expression.js"
429                    }
430                  }
431                },
432                "kind": "get",
433                "loc": {
434                  "start": {
435                    "line": 23,
436                    "column": 3,
437                    "program": "test-object-expression.js"
438                  },
439                  "end": {
440                    "line": 23,
441                    "column": 14,
442                    "program": "test-object-expression.js"
443                  }
444                }
445              },
446              {
447                "type": "SpreadElement",
448                "argument": {
449                  "type": "Identifier",
450                  "name": "a",
451                  "decorators": [],
452                  "loc": {
453                    "start": {
454                      "line": 24,
455                      "column": 6,
456                      "program": "test-object-expression.js"
457                    },
458                    "end": {
459                      "line": 24,
460                      "column": 7,
461                      "program": "test-object-expression.js"
462                    }
463                  }
464                },
465                "loc": {
466                  "start": {
467                    "line": 24,
468                    "column": 3,
469                    "program": "test-object-expression.js"
470                  },
471                  "end": {
472                    "line": 24,
473                    "column": 7,
474                    "program": "test-object-expression.js"
475                  }
476                }
477              },
478              {
479                "type": "Property",
480                "method": true,
481                "shorthand": false,
482                "computed": false,
483                "key": {
484                  "type": "NumberLiteral",
485                  "value": 42,
486                  "loc": {
487                    "start": {
488                      "line": 25,
489                      "column": 3,
490                      "program": "test-object-expression.js"
491                    },
492                    "end": {
493                      "line": 25,
494                      "column": 5,
495                      "program": "test-object-expression.js"
496                    }
497                  }
498                },
499                "value": {
500                  "type": "FunctionExpression",
501                  "function": {
502                    "type": "ScriptFunction",
503                    "id": null,
504                    "generator": false,
505                    "async": false,
506                    "expression": false,
507                    "params": [],
508                    "body": {
509                      "type": "BlockStatement",
510                      "statements": [],
511                      "loc": {
512                        "start": {
513                          "line": 25,
514                          "column": 7,
515                          "program": "test-object-expression.js"
516                        },
517                        "end": {
518                          "line": 25,
519                          "column": 9,
520                          "program": "test-object-expression.js"
521                        }
522                      }
523                    },
524                    "loc": {
525                      "start": {
526                        "line": 25,
527                        "column": 5,
528                        "program": "test-object-expression.js"
529                      },
530                      "end": {
531                        "line": 25,
532                        "column": 9,
533                        "program": "test-object-expression.js"
534                      }
535                    }
536                  },
537                  "loc": {
538                    "start": {
539                      "line": 25,
540                      "column": 5,
541                      "program": "test-object-expression.js"
542                    },
543                    "end": {
544                      "line": 25,
545                      "column": 9,
546                      "program": "test-object-expression.js"
547                    }
548                  }
549                },
550                "kind": "init",
551                "loc": {
552                  "start": {
553                    "line": 25,
554                    "column": 3,
555                    "program": "test-object-expression.js"
556                  },
557                  "end": {
558                    "line": 25,
559                    "column": 9,
560                    "program": "test-object-expression.js"
561                  }
562                }
563              },
564              {
565                "type": "Property",
566                "method": false,
567                "shorthand": false,
568                "computed": false,
569                "key": {
570                  "type": "Identifier",
571                  "name": "a",
572                  "decorators": [],
573                  "loc": {
574                    "start": {
575                      "line": 26,
576                      "column": 7,
577                      "program": "test-object-expression.js"
578                    },
579                    "end": {
580                      "line": 26,
581                      "column": 8,
582                      "program": "test-object-expression.js"
583                    }
584                  }
585                },
586                "value": {
587                  "type": "FunctionExpression",
588                  "function": {
589                    "type": "ScriptFunction",
590                    "id": null,
591                    "generator": false,
592                    "async": false,
593                    "expression": false,
594                    "params": [
595                      {
596                        "type": "Identifier",
597                        "name": "a",
598                        "decorators": [],
599                        "loc": {
600                          "start": {
601                            "line": 26,
602                            "column": 9,
603                            "program": "test-object-expression.js"
604                          },
605                          "end": {
606                            "line": 26,
607                            "column": 10,
608                            "program": "test-object-expression.js"
609                          }
610                        }
611                      }
612                    ],
613                    "body": {
614                      "type": "BlockStatement",
615                      "statements": [],
616                      "loc": {
617                        "start": {
618                          "line": 26,
619                          "column": 11,
620                          "program": "test-object-expression.js"
621                        },
622                        "end": {
623                          "line": 26,
624                          "column": 13,
625                          "program": "test-object-expression.js"
626                        }
627                      }
628                    },
629                    "loc": {
630                      "start": {
631                        "line": 26,
632                        "column": 8,
633                        "program": "test-object-expression.js"
634                      },
635                      "end": {
636                        "line": 26,
637                        "column": 13,
638                        "program": "test-object-expression.js"
639                      }
640                    }
641                  },
642                  "loc": {
643                    "start": {
644                      "line": 26,
645                      "column": 8,
646                      "program": "test-object-expression.js"
647                    },
648                    "end": {
649                      "line": 26,
650                      "column": 13,
651                      "program": "test-object-expression.js"
652                    }
653                  }
654                },
655                "kind": "set",
656                "loc": {
657                  "start": {
658                    "line": 26,
659                    "column": 3,
660                    "program": "test-object-expression.js"
661                  },
662                  "end": {
663                    "line": 26,
664                    "column": 13,
665                    "program": "test-object-expression.js"
666                  }
667                }
668              },
669              {
670                "type": "Property",
671                "method": false,
672                "shorthand": false,
673                "computed": false,
674                "key": {
675                  "type": "Identifier",
676                  "name": "true",
677                  "decorators": [],
678                  "loc": {
679                    "start": {
680                      "line": 27,
681                      "column": 3,
682                      "program": "test-object-expression.js"
683                    },
684                    "end": {
685                      "line": 27,
686                      "column": 7,
687                      "program": "test-object-expression.js"
688                    }
689                  }
690                },
691                "value": {
692                  "type": "NumberLiteral",
693                  "value": 5,
694                  "loc": {
695                    "start": {
696                      "line": 27,
697                      "column": 8,
698                      "program": "test-object-expression.js"
699                    },
700                    "end": {
701                      "line": 27,
702                      "column": 9,
703                      "program": "test-object-expression.js"
704                    }
705                  }
706                },
707                "kind": "init",
708                "loc": {
709                  "start": {
710                    "line": 27,
711                    "column": 3,
712                    "program": "test-object-expression.js"
713                  },
714                  "end": {
715                    "line": 27,
716                    "column": 9,
717                    "program": "test-object-expression.js"
718                  }
719                }
720              },
721              {
722                "type": "Property",
723                "method": false,
724                "shorthand": false,
725                "computed": false,
726                "key": {
727                  "type": "Identifier",
728                  "name": "implements",
729                  "decorators": [],
730                  "loc": {
731                    "start": {
732                      "line": 28,
733                      "column": 3,
734                      "program": "test-object-expression.js"
735                    },
736                    "end": {
737                      "line": 28,
738                      "column": 13,
739                      "program": "test-object-expression.js"
740                    }
741                  }
742                },
743                "value": {
744                  "type": "StringLiteral",
745                  "value": "foo",
746                  "loc": {
747                    "start": {
748                      "line": 28,
749                      "column": 14,
750                      "program": "test-object-expression.js"
751                    },
752                    "end": {
753                      "line": 28,
754                      "column": 19,
755                      "program": "test-object-expression.js"
756                    }
757                  }
758                },
759                "kind": "init",
760                "loc": {
761                  "start": {
762                    "line": 28,
763                    "column": 3,
764                    "program": "test-object-expression.js"
765                  },
766                  "end": {
767                    "line": 28,
768                    "column": 19,
769                    "program": "test-object-expression.js"
770                  }
771                }
772              },
773              {
774                "type": "Property",
775                "method": false,
776                "shorthand": false,
777                "computed": false,
778                "key": {
779                  "type": "Identifier",
780                  "name": "a",
781                  "decorators": [],
782                  "loc": {
783                    "start": {
784                      "line": 29,
785                      "column": 7,
786                      "program": "test-object-expression.js"
787                    },
788                    "end": {
789                      "line": 29,
790                      "column": 8,
791                      "program": "test-object-expression.js"
792                    }
793                  }
794                },
795                "value": {
796                  "type": "FunctionExpression",
797                  "function": {
798                    "type": "ScriptFunction",
799                    "id": null,
800                    "generator": false,
801                    "async": false,
802                    "expression": false,
803                    "params": [
804                      {
805                        "type": "Identifier",
806                        "name": "b",
807                        "decorators": [],
808                        "loc": {
809                          "start": {
810                            "line": 29,
811                            "column": 9,
812                            "program": "test-object-expression.js"
813                          },
814                          "end": {
815                            "line": 29,
816                            "column": 10,
817                            "program": "test-object-expression.js"
818                          }
819                        }
820                      }
821                    ],
822                    "body": {
823                      "type": "BlockStatement",
824                      "statements": [
825                        {
826                          "type": "ExpressionStatement",
827                          "expression": {
828                            "type": "MemberExpression",
829                            "object": {
830                              "type": "Super",
831                              "loc": {
832                                "start": {
833                                  "line": 29,
834                                  "column": 12,
835                                  "program": "test-object-expression.js"
836                                },
837                                "end": {
838                                  "line": 29,
839                                  "column": 17,
840                                  "program": "test-object-expression.js"
841                                }
842                              }
843                            },
844                            "property": {
845                              "type": "Identifier",
846                              "name": "a",
847                              "decorators": [],
848                              "loc": {
849                                "start": {
850                                  "line": 29,
851                                  "column": 18,
852                                  "program": "test-object-expression.js"
853                                },
854                                "end": {
855                                  "line": 29,
856                                  "column": 19,
857                                  "program": "test-object-expression.js"
858                                }
859                              }
860                            },
861                            "computed": false,
862                            "optional": false,
863                            "loc": {
864                              "start": {
865                                "line": 29,
866                                "column": 12,
867                                "program": "test-object-expression.js"
868                              },
869                              "end": {
870                                "line": 29,
871                                "column": 19,
872                                "program": "test-object-expression.js"
873                              }
874                            }
875                          },
876                          "loc": {
877                            "start": {
878                              "line": 29,
879                              "column": 12,
880                              "program": "test-object-expression.js"
881                            },
882                            "end": {
883                              "line": 29,
884                              "column": 19,
885                              "program": "test-object-expression.js"
886                            }
887                          }
888                        }
889                      ],
890                      "loc": {
891                        "start": {
892                          "line": 29,
893                          "column": 11,
894                          "program": "test-object-expression.js"
895                        },
896                        "end": {
897                          "line": 29,
898                          "column": 20,
899                          "program": "test-object-expression.js"
900                        }
901                      }
902                    },
903                    "loc": {
904                      "start": {
905                        "line": 29,
906                        "column": 8,
907                        "program": "test-object-expression.js"
908                      },
909                      "end": {
910                        "line": 29,
911                        "column": 20,
912                        "program": "test-object-expression.js"
913                      }
914                    }
915                  },
916                  "loc": {
917                    "start": {
918                      "line": 29,
919                      "column": 8,
920                      "program": "test-object-expression.js"
921                    },
922                    "end": {
923                      "line": 29,
924                      "column": 20,
925                      "program": "test-object-expression.js"
926                    }
927                  }
928                },
929                "kind": "set",
930                "loc": {
931                  "start": {
932                    "line": 29,
933                    "column": 3,
934                    "program": "test-object-expression.js"
935                  },
936                  "end": {
937                    "line": 29,
938                    "column": 20,
939                    "program": "test-object-expression.js"
940                  }
941                }
942              },
943              {
944                "type": "Property",
945                "method": true,
946                "shorthand": false,
947                "computed": false,
948                "key": {
949                  "type": "Identifier",
950                  "name": "f",
951                  "decorators": [],
952                  "loc": {
953                    "start": {
954                      "line": 30,
955                      "column": 9,
956                      "program": "test-object-expression.js"
957                    },
958                    "end": {
959                      "line": 30,
960                      "column": 10,
961                      "program": "test-object-expression.js"
962                    }
963                  }
964                },
965                "value": {
966                  "type": "FunctionExpression",
967                  "function": {
968                    "type": "ScriptFunction",
969                    "id": null,
970                    "generator": false,
971                    "async": true,
972                    "expression": false,
973                    "params": [],
974                    "body": {
975                      "type": "BlockStatement",
976                      "statements": [],
977                      "loc": {
978                        "start": {
979                          "line": 30,
980                          "column": 12,
981                          "program": "test-object-expression.js"
982                        },
983                        "end": {
984                          "line": 30,
985                          "column": 14,
986                          "program": "test-object-expression.js"
987                        }
988                      }
989                    },
990                    "loc": {
991                      "start": {
992                        "line": 30,
993                        "column": 10,
994                        "program": "test-object-expression.js"
995                      },
996                      "end": {
997                        "line": 30,
998                        "column": 14,
999                        "program": "test-object-expression.js"
1000                      }
1001                    }
1002                  },
1003                  "loc": {
1004                    "start": {
1005                      "line": 30,
1006                      "column": 10,
1007                      "program": "test-object-expression.js"
1008                    },
1009                    "end": {
1010                      "line": 30,
1011                      "column": 14,
1012                      "program": "test-object-expression.js"
1013                    }
1014                  }
1015                },
1016                "kind": "init",
1017                "loc": {
1018                  "start": {
1019                    "line": 30,
1020                    "column": 3,
1021                    "program": "test-object-expression.js"
1022                  },
1023                  "end": {
1024                    "line": 30,
1025                    "column": 14,
1026                    "program": "test-object-expression.js"
1027                  }
1028                }
1029              }
1030            ],
1031            "loc": {
1032              "start": {
1033                "line": 17,
1034                "column": 9,
1035                "program": "test-object-expression.js"
1036              },
1037              "end": {
1038                "line": 31,
1039                "column": 2,
1040                "program": "test-object-expression.js"
1041              }
1042            }
1043          },
1044          "loc": {
1045            "start": {
1046              "line": 17,
1047              "column": 5,
1048              "program": "test-object-expression.js"
1049            },
1050            "end": {
1051              "line": 31,
1052              "column": 2,
1053              "program": "test-object-expression.js"
1054            }
1055          }
1056        }
1057      ],
1058      "kind": "var",
1059      "loc": {
1060        "start": {
1061          "line": 17,
1062          "column": 1,
1063          "program": "test-object-expression.js"
1064        },
1065        "end": {
1066          "line": 31,
1067          "column": 2,
1068          "program": "test-object-expression.js"
1069        }
1070      }
1071    }
1072  ],
1073  "loc": {
1074    "start": {
1075      "line": 1,
1076      "column": 1,
1077      "program": "test-object-expression.js"
1078    },
1079    "end": {
1080      "line": 32,
1081      "column": 1,
1082      "program": "test-object-expression.js"
1083    }
1084  }
1085}
1086