1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSTypeAliasDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "BenchmarkFunc",
9        "decorators": [],
10        "loc": {
11          "start": {
12            "line": 16,
13            "column": 6
14          },
15          "end": {
16            "line": 16,
17            "column": 19
18          }
19        }
20      },
21      "typeAnnotation": {
22        "type": "ETSFunctionType",
23        "params": [],
24        "returnType": {
25          "type": "ETSPrimitiveType",
26          "loc": {
27            "start": {
28              "line": 16,
29              "column": 28
30            },
31            "end": {
32              "line": 16,
33              "column": 32
34            }
35          }
36        },
37        "loc": {
38          "start": {
39            "line": 16,
40            "column": 22
41          },
42          "end": {
43            "line": 16,
44            "column": 32
45          }
46        }
47      },
48      "loc": {
49        "start": {
50          "line": 16,
51          "column": 1
52        },
53        "end": {
54          "line": 18,
55          "column": 9
56        }
57      }
58    },
59    {
60      "type": "ClassDeclaration",
61      "definition": {
62        "id": {
63          "type": "Identifier",
64          "name": "ETSGLOBAL",
65          "decorators": [],
66          "loc": {
67            "start": {
68              "line": 1,
69              "column": 1
70            },
71            "end": {
72              "line": 1,
73              "column": 1
74            }
75          }
76        },
77        "superClass": null,
78        "implements": [],
79        "body": [
80          {
81            "type": "MethodDefinition",
82            "key": {
83              "type": "Identifier",
84              "name": "_$init$_",
85              "decorators": [],
86              "loc": {
87                "start": {
88                  "line": 1,
89                  "column": 1
90                },
91                "end": {
92                  "line": 1,
93                  "column": 1
94                }
95              }
96            },
97            "kind": "method",
98            "accessibility": "public",
99            "static": true,
100            "optional": false,
101            "computed": false,
102            "value": {
103              "type": "FunctionExpression",
104              "function": {
105                "type": "ScriptFunction",
106                "id": {
107                  "type": "Identifier",
108                  "name": "_$init$_",
109                  "decorators": [],
110                  "loc": {
111                    "start": {
112                      "line": 1,
113                      "column": 1
114                    },
115                    "end": {
116                      "line": 1,
117                      "column": 1
118                    }
119                  }
120                },
121                "generator": false,
122                "async": false,
123                "expression": false,
124                "params": [],
125                "body": {
126                  "type": "BlockStatement",
127                  "statements": [],
128                  "loc": {
129                    "start": {
130                      "line": 1,
131                      "column": 1
132                    },
133                    "end": {
134                      "line": 1,
135                      "column": 1
136                    }
137                  }
138                },
139                "loc": {
140                  "start": {
141                    "line": 1,
142                    "column": 1
143                  },
144                  "end": {
145                    "line": 1,
146                    "column": 1
147                  }
148                }
149              },
150              "loc": {
151                "start": {
152                  "line": 1,
153                  "column": 1
154                },
155                "end": {
156                  "line": 1,
157                  "column": 1
158                }
159              }
160            },
161            "overloads": [],
162            "decorators": [],
163            "loc": {
164              "start": {
165                "line": 1,
166                "column": 1
167              },
168              "end": {
169                "line": 1,
170                "column": 1
171              }
172            }
173          },
174          {
175            "type": "MethodDefinition",
176            "key": {
177              "type": "Identifier",
178              "name": "useArrayParamInLambdaFunc",
179              "decorators": [],
180              "loc": {
181                "start": {
182                  "line": 18,
183                  "column": 10
184                },
185                "end": {
186                  "line": 18,
187                  "column": 35
188                }
189              }
190            },
191            "kind": "method",
192            "accessibility": "public",
193            "static": true,
194            "optional": false,
195            "computed": false,
196            "value": {
197              "type": "FunctionExpression",
198              "function": {
199                "type": "ScriptFunction",
200                "id": {
201                  "type": "Identifier",
202                  "name": "useArrayParamInLambdaFunc",
203                  "decorators": [],
204                  "loc": {
205                    "start": {
206                      "line": 18,
207                      "column": 10
208                    },
209                    "end": {
210                      "line": 18,
211                      "column": 35
212                    }
213                  }
214                },
215                "generator": false,
216                "async": false,
217                "expression": false,
218                "params": [],
219                "returnType": {
220                  "type": "ETSPrimitiveType",
221                  "loc": {
222                    "start": {
223                      "line": 18,
224                      "column": 39
225                    },
226                    "end": {
227                      "line": 18,
228                      "column": 43
229                    }
230                  }
231                },
232                "body": {
233                  "type": "BlockStatement",
234                  "statements": [
235                    {
236                      "type": "VariableDeclaration",
237                      "declarations": [
238                        {
239                          "type": "VariableDeclarator",
240                          "id": {
241                            "type": "Identifier",
242                            "name": "arr",
243                            "typeAnnotation": {
244                              "type": "TSArrayType",
245                              "elementType": {
246                                "type": "ETSTypeReference",
247                                "part": {
248                                  "type": "ETSTypeReferencePart",
249                                  "name": {
250                                    "type": "Identifier",
251                                    "name": "number",
252                                    "decorators": [],
253                                    "loc": {
254                                      "start": {
255                                        "line": 19,
256                                        "column": 16
257                                      },
258                                      "end": {
259                                        "line": 19,
260                                        "column": 22
261                                      }
262                                    }
263                                  },
264                                  "loc": {
265                                    "start": {
266                                      "line": 19,
267                                      "column": 16
268                                    },
269                                    "end": {
270                                      "line": 19,
271                                      "column": 23
272                                    }
273                                  }
274                                },
275                                "loc": {
276                                  "start": {
277                                    "line": 19,
278                                    "column": 16
279                                  },
280                                  "end": {
281                                    "line": 19,
282                                    "column": 23
283                                  }
284                                }
285                              },
286                              "loc": {
287                                "start": {
288                                  "line": 19,
289                                  "column": 25
290                                },
291                                "end": {
292                                  "line": 19,
293                                  "column": 26
294                                }
295                              }
296                            },
297                            "decorators": [],
298                            "loc": {
299                              "start": {
300                                "line": 19,
301                                "column": 11
302                              },
303                              "end": {
304                                "line": 19,
305                                "column": 14
306                              }
307                            }
308                          },
309                          "init": {
310                            "type": "ArrayExpression",
311                            "elements": [
312                              {
313                                "type": "NumberLiteral",
314                                "value": 1,
315                                "loc": {
316                                  "start": {
317                                    "line": 19,
318                                    "column": 28
319                                  },
320                                  "end": {
321                                    "line": 19,
322                                    "column": 29
323                                  }
324                                }
325                              },
326                              {
327                                "type": "NumberLiteral",
328                                "value": 2,
329                                "loc": {
330                                  "start": {
331                                    "line": 19,
332                                    "column": 31
333                                  },
334                                  "end": {
335                                    "line": 19,
336                                    "column": 32
337                                  }
338                                }
339                              },
340                              {
341                                "type": "NumberLiteral",
342                                "value": 3,
343                                "loc": {
344                                  "start": {
345                                    "line": 19,
346                                    "column": 34
347                                  },
348                                  "end": {
349                                    "line": 19,
350                                    "column": 35
351                                  }
352                                }
353                              },
354                              {
355                                "type": "NumberLiteral",
356                                "value": 4,
357                                "loc": {
358                                  "start": {
359                                    "line": 19,
360                                    "column": 37
361                                  },
362                                  "end": {
363                                    "line": 19,
364                                    "column": 38
365                                  }
366                                }
367                              }
368                            ],
369                            "loc": {
370                              "start": {
371                                "line": 19,
372                                "column": 27
373                              },
374                              "end": {
375                                "line": 19,
376                                "column": 39
377                              }
378                            }
379                          },
380                          "loc": {
381                            "start": {
382                              "line": 19,
383                              "column": 11
384                            },
385                            "end": {
386                              "line": 19,
387                              "column": 39
388                            }
389                          }
390                        }
391                      ],
392                      "kind": "const",
393                      "loc": {
394                        "start": {
395                          "line": 19,
396                          "column": 5
397                        },
398                        "end": {
399                          "line": 19,
400                          "column": 39
401                        }
402                      }
403                    },
404                    {
405                      "type": "VariableDeclaration",
406                      "declarations": [
407                        {
408                          "type": "VariableDeclarator",
409                          "id": {
410                            "type": "Identifier",
411                            "name": "ITERATE_FUNC",
412                            "typeAnnotation": {
413                              "type": "ETSTypeReference",
414                              "part": {
415                                "type": "ETSTypeReferencePart",
416                                "name": {
417                                  "type": "Identifier",
418                                  "name": "BenchmarkFunc",
419                                  "decorators": [],
420                                  "loc": {
421                                    "start": {
422                                      "line": 20,
423                                      "column": 25
424                                    },
425                                    "end": {
426                                      "line": 20,
427                                      "column": 38
428                                    }
429                                  }
430                                },
431                                "loc": {
432                                  "start": {
433                                    "line": 20,
434                                    "column": 25
435                                  },
436                                  "end": {
437                                    "line": 20,
438                                    "column": 40
439                                  }
440                                }
441                              },
442                              "loc": {
443                                "start": {
444                                  "line": 20,
445                                  "column": 25
446                                },
447                                "end": {
448                                  "line": 20,
449                                  "column": 40
450                                }
451                              }
452                            },
453                            "decorators": [],
454                            "loc": {
455                              "start": {
456                                "line": 20,
457                                "column": 11
458                              },
459                              "end": {
460                                "line": 20,
461                                "column": 23
462                              }
463                            }
464                          },
465                          "init": {
466                            "type": "ArrowFunctionExpression",
467                            "function": {
468                              "type": "ScriptFunction",
469                              "id": null,
470                              "generator": false,
471                              "async": false,
472                              "expression": false,
473                              "params": [],
474                              "body": {
475                                "type": "BlockStatement",
476                                "statements": [
477                                  {
478                                    "type": "VariableDeclaration",
479                                    "declarations": [
480                                      {
481                                        "type": "VariableDeclarator",
482                                        "id": {
483                                          "type": "Identifier",
484                                          "name": "length",
485                                          "decorators": [],
486                                          "loc": {
487                                            "start": {
488                                              "line": 21,
489                                              "column": 15
490                                            },
491                                            "end": {
492                                              "line": 21,
493                                              "column": 21
494                                            }
495                                          }
496                                        },
497                                        "init": {
498                                          "type": "MemberExpression",
499                                          "object": {
500                                            "type": "Identifier",
501                                            "name": "arr",
502                                            "decorators": [],
503                                            "loc": {
504                                              "start": {
505                                                "line": 21,
506                                                "column": 24
507                                              },
508                                              "end": {
509                                                "line": 21,
510                                                "column": 27
511                                              }
512                                            }
513                                          },
514                                          "property": {
515                                            "type": "Identifier",
516                                            "name": "length",
517                                            "decorators": [],
518                                            "loc": {
519                                              "start": {
520                                                "line": 21,
521                                                "column": 28
522                                              },
523                                              "end": {
524                                                "line": 21,
525                                                "column": 34
526                                              }
527                                            }
528                                          },
529                                          "computed": false,
530                                          "optional": false,
531                                          "loc": {
532                                            "start": {
533                                              "line": 21,
534                                              "column": 24
535                                            },
536                                            "end": {
537                                              "line": 21,
538                                              "column": 34
539                                            }
540                                          }
541                                        },
542                                        "loc": {
543                                          "start": {
544                                            "line": 21,
545                                            "column": 15
546                                          },
547                                          "end": {
548                                            "line": 21,
549                                            "column": 34
550                                          }
551                                        }
552                                      }
553                                    ],
554                                    "kind": "const",
555                                    "loc": {
556                                      "start": {
557                                        "line": 21,
558                                        "column": 9
559                                      },
560                                      "end": {
561                                        "line": 21,
562                                        "column": 35
563                                      }
564                                    }
565                                  }
566                                ],
567                                "loc": {
568                                  "start": {
569                                    "line": 20,
570                                    "column": 47
571                                  },
572                                  "end": {
573                                    "line": 22,
574                                    "column": 6
575                                  }
576                                }
577                              },
578                              "loc": {
579                                "start": {
580                                  "line": 20,
581                                  "column": 41
582                                },
583                                "end": {
584                                  "line": 22,
585                                  "column": 6
586                                }
587                              }
588                            },
589                            "loc": {
590                              "start": {
591                                "line": 20,
592                                "column": 41
593                              },
594                              "end": {
595                                "line": 22,
596                                "column": 6
597                              }
598                            }
599                          },
600                          "loc": {
601                            "start": {
602                              "line": 20,
603                              "column": 11
604                            },
605                            "end": {
606                              "line": 22,
607                              "column": 6
608                            }
609                          }
610                        }
611                      ],
612                      "kind": "const",
613                      "loc": {
614                        "start": {
615                          "line": 20,
616                          "column": 5
617                        },
618                        "end": {
619                          "line": 22,
620                          "column": 6
621                        }
622                      }
623                    }
624                  ],
625                  "loc": {
626                    "start": {
627                      "line": 18,
628                      "column": 44
629                    },
630                    "end": {
631                      "line": 23,
632                      "column": 2
633                    }
634                  }
635                },
636                "loc": {
637                  "start": {
638                    "line": 18,
639                    "column": 35
640                  },
641                  "end": {
642                    "line": 23,
643                    "column": 2
644                  }
645                }
646              },
647              "loc": {
648                "start": {
649                  "line": 18,
650                  "column": 35
651                },
652                "end": {
653                  "line": 23,
654                  "column": 2
655                }
656              }
657            },
658            "overloads": [],
659            "decorators": [],
660            "loc": {
661              "start": {
662                "line": 18,
663                "column": 1
664              },
665              "end": {
666                "line": 23,
667                "column": 2
668              }
669            }
670          }
671        ],
672        "loc": {
673          "start": {
674            "line": 1,
675            "column": 1
676          },
677          "end": {
678            "line": 1,
679            "column": 1
680          }
681        }
682      },
683      "loc": {
684        "start": {
685          "line": 1,
686          "column": 1
687        },
688        "end": {
689          "line": 1,
690          "column": 1
691        }
692      }
693    }
694  ],
695  "loc": {
696    "start": {
697      "line": 1,
698      "column": 1
699    },
700    "end": {
701      "line": 23,
702      "column": 2
703    }
704  }
705}
706