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