1[
2{
3  "endPosition": "1113",
4  "kind": "COMPILATION_UNIT",
5  "sourceElements": [
6    {
7      "endPosition": "1123",
8      "kind": "VARIABLE",
9      "binding": {
10        "endPosition": "1118",
11        "kind": "IDENTIFIER",
12        "name": "x",
13        "startPosition": "1117"
14      },
15      "startPosition": "1113",
16      "initializer": {
17        "endPosition": "1123",
18        "kind": "ARRAY_LITERAL",
19        "elements": [],
20        "startPosition": "1121"
21      }
22    },
23    {
24      "endPosition": "1147",
25      "kind": "VARIABLE",
26      "binding": {
27        "endPosition": "1130",
28        "kind": "IDENTIFIER",
29        "name": "y",
30        "startPosition": "1129"
31      },
32      "startPosition": "1125",
33      "initializer": {
34        "endPosition": "1147",
35        "kind": "ARRAY_LITERAL",
36        "elements": [
37          {
38            "endPosition": "1135",
39            "kind": "NUMBER_LITERAL",
40            "value": "1",
41            "startPosition": "1134"
42          },
43          {
44            "endPosition": "1139",
45            "kind": "NUMBER_LITERAL",
46            "value": "43",
47            "startPosition": "1137"
48          },
49          {
50            "endPosition": "1142",
51            "kind": "NUMBER_LITERAL",
52            "value": "5",
53            "startPosition": "1141"
54          },
55          {
56            "endPosition": "1146",
57            "kind": "NUMBER_LITERAL",
58            "value": "45",
59            "startPosition": "1144"
60          }
61        ],
62        "startPosition": "1133"
63      }
64    },
65    {
66      "endPosition": "1165",
67      "kind": "VARIABLE",
68      "binding": {
69        "endPosition": "1154",
70        "kind": "IDENTIFIER",
71        "name": "z",
72        "startPosition": "1153"
73      },
74      "startPosition": "1149",
75      "initializer": {
76        "endPosition": "1165",
77        "kind": "ARRAY_LITERAL",
78        "elements": [
79          {
80            "endPosition": "1160",
81            "kind": "NUMBER_LITERAL",
82            "value": "34",
83            "startPosition": "1158"
84          },
85          null,
86          null,
87          {
88            "endPosition": "1164",
89            "kind": "NUMBER_LITERAL",
90            "value": "4",
91            "startPosition": "1163"
92          }
93        ],
94        "startPosition": "1157"
95      }
96    },
97    {
98      "endPosition": "1200",
99      "kind": "VARIABLE",
100      "binding": {
101        "endPosition": "1172",
102        "kind": "IDENTIFIER",
103        "name": "k",
104        "startPosition": "1171"
105      },
106      "startPosition": "1167",
107      "initializer": {
108        "endPosition": "1200",
109        "kind": "ARRAY_LITERAL",
110        "elements": [
111          {
112            "endPosition": "1179",
113            "kind": "OBJECT_LITERAL",
114            "startPosition": "1177",
115            "properties": []
116          },
117          {
118            "endPosition": "1189",
119            "kind": "OBJECT_LITERAL",
120            "startPosition": "1181",
121            "properties": [
122              {
123                "endPosition": "1187",
124                "kind": "PROPERTY",
125                "value": {
126                  "endPosition": "1187",
127                  "kind": "NUMBER_LITERAL",
128                  "value": "3",
129                  "startPosition": "1186"
130                },
131                "startPosition": "1183",
132                "key": {
133                  "endPosition": "1184",
134                  "kind": "IDENTIFIER",
135                  "name": "x",
136                  "startPosition": "1183"
137                }
138              }
139            ]
140          },
141          {
142            "endPosition": "1197",
143            "kind": "STRING_LITERAL",
144            "value": "hello",
145            "startPosition": "1192"
146          }
147        ],
148        "startPosition": "1175"
149      }
150    }
151  ],
152  "sourceName": "parsertests/array_literal.js",
153  "strict": "false",
154  "startPosition": "1113"
155}
156,
157{
158  "endPosition": "1126",
159  "kind": "COMPILATION_UNIT",
160  "sourceElements": [
161    {
162      "expression": {
163        "expression": {
164          "endPosition": "1135",
165          "kind": "NUMBER_LITERAL",
166          "value": "314",
167          "startPosition": "1132"
168        },
169        "endPosition": "1135",
170        "kind": "ASSIGNMENT",
171        "variable": {
172          "endPosition": "1129",
173          "kind": "IDENTIFIER",
174          "name": "xyz",
175          "startPosition": "1126"
176        },
177        "startPosition": "1126"
178      },
179      "endPosition": "1135",
180      "kind": "EXPRESSION_STATEMENT",
181      "startPosition": "1126"
182    },
183    {
184      "expression": {
185        "expression": {
186          "endPosition": "1147",
187          "kind": "NUMBER_LITERAL",
188          "value": "314",
189          "startPosition": "1144"
190        },
191        "endPosition": "1147",
192        "kind": "PLUS_ASSIGNMENT",
193        "variable": {
194          "endPosition": "1140",
195          "kind": "IDENTIFIER",
196          "name": "xyz",
197          "startPosition": "1137"
198        },
199        "startPosition": "1137"
200      },
201      "endPosition": "1147",
202      "kind": "EXPRESSION_STATEMENT",
203      "startPosition": "1137"
204    },
205    {
206      "expression": {
207        "expression": {
208          "endPosition": "1159",
209          "kind": "NUMBER_LITERAL",
210          "value": "314",
211          "startPosition": "1156"
212        },
213        "endPosition": "1159",
214        "kind": "MINUS_ASSIGNMENT",
215        "variable": {
216          "endPosition": "1152",
217          "kind": "IDENTIFIER",
218          "name": "xyz",
219          "startPosition": "1149"
220        },
221        "startPosition": "1149"
222      },
223      "endPosition": "1159",
224      "kind": "EXPRESSION_STATEMENT",
225      "startPosition": "1149"
226    },
227    {
228      "expression": {
229        "expression": {
230          "endPosition": "1171",
231          "kind": "NUMBER_LITERAL",
232          "value": "314",
233          "startPosition": "1168"
234        },
235        "endPosition": "1171",
236        "kind": "MULTIPLY_ASSIGNMENT",
237        "variable": {
238          "endPosition": "1164",
239          "kind": "IDENTIFIER",
240          "name": "xyz",
241          "startPosition": "1161"
242        },
243        "startPosition": "1161"
244      },
245      "endPosition": "1171",
246      "kind": "EXPRESSION_STATEMENT",
247      "startPosition": "1161"
248    },
249    {
250      "expression": {
251        "expression": {
252          "endPosition": "1183",
253          "kind": "NUMBER_LITERAL",
254          "value": "314",
255          "startPosition": "1180"
256        },
257        "endPosition": "1183",
258        "kind": "DIVIDE_ASSIGNMENT",
259        "variable": {
260          "endPosition": "1176",
261          "kind": "IDENTIFIER",
262          "name": "xyz",
263          "startPosition": "1173"
264        },
265        "startPosition": "1173"
266      },
267      "endPosition": "1183",
268      "kind": "EXPRESSION_STATEMENT",
269      "startPosition": "1173"
270    },
271    {
272      "expression": {
273        "expression": {
274          "endPosition": "1195",
275          "kind": "NUMBER_LITERAL",
276          "value": "314",
277          "startPosition": "1192"
278        },
279        "endPosition": "1195",
280        "kind": "REMAINDER_ASSIGNMENT",
281        "variable": {
282          "endPosition": "1188",
283          "kind": "IDENTIFIER",
284          "name": "xyz",
285          "startPosition": "1185"
286        },
287        "startPosition": "1185"
288      },
289      "endPosition": "1195",
290      "kind": "EXPRESSION_STATEMENT",
291      "startPosition": "1185"
292    },
293    {
294      "expression": {
295        "expression": {
296          "endPosition": "1208",
297          "kind": "NUMBER_LITERAL",
298          "value": "314",
299          "startPosition": "1205"
300        },
301        "endPosition": "1208",
302        "kind": "LEFT_SHIFT_ASSIGNMENT",
303        "variable": {
304          "endPosition": "1200",
305          "kind": "IDENTIFIER",
306          "name": "xyz",
307          "startPosition": "1197"
308        },
309        "startPosition": "1197"
310      },
311      "endPosition": "1208",
312      "kind": "EXPRESSION_STATEMENT",
313      "startPosition": "1197"
314    },
315    {
316      "expression": {
317        "expression": {
318          "endPosition": "1221",
319          "kind": "NUMBER_LITERAL",
320          "value": "314",
321          "startPosition": "1218"
322        },
323        "endPosition": "1221",
324        "kind": "RIGHT_SHIFT_ASSIGNMENT",
325        "variable": {
326          "endPosition": "1213",
327          "kind": "IDENTIFIER",
328          "name": "xyz",
329          "startPosition": "1210"
330        },
331        "startPosition": "1210"
332      },
333      "endPosition": "1221",
334      "kind": "EXPRESSION_STATEMENT",
335      "startPosition": "1210"
336    },
337    {
338      "expression": {
339        "expression": {
340          "endPosition": "1235",
341          "kind": "NUMBER_LITERAL",
342          "value": "314",
343          "startPosition": "1232"
344        },
345        "endPosition": "1235",
346        "kind": "UNSIGNED_RIGHT_SHIFT_ASSIGNMENT",
347        "variable": {
348          "endPosition": "1226",
349          "kind": "IDENTIFIER",
350          "name": "xyz",
351          "startPosition": "1223"
352        },
353        "startPosition": "1223"
354      },
355      "endPosition": "1235",
356      "kind": "EXPRESSION_STATEMENT",
357      "startPosition": "1223"
358    },
359    {
360      "expression": {
361        "expression": {
362          "endPosition": "1247",
363          "kind": "NUMBER_LITERAL",
364          "value": "314",
365          "startPosition": "1244"
366        },
367        "endPosition": "1247",
368        "kind": "AND_ASSIGNMENT",
369        "variable": {
370          "endPosition": "1240",
371          "kind": "IDENTIFIER",
372          "name": "xyz",
373          "startPosition": "1237"
374        },
375        "startPosition": "1237"
376      },
377      "endPosition": "1247",
378      "kind": "EXPRESSION_STATEMENT",
379      "startPosition": "1237"
380    },
381    {
382      "expression": {
383        "expression": {
384          "endPosition": "1259",
385          "kind": "NUMBER_LITERAL",
386          "value": "314",
387          "startPosition": "1256"
388        },
389        "endPosition": "1259",
390        "kind": "XOR_ASSIGNMENT",
391        "variable": {
392          "endPosition": "1252",
393          "kind": "IDENTIFIER",
394          "name": "xyz",
395          "startPosition": "1249"
396        },
397        "startPosition": "1249"
398      },
399      "endPosition": "1259",
400      "kind": "EXPRESSION_STATEMENT",
401      "startPosition": "1249"
402    },
403    {
404      "expression": {
405        "expression": {
406          "endPosition": "1271",
407          "kind": "NUMBER_LITERAL",
408          "value": "314",
409          "startPosition": "1268"
410        },
411        "endPosition": "1271",
412        "kind": "OR_ASSIGNMENT",
413        "variable": {
414          "endPosition": "1264",
415          "kind": "IDENTIFIER",
416          "name": "xyz",
417          "startPosition": "1261"
418        },
419        "startPosition": "1261"
420      },
421      "endPosition": "1271",
422      "kind": "EXPRESSION_STATEMENT",
423      "startPosition": "1261"
424    }
425  ],
426  "sourceName": "parsertests/assignmentExpr.js",
427  "strict": "false",
428  "startPosition": "1126"
429}
430,
431{
432  "endPosition": "1116",
433  "kind": "COMPILATION_UNIT",
434  "sourceElements": [
435    {
436      "expression": {
437        "leftOperand": {
438          "endPosition": "1117",
439          "kind": "IDENTIFIER",
440          "name": "a",
441          "startPosition": "1116"
442        },
443        "endPosition": "1121",
444        "kind": "MULTIPLY",
445        "rightOperand": {
446          "endPosition": "1121",
447          "kind": "IDENTIFIER",
448          "name": "b",
449          "startPosition": "1120"
450        },
451        "startPosition": "1116"
452      },
453      "endPosition": "1121",
454      "kind": "EXPRESSION_STATEMENT",
455      "startPosition": "1116"
456    },
457    {
458      "expression": {
459        "leftOperand": {
460          "endPosition": "1123",
461          "kind": "IDENTIFIER",
462          "name": "a",
463          "startPosition": "1122"
464        },
465        "endPosition": "1127",
466        "kind": "DIVIDE",
467        "rightOperand": {
468          "endPosition": "1127",
469          "kind": "IDENTIFIER",
470          "name": "b",
471          "startPosition": "1126"
472        },
473        "startPosition": "1122"
474      },
475      "endPosition": "1127",
476      "kind": "EXPRESSION_STATEMENT",
477      "startPosition": "1122"
478    },
479    {
480      "expression": {
481        "leftOperand": {
482          "endPosition": "1130",
483          "kind": "IDENTIFIER",
484          "name": "a",
485          "startPosition": "1129"
486        },
487        "endPosition": "1134",
488        "kind": "REMAINDER",
489        "rightOperand": {
490          "endPosition": "1134",
491          "kind": "IDENTIFIER",
492          "name": "b",
493          "startPosition": "1133"
494        },
495        "startPosition": "1129"
496      },
497      "endPosition": "1134",
498      "kind": "EXPRESSION_STATEMENT",
499      "startPosition": "1129"
500    },
501    {
502      "expression": {
503        "leftOperand": {
504          "endPosition": "1137",
505          "kind": "IDENTIFIER",
506          "name": "a",
507          "startPosition": "1136"
508        },
509        "endPosition": "1141",
510        "kind": "PLUS",
511        "rightOperand": {
512          "endPosition": "1141",
513          "kind": "IDENTIFIER",
514          "name": "b",
515          "startPosition": "1140"
516        },
517        "startPosition": "1136"
518      },
519      "endPosition": "1141",
520      "kind": "EXPRESSION_STATEMENT",
521      "startPosition": "1136"
522    },
523    {
524      "expression": {
525        "leftOperand": {
526          "endPosition": "1144",
527          "kind": "IDENTIFIER",
528          "name": "a",
529          "startPosition": "1143"
530        },
531        "endPosition": "1148",
532        "kind": "MINUS",
533        "rightOperand": {
534          "endPosition": "1148",
535          "kind": "IDENTIFIER",
536          "name": "b",
537          "startPosition": "1147"
538        },
539        "startPosition": "1143"
540      },
541      "endPosition": "1148",
542      "kind": "EXPRESSION_STATEMENT",
543      "startPosition": "1143"
544    },
545    {
546      "expression": {
547        "leftOperand": {
548          "endPosition": "1151",
549          "kind": "IDENTIFIER",
550          "name": "a",
551          "startPosition": "1150"
552        },
553        "endPosition": "1156",
554        "kind": "LEFT_SHIFT",
555        "rightOperand": {
556          "endPosition": "1156",
557          "kind": "IDENTIFIER",
558          "name": "b",
559          "startPosition": "1155"
560        },
561        "startPosition": "1150"
562      },
563      "endPosition": "1156",
564      "kind": "EXPRESSION_STATEMENT",
565      "startPosition": "1150"
566    },
567    {
568      "expression": {
569        "leftOperand": {
570          "endPosition": "1159",
571          "kind": "IDENTIFIER",
572          "name": "a",
573          "startPosition": "1158"
574        },
575        "endPosition": "1164",
576        "kind": "RIGHT_SHIFT",
577        "rightOperand": {
578          "endPosition": "1164",
579          "kind": "IDENTIFIER",
580          "name": "b",
581          "startPosition": "1163"
582        },
583        "startPosition": "1158"
584      },
585      "endPosition": "1164",
586      "kind": "EXPRESSION_STATEMENT",
587      "startPosition": "1158"
588    },
589    {
590      "expression": {
591        "leftOperand": {
592          "endPosition": "1167",
593          "kind": "IDENTIFIER",
594          "name": "a",
595          "startPosition": "1166"
596        },
597        "endPosition": "1173",
598        "kind": "UNSIGNED_RIGHT_SHIFT",
599        "rightOperand": {
600          "endPosition": "1173",
601          "kind": "IDENTIFIER",
602          "name": "b",
603          "startPosition": "1172"
604        },
605        "startPosition": "1166"
606      },
607      "endPosition": "1173",
608      "kind": "EXPRESSION_STATEMENT",
609      "startPosition": "1166"
610    },
611    {
612      "expression": {
613        "leftOperand": {
614          "endPosition": "1176",
615          "kind": "IDENTIFIER",
616          "name": "a",
617          "startPosition": "1175"
618        },
619        "endPosition": "1180",
620        "kind": "LESS_THAN",
621        "rightOperand": {
622          "endPosition": "1180",
623          "kind": "IDENTIFIER",
624          "name": "b",
625          "startPosition": "1179"
626        },
627        "startPosition": "1175"
628      },
629      "endPosition": "1180",
630      "kind": "EXPRESSION_STATEMENT",
631      "startPosition": "1175"
632    },
633    {
634      "expression": {
635        "leftOperand": {
636          "endPosition": "1183",
637          "kind": "IDENTIFIER",
638          "name": "a",
639          "startPosition": "1182"
640        },
641        "endPosition": "1187",
642        "kind": "GREATER_THAN",
643        "rightOperand": {
644          "endPosition": "1187",
645          "kind": "IDENTIFIER",
646          "name": "b",
647          "startPosition": "1186"
648        },
649        "startPosition": "1182"
650      },
651      "endPosition": "1187",
652      "kind": "EXPRESSION_STATEMENT",
653      "startPosition": "1182"
654    },
655    {
656      "expression": {
657        "leftOperand": {
658          "endPosition": "1190",
659          "kind": "IDENTIFIER",
660          "name": "a",
661          "startPosition": "1189"
662        },
663        "endPosition": "1195",
664        "kind": "LESS_THAN_EQUAL",
665        "rightOperand": {
666          "endPosition": "1195",
667          "kind": "IDENTIFIER",
668          "name": "b",
669          "startPosition": "1194"
670        },
671        "startPosition": "1189"
672      },
673      "endPosition": "1195",
674      "kind": "EXPRESSION_STATEMENT",
675      "startPosition": "1189"
676    },
677    {
678      "expression": {
679        "leftOperand": {
680          "endPosition": "1198",
681          "kind": "IDENTIFIER",
682          "name": "a",
683          "startPosition": "1197"
684        },
685        "endPosition": "1203",
686        "kind": "GREATER_THAN_EQUAL",
687        "rightOperand": {
688          "endPosition": "1203",
689          "kind": "IDENTIFIER",
690          "name": "b",
691          "startPosition": "1202"
692        },
693        "startPosition": "1197"
694      },
695      "endPosition": "1203",
696      "kind": "EXPRESSION_STATEMENT",
697      "startPosition": "1197"
698    },
699    {
700      "expression": {
701        "leftOperand": {
702          "endPosition": "1206",
703          "kind": "IDENTIFIER",
704          "name": "a",
705          "startPosition": "1205"
706        },
707        "expression": {
708          "endPosition": "1206",
709          "kind": "IDENTIFIER",
710          "name": "a",
711          "startPosition": "1205"
712        },
713        "endPosition": "1219",
714        "kind": "INSTANCE_OF",
715        "rightOperand": {
716          "endPosition": "1219",
717          "kind": "IDENTIFIER",
718          "name": "b",
719          "startPosition": "1218"
720        },
721        "type": {
722          "endPosition": "1219",
723          "kind": "IDENTIFIER",
724          "name": "b",
725          "startPosition": "1218"
726        },
727        "startPosition": "1205"
728      },
729      "endPosition": "1219",
730      "kind": "EXPRESSION_STATEMENT",
731      "startPosition": "1205"
732    },
733    {
734      "expression": {
735        "leftOperand": {
736          "endPosition": "1222",
737          "kind": "IDENTIFIER",
738          "name": "a",
739          "startPosition": "1221"
740        },
741        "endPosition": "1227",
742        "kind": "EQUAL_TO",
743        "rightOperand": {
744          "endPosition": "1227",
745          "kind": "IDENTIFIER",
746          "name": "b",
747          "startPosition": "1226"
748        },
749        "startPosition": "1221"
750      },
751      "endPosition": "1227",
752      "kind": "EXPRESSION_STATEMENT",
753      "startPosition": "1221"
754    },
755    {
756      "expression": {
757        "leftOperand": {
758          "endPosition": "1230",
759          "kind": "IDENTIFIER",
760          "name": "a",
761          "startPosition": "1229"
762        },
763        "endPosition": "1235",
764        "kind": "NOT_EQUAL_TO",
765        "rightOperand": {
766          "endPosition": "1235",
767          "kind": "IDENTIFIER",
768          "name": "b",
769          "startPosition": "1234"
770        },
771        "startPosition": "1229"
772      },
773      "endPosition": "1235",
774      "kind": "EXPRESSION_STATEMENT",
775      "startPosition": "1229"
776    },
777    {
778      "expression": {
779        "leftOperand": {
780          "endPosition": "1238",
781          "kind": "IDENTIFIER",
782          "name": "a",
783          "startPosition": "1237"
784        },
785        "endPosition": "1244",
786        "kind": "STRICT_EQUAL_TO",
787        "rightOperand": {
788          "endPosition": "1244",
789          "kind": "IDENTIFIER",
790          "name": "b",
791          "startPosition": "1243"
792        },
793        "startPosition": "1237"
794      },
795      "endPosition": "1244",
796      "kind": "EXPRESSION_STATEMENT",
797      "startPosition": "1237"
798    },
799    {
800      "expression": {
801        "leftOperand": {
802          "endPosition": "1247",
803          "kind": "IDENTIFIER",
804          "name": "a",
805          "startPosition": "1246"
806        },
807        "endPosition": "1253",
808        "kind": "STRICT_NOT_EQUAL_TO",
809        "rightOperand": {
810          "endPosition": "1253",
811          "kind": "IDENTIFIER",
812          "name": "b",
813          "startPosition": "1252"
814        },
815        "startPosition": "1246"
816      },
817      "endPosition": "1253",
818      "kind": "EXPRESSION_STATEMENT",
819      "startPosition": "1246"
820    },
821    {
822      "expression": {
823        "leftOperand": {
824          "endPosition": "1256",
825          "kind": "IDENTIFIER",
826          "name": "a",
827          "startPosition": "1255"
828        },
829        "endPosition": "1260",
830        "kind": "AND",
831        "rightOperand": {
832          "endPosition": "1260",
833          "kind": "IDENTIFIER",
834          "name": "b",
835          "startPosition": "1259"
836        },
837        "startPosition": "1255"
838      },
839      "endPosition": "1260",
840      "kind": "EXPRESSION_STATEMENT",
841      "startPosition": "1255"
842    },
843    {
844      "expression": {
845        "leftOperand": {
846          "endPosition": "1263",
847          "kind": "IDENTIFIER",
848          "name": "a",
849          "startPosition": "1262"
850        },
851        "endPosition": "1267",
852        "kind": "XOR",
853        "rightOperand": {
854          "endPosition": "1267",
855          "kind": "IDENTIFIER",
856          "name": "b",
857          "startPosition": "1266"
858        },
859        "startPosition": "1262"
860      },
861      "endPosition": "1267",
862      "kind": "EXPRESSION_STATEMENT",
863      "startPosition": "1262"
864    },
865    {
866      "expression": {
867        "leftOperand": {
868          "endPosition": "1270",
869          "kind": "IDENTIFIER",
870          "name": "a",
871          "startPosition": "1269"
872        },
873        "endPosition": "1274",
874        "kind": "OR",
875        "rightOperand": {
876          "endPosition": "1274",
877          "kind": "IDENTIFIER",
878          "name": "b",
879          "startPosition": "1273"
880        },
881        "startPosition": "1269"
882      },
883      "endPosition": "1274",
884      "kind": "EXPRESSION_STATEMENT",
885      "startPosition": "1269"
886    },
887    {
888      "expression": {
889        "leftOperand": {
890          "endPosition": "1277",
891          "kind": "IDENTIFIER",
892          "name": "a",
893          "startPosition": "1276"
894        },
895        "endPosition": "1282",
896        "kind": "CONDITIONAL_AND",
897        "rightOperand": {
898          "endPosition": "1282",
899          "kind": "IDENTIFIER",
900          "name": "b",
901          "startPosition": "1281"
902        },
903        "startPosition": "1276"
904      },
905      "endPosition": "1282",
906      "kind": "EXPRESSION_STATEMENT",
907      "startPosition": "1276"
908    },
909    {
910      "expression": {
911        "leftOperand": {
912          "endPosition": "1285",
913          "kind": "IDENTIFIER",
914          "name": "a",
915          "startPosition": "1284"
916        },
917        "endPosition": "1290",
918        "kind": "CONDITIONAL_OR",
919        "rightOperand": {
920          "endPosition": "1290",
921          "kind": "IDENTIFIER",
922          "name": "b",
923          "startPosition": "1289"
924        },
925        "startPosition": "1284"
926      },
927      "endPosition": "1290",
928      "kind": "EXPRESSION_STATEMENT",
929      "startPosition": "1284"
930    }
931  ],
932  "sourceName": "parsertests/binaryExpr.js",
933  "strict": "false",
934  "startPosition": "1116"
935}
936,
937{
938  "endPosition": "1117",
939  "kind": "COMPILATION_UNIT",
940  "sourceElements": [
941    {
942      "endPosition": "1119",
943      "kind": "BLOCK",
944      "statements": [],
945      "startPosition": "1117"
946    },
947    {
948      "endPosition": "1139",
949      "kind": "BLOCK",
950      "statements": [
951        {
952          "expression": {
953            "endPosition": "1136",
954            "kind": "FUNCTION_INVOCATION",
955            "functionSelect": {
956              "endPosition": "1127",
957              "kind": "IDENTIFIER",
958              "name": "print",
959              "startPosition": "1122"
960            },
961            "arguments": [
962              {
963                "endPosition": "1134",
964                "kind": "STRING_LITERAL",
965                "value": "hello",
966                "startPosition": "1129"
967              }
968            ],
969            "startPosition": "1122"
970          },
971          "endPosition": "1136",
972          "kind": "EXPRESSION_STATEMENT",
973          "startPosition": "1122"
974        }
975      ],
976      "startPosition": "1120"
977    }
978  ],
979  "sourceName": "parsertests/block.js",
980  "strict": "false",
981  "startPosition": "1117"
982}
983,
984{
985  "endPosition": "1117",
986  "kind": "COMPILATION_UNIT",
987  "sourceElements": [
988    {
989      "condition": {
990        "endPosition": "1128",
991        "kind": "BOOLEAN_LITERAL",
992        "value": "true",
993        "startPosition": "1124"
994      },
995      "endPosition": "1140",
996      "kind": "WHILE_LOOP",
997      "statement": {
998        "endPosition": "1140",
999        "kind": "BLOCK",
1000        "statements": [
1001          {
1002            "endPosition": "1138",
1003            "kind": "BREAK",
1004            "startPosition": "1132"
1005          }
1006        ],
1007        "startPosition": "1130"
1008      },
1009      "startPosition": "1117"
1010    },
1011    {
1012      "endPosition": "1179",
1013      "kind": "LABELED_STATEMENT",
1014      "statement": {
1015        "endPosition": "1179",
1016        "kind": "BLOCK",
1017        "statements": [
1018          {
1019            "condition": {
1020              "endPosition": "1161",
1021              "kind": "BOOLEAN_LITERAL",
1022              "value": "true",
1023              "startPosition": "1157"
1024            },
1025            "endPosition": "1177",
1026            "kind": "WHILE_LOOP",
1027            "statement": {
1028              "endPosition": "1177",
1029              "kind": "BLOCK",
1030              "statements": [
1031                {
1032                  "endPosition": "1175",
1033                  "kind": "BREAK",
1034                  "label": "loop",
1035                  "startPosition": "1165"
1036                }
1037              ],
1038              "startPosition": "1163"
1039            },
1040            "startPosition": "1150"
1041          }
1042        ],
1043        "startPosition": "1148"
1044      },
1045      "label": "loop",
1046      "startPosition": "1142"
1047    },
1048    {
1049      "endPosition": "1214",
1050      "kind": "LABELED_STATEMENT",
1051      "statement": {
1052        "endPosition": "1214",
1053        "kind": "BLOCK",
1054        "statements": [
1055          {
1056            "endPosition": "1212",
1057            "kind": "FOR_LOOP",
1058            "statement": {
1059              "endPosition": "1212",
1060              "kind": "BLOCK",
1061              "statements": [
1062                {
1063                  "endPosition": "1210",
1064                  "kind": "BREAK",
1065                  "label": "loop",
1066                  "startPosition": "1200"
1067                }
1068              ],
1069              "startPosition": "1198"
1070            },
1071            "startPosition": "1189"
1072          }
1073        ],
1074        "startPosition": "1187"
1075      },
1076      "label": "loop",
1077      "startPosition": "1181"
1078    }
1079  ],
1080  "sourceName": "parsertests/breakStat.js",
1081  "strict": "false",
1082  "startPosition": "1117"
1083}
1084,
1085{
1086  "endPosition": "1117",
1087  "kind": "COMPILATION_UNIT",
1088  "sourceElements": [
1089    {
1090      "expression": {
1091        "condition": {
1092          "endPosition": "1118",
1093          "kind": "IDENTIFIER",
1094          "name": "a",
1095          "startPosition": "1117"
1096        },
1097        "endPosition": "1125",
1098        "kind": "CONDITIONAL_EXPRESSION",
1099        "trueExpression": {
1100          "endPosition": "1121",
1101          "kind": "IDENTIFIER",
1102          "name": "b",
1103          "startPosition": "1120"
1104        },
1105        "falseExpression": {
1106          "endPosition": "1125",
1107          "kind": "IDENTIFIER",
1108          "name": "c",
1109          "startPosition": "1124"
1110        },
1111        "startPosition": "1118"
1112      },
1113      "endPosition": "1125",
1114      "kind": "EXPRESSION_STATEMENT",
1115      "startPosition": "1117"
1116    }
1117  ],
1118  "sourceName": "parsertests/condExpr.js",
1119  "strict": "false",
1120  "startPosition": "1117"
1121}
1122,
1123{
1124  "endPosition": "1120",
1125  "kind": "COMPILATION_UNIT",
1126  "sourceElements": [
1127    {
1128      "condition": {
1129        "endPosition": "1131",
1130        "kind": "BOOLEAN_LITERAL",
1131        "value": "true",
1132        "startPosition": "1127"
1133      },
1134      "endPosition": "1146",
1135      "kind": "WHILE_LOOP",
1136      "statement": {
1137        "endPosition": "1146",
1138        "kind": "BLOCK",
1139        "statements": [
1140          {
1141            "endPosition": "1144",
1142            "kind": "CONTINUE",
1143            "startPosition": "1135"
1144          }
1145        ],
1146        "startPosition": "1133"
1147      },
1148      "startPosition": "1120"
1149    },
1150    {
1151      "endPosition": "1191",
1152      "kind": "LABELED_STATEMENT",
1153      "statement": {
1154        "endPosition": "1191",
1155        "kind": "BLOCK",
1156        "statements": [
1157          {
1158            "condition": {
1159              "endPosition": "1168",
1160              "kind": "BOOLEAN_LITERAL",
1161              "value": "true",
1162              "startPosition": "1164"
1163            },
1164            "endPosition": "1189",
1165            "kind": "WHILE_LOOP",
1166            "statement": {
1167              "endPosition": "1189",
1168              "kind": "BLOCK",
1169              "statements": [
1170                {
1171                  "endPosition": "1187",
1172                  "kind": "CONTINUE",
1173                  "label": "begin",
1174                  "startPosition": "1172"
1175                }
1176              ],
1177              "startPosition": "1170"
1178            },
1179            "startPosition": "1157"
1180          }
1181        ],
1182        "startPosition": "1155"
1183      },
1184      "label": "begin",
1185      "startPosition": "1148"
1186    },
1187    {
1188      "endPosition": "1231",
1189      "kind": "LABELED_STATEMENT",
1190      "statement": {
1191        "endPosition": "1231",
1192        "kind": "BLOCK",
1193        "statements": [
1194          {
1195            "endPosition": "1229",
1196            "kind": "FOR_LOOP",
1197            "statement": {
1198              "endPosition": "1229",
1199              "kind": "BLOCK",
1200              "statements": [
1201                {
1202                  "endPosition": "1227",
1203                  "kind": "CONTINUE",
1204                  "label": "start",
1205                  "startPosition": "1212"
1206                }
1207              ],
1208              "startPosition": "1210"
1209            },
1210            "startPosition": "1202"
1211          }
1212        ],
1213        "startPosition": "1200"
1214      },
1215      "label": "start",
1216      "startPosition": "1193"
1217    }
1218  ],
1219  "sourceName": "parsertests/continueStat.js",
1220  "strict": "false",
1221  "startPosition": "1120"
1222}
1223,
1224{
1225  "endPosition": "1118",
1226  "kind": "COMPILATION_UNIT",
1227  "sourceElements": [
1228    {
1229      "endPosition": "1127",
1230      "kind": "DEBUGGER",
1231      "startPosition": "1118"
1232    }
1233  ],
1234  "sourceName": "parsertests/debuggerStat.js",
1235  "strict": "false",
1236  "startPosition": "1118"
1237}
1238,
1239{
1240  "endPosition": "1137",
1241  "kind": "COMPILATION_UNIT",
1242  "sourceElements": [
1243    {
1244      "endPosition": "1172",
1245      "kind": "FUNCTION",
1246      "name": {
1247        "endPosition": "1151",
1248        "kind": "IDENTIFIER",
1249        "name": "hello",
1250        "startPosition": "1146"
1251      },
1252      "body": {
1253        "endPosition": "1170",
1254        "kind": "BLOCK",
1255        "statements": [
1256          {
1257            "expression": {
1258              "endPosition": "1170",
1259              "kind": "FUNCTION_INVOCATION",
1260              "functionSelect": {
1261                "endPosition": "1161",
1262                "kind": "IDENTIFIER",
1263                "name": "print",
1264                "startPosition": "1156"
1265              },
1266              "arguments": [
1267                {
1268                  "endPosition": "1168",
1269                  "kind": "STRING_LITERAL",
1270                  "value": "hello",
1271                  "startPosition": "1163"
1272                }
1273              ],
1274              "startPosition": "1156"
1275            },
1276            "endPosition": "1170",
1277            "kind": "EXPRESSION_STATEMENT",
1278            "startPosition": "1156"
1279          }
1280        ],
1281        "startPosition": "1154"
1282      },
1283      "strict": "false",
1284      "startPosition": "1137",
1285      "parameters": []
1286    },
1287    {
1288      "endPosition": "1203",
1289      "kind": "FUNCTION",
1290      "name": {
1291        "endPosition": "1187",
1292        "kind": "IDENTIFIER",
1293        "name": "hello",
1294        "startPosition": "1182"
1295      },
1296      "body": {
1297        "endPosition": "1201",
1298        "kind": "BLOCK",
1299        "statements": [
1300          {
1301            "expression": {
1302              "endPosition": "1201",
1303              "kind": "FUNCTION_INVOCATION",
1304              "functionSelect": {
1305                "endPosition": "1198",
1306                "kind": "IDENTIFIER",
1307                "name": "print",
1308                "startPosition": "1193"
1309              },
1310              "arguments": [
1311                {
1312                  "endPosition": "1200",
1313                  "kind": "IDENTIFIER",
1314                  "name": "a",
1315                  "startPosition": "1199"
1316                }
1317              ],
1318              "startPosition": "1193"
1319            },
1320            "endPosition": "1201",
1321            "kind": "EXPRESSION_STATEMENT",
1322            "startPosition": "1193"
1323          }
1324        ],
1325        "startPosition": "1191"
1326      },
1327      "strict": "false",
1328      "startPosition": "1173",
1329      "parameters": [
1330        {
1331          "endPosition": "1189",
1332          "kind": "IDENTIFIER",
1333          "name": "a",
1334          "startPosition": "1188"
1335        }
1336      ]
1337    },
1338    {
1339      "endPosition": "1240",
1340      "kind": "FUNCTION",
1341      "name": {
1342        "endPosition": "1218",
1343        "kind": "IDENTIFIER",
1344        "name": "hello",
1345        "startPosition": "1213"
1346      },
1347      "body": {
1348        "endPosition": "1238",
1349        "kind": "BLOCK",
1350        "statements": [
1351          {
1352            "expression": {
1353              "endPosition": "1238",
1354              "kind": "FUNCTION_INVOCATION",
1355              "functionSelect": {
1356                "endPosition": "1232",
1357                "kind": "IDENTIFIER",
1358                "name": "print",
1359                "startPosition": "1227"
1360              },
1361              "arguments": [
1362                {
1363                  "endPosition": "1234",
1364                  "kind": "IDENTIFIER",
1365                  "name": "a",
1366                  "startPosition": "1233"
1367                },
1368                {
1369                  "endPosition": "1237",
1370                  "kind": "IDENTIFIER",
1371                  "name": "b",
1372                  "startPosition": "1236"
1373                }
1374              ],
1375              "startPosition": "1227"
1376            },
1377            "endPosition": "1238",
1378            "kind": "EXPRESSION_STATEMENT",
1379            "startPosition": "1227"
1380          }
1381        ],
1382        "startPosition": "1225"
1383      },
1384      "strict": "false",
1385      "startPosition": "1204",
1386      "parameters": [
1387        {
1388          "endPosition": "1220",
1389          "kind": "IDENTIFIER",
1390          "name": "a",
1391          "startPosition": "1219"
1392        },
1393        {
1394          "endPosition": "1223",
1395          "kind": "IDENTIFIER",
1396          "name": "b",
1397          "startPosition": "1222"
1398        }
1399      ]
1400    },
1401    {
1402      "endPosition": "1282",
1403      "kind": "VARIABLE",
1404      "binding": {
1405        "endPosition": "1250",
1406        "kind": "IDENTIFIER",
1407        "name": "hello",
1408        "startPosition": "1245"
1409      },
1410      "startPosition": "1241",
1411      "initializer": {
1412        "endPosition": "1264",
1413        "kind": "FUNCTION_EXPRESSION",
1414        "body": {
1415          "endPosition": "1280",
1416          "kind": "BLOCK",
1417          "statements": [
1418            {
1419              "expression": {
1420                "endPosition": "1280",
1421                "kind": "FUNCTION_INVOCATION",
1422                "functionSelect": {
1423                  "endPosition": "1271",
1424                  "kind": "IDENTIFIER",
1425                  "name": "print",
1426                  "startPosition": "1266"
1427                },
1428                "arguments": [
1429                  {
1430                    "endPosition": "1278",
1431                    "kind": "STRING_LITERAL",
1432                    "value": "hello",
1433                    "startPosition": "1273"
1434                  }
1435                ],
1436                "startPosition": "1266"
1437              },
1438              "endPosition": "1280",
1439              "kind": "EXPRESSION_STATEMENT",
1440              "startPosition": "1266"
1441            }
1442          ],
1443          "startPosition": "1264"
1444        },
1445        "strict": "false",
1446        "startPosition": "1264",
1447        "parameters": []
1448      }
1449    },
1450    {
1451      "endPosition": "1331",
1452      "kind": "VARIABLE",
1453      "binding": {
1454        "endPosition": "1293",
1455        "kind": "IDENTIFIER",
1456        "name": "hello",
1457        "startPosition": "1288"
1458      },
1459      "startPosition": "1284",
1460      "initializer": {
1461        "endPosition": "1313",
1462        "kind": "FUNCTION_EXPRESSION",
1463        "name": {
1464          "endPosition": "1310",
1465          "kind": "IDENTIFIER",
1466          "name": "hello",
1467          "startPosition": "1305"
1468        },
1469        "body": {
1470          "endPosition": "1329",
1471          "kind": "BLOCK",
1472          "statements": [
1473            {
1474              "expression": {
1475                "endPosition": "1329",
1476                "kind": "FUNCTION_INVOCATION",
1477                "functionSelect": {
1478                  "endPosition": "1320",
1479                  "kind": "IDENTIFIER",
1480                  "name": "print",
1481                  "startPosition": "1315"
1482                },
1483                "arguments": [
1484                  {
1485                    "endPosition": "1327",
1486                    "kind": "STRING_LITERAL",
1487                    "value": "hello",
1488                    "startPosition": "1322"
1489                  }
1490                ],
1491                "startPosition": "1315"
1492              },
1493              "endPosition": "1329",
1494              "kind": "EXPRESSION_STATEMENT",
1495              "startPosition": "1315"
1496            }
1497          ],
1498          "startPosition": "1313"
1499        },
1500        "strict": "false",
1501        "startPosition": "1313",
1502        "parameters": []
1503      }
1504    },
1505    {
1506      "expression": {
1507        "endPosition": "1344",
1508        "kind": "FUNCTION_EXPRESSION",
1509        "body": {
1510          "endPosition": "1345",
1511          "kind": "BLOCK",
1512          "statements": [],
1513          "startPosition": "1344"
1514        },
1515        "strict": "false",
1516        "startPosition": "1344",
1517        "parameters": []
1518      },
1519      "endPosition": "1347",
1520      "kind": "EXPRESSION_STATEMENT",
1521      "startPosition": "1333"
1522    },
1523    {
1524      "endPosition": "1380",
1525      "kind": "FUNCTION",
1526      "name": {
1527        "endPosition": "1361",
1528        "kind": "IDENTIFIER",
1529        "name": "test",
1530        "startPosition": "1357"
1531      },
1532      "body": {
1533        "endPosition": "1377",
1534        "kind": "BLOCK",
1535        "statements": [
1536          {
1537            "expression": {
1538              "endPosition": "1377",
1539              "kind": "STRING_LITERAL",
1540              "value": "use strict",
1541              "startPosition": "1367"
1542            },
1543            "endPosition": "1377",
1544            "kind": "EXPRESSION_STATEMENT",
1545            "startPosition": "1367"
1546          }
1547        ],
1548        "startPosition": "1364"
1549      },
1550      "strict": "true",
1551      "startPosition": "1348",
1552      "parameters": []
1553    }
1554  ],
1555  "sourceName": "parsertests/functions.js",
1556  "strict": "false",
1557  "startPosition": "1137"
1558}
1559,
1560{
1561  "endPosition": "1114",
1562  "kind": "COMPILATION_UNIT",
1563  "sourceElements": [
1564    {
1565      "condition": {
1566        "endPosition": "1120",
1567        "kind": "IDENTIFIER",
1568        "name": "js",
1569        "startPosition": "1118"
1570      },
1571      "endPosition": "1135",
1572      "kind": "IF",
1573      "startPosition": "1114",
1574      "thenStatement": {
1575        "endPosition": "1135",
1576        "kind": "BLOCK",
1577        "statements": [
1578          {
1579            "expression": {
1580              "endPosition": "1133",
1581              "kind": "FUNCTION_INVOCATION",
1582              "functionSelect": {
1583                "endPosition": "1131",
1584                "kind": "IDENTIFIER",
1585                "name": "nashorn",
1586                "startPosition": "1124"
1587              },
1588              "arguments": [],
1589              "startPosition": "1124"
1590            },
1591            "endPosition": "1133",
1592            "kind": "EXPRESSION_STATEMENT",
1593            "startPosition": "1124"
1594          }
1595        ],
1596        "startPosition": "1122"
1597      }
1598    },
1599    {
1600      "condition": {
1601        "endPosition": "1143",
1602        "kind": "IDENTIFIER",
1603        "name": "js",
1604        "startPosition": "1141"
1605      },
1606      "elseStatement": {
1607        "endPosition": "1174",
1608        "kind": "BLOCK",
1609        "statements": [
1610          {
1611            "expression": {
1612              "endPosition": "1172",
1613              "kind": "FUNCTION_INVOCATION",
1614              "functionSelect": {
1615                "endPosition": "1170",
1616                "kind": "IDENTIFIER",
1617                "name": "java",
1618                "startPosition": "1166"
1619              },
1620              "arguments": [],
1621              "startPosition": "1166"
1622            },
1623            "endPosition": "1172",
1624            "kind": "EXPRESSION_STATEMENT",
1625            "startPosition": "1166"
1626          }
1627        ],
1628        "startPosition": "1164"
1629      },
1630      "endPosition": "1174",
1631      "kind": "IF",
1632      "startPosition": "1137",
1633      "thenStatement": {
1634        "endPosition": "1158",
1635        "kind": "BLOCK",
1636        "statements": [
1637          {
1638            "expression": {
1639              "endPosition": "1156",
1640              "kind": "FUNCTION_INVOCATION",
1641              "functionSelect": {
1642                "endPosition": "1154",
1643                "kind": "IDENTIFIER",
1644                "name": "nashorn",
1645                "startPosition": "1147"
1646              },
1647              "arguments": [],
1648              "startPosition": "1147"
1649            },
1650            "endPosition": "1156",
1651            "kind": "EXPRESSION_STATEMENT",
1652            "startPosition": "1147"
1653          }
1654        ],
1655        "startPosition": "1145"
1656      }
1657    }
1658  ],
1659  "sourceName": "parsertests/ifStat.js",
1660  "strict": "false",
1661  "startPosition": "1114"
1662}
1663,
1664{
1665  "endPosition": "1113",
1666  "kind": "COMPILATION_UNIT",
1667  "sourceElements": [
1668    {
1669      "endPosition": "1144",
1670      "kind": "LABELED_STATEMENT",
1671      "statement": {
1672        "endPosition": "1144",
1673        "kind": "BLOCK",
1674        "statements": [
1675          {
1676            "endPosition": "1142",
1677            "kind": "FOR_LOOP",
1678            "statement": {
1679              "endPosition": "1142",
1680              "kind": "BREAK",
1681              "label": "begin",
1682              "startPosition": "1131"
1683            },
1684            "startPosition": "1122"
1685          }
1686        ],
1687        "startPosition": "1120"
1688      },
1689      "label": "begin",
1690      "startPosition": "1113"
1691    },
1692    {
1693      "endPosition": "1181",
1694      "kind": "LABELED_STATEMENT",
1695      "statement": {
1696        "endPosition": "1181",
1697        "kind": "BLOCK",
1698        "statements": [
1699          {
1700            "condition": {
1701              "endPosition": "1166",
1702              "kind": "BOOLEAN_LITERAL",
1703              "value": "true",
1704              "startPosition": "1162"
1705            },
1706            "endPosition": "1179",
1707            "kind": "WHILE_LOOP",
1708            "statement": {
1709              "endPosition": "1179",
1710              "kind": "BREAK",
1711              "label": "begin",
1712              "startPosition": "1168"
1713            },
1714            "startPosition": "1155"
1715          }
1716        ],
1717        "startPosition": "1153"
1718      },
1719      "label": "begin",
1720      "startPosition": "1146"
1721    }
1722  ],
1723  "sourceName": "parsertests/labelledStat.js",
1724  "strict": "false",
1725  "startPosition": "1113"
1726}
1727,
1728{
1729  "endPosition": "1125",
1730  "kind": "COMPILATION_UNIT",
1731  "sourceElements": [
1732    {
1733      "expression": {
1734        "expression": {
1735          "endPosition": "1126",
1736          "kind": "IDENTIFIER",
1737          "name": "a",
1738          "startPosition": "1125"
1739        },
1740        "endPosition": "1129",
1741        "kind": "ARRAY_ACCESS",
1742        "index": {
1743          "endPosition": "1128",
1744          "kind": "NUMBER_LITERAL",
1745          "value": "3",
1746          "startPosition": "1127"
1747        },
1748        "startPosition": "1125"
1749      },
1750      "endPosition": "1129",
1751      "kind": "EXPRESSION_STATEMENT",
1752      "startPosition": "1125"
1753    },
1754    {
1755      "expression": {
1756        "expression": {
1757          "endPosition": "1132",
1758          "kind": "IDENTIFIER",
1759          "name": "a",
1760          "startPosition": "1131"
1761        },
1762        "endPosition": "1135",
1763        "kind": "ARRAY_ACCESS",
1764        "index": {
1765          "endPosition": "1134",
1766          "kind": "IDENTIFIER",
1767          "name": "b",
1768          "startPosition": "1133"
1769        },
1770        "startPosition": "1131"
1771      },
1772      "endPosition": "1135",
1773      "kind": "EXPRESSION_STATEMENT",
1774      "startPosition": "1131"
1775    },
1776    {
1777      "expression": {
1778        "expression": {
1779          "endPosition": "1138",
1780          "kind": "IDENTIFIER",
1781          "name": "a",
1782          "startPosition": "1137"
1783        },
1784        "endPosition": "1145",
1785        "kind": "ARRAY_ACCESS",
1786        "index": {
1787          "endPosition": "1143",
1788          "kind": "STRING_LITERAL",
1789          "value": "foo",
1790          "startPosition": "1140"
1791        },
1792        "startPosition": "1137"
1793      },
1794      "endPosition": "1145",
1795      "kind": "EXPRESSION_STATEMENT",
1796      "startPosition": "1137"
1797    },
1798    {
1799      "expression": {
1800        "identifier": "foo",
1801        "expression": {
1802          "endPosition": "1150",
1803          "kind": "IDENTIFIER",
1804          "name": "obj",
1805          "startPosition": "1147"
1806        },
1807        "endPosition": "1154",
1808        "kind": "MEMBER_SELECT",
1809        "startPosition": "1147"
1810      },
1811      "endPosition": "1154",
1812      "kind": "EXPRESSION_STATEMENT",
1813      "startPosition": "1147"
1814    },
1815    {
1816      "expression": {
1817        "identifier": "bar",
1818        "expression": {
1819          "identifier": "foo",
1820          "expression": {
1821            "endPosition": "1159",
1822            "kind": "IDENTIFIER",
1823            "name": "obj",
1824            "startPosition": "1156"
1825          },
1826          "endPosition": "1163",
1827          "kind": "MEMBER_SELECT",
1828          "startPosition": "1156"
1829        },
1830        "endPosition": "1167",
1831        "kind": "MEMBER_SELECT",
1832        "startPosition": "1156"
1833      },
1834      "endPosition": "1167",
1835      "kind": "EXPRESSION_STATEMENT",
1836      "startPosition": "1156"
1837    },
1838    {
1839      "expression": {
1840        "constructorExpression": {
1841          "endPosition": "1177",
1842          "kind": "FUNCTION_INVOCATION",
1843          "functionSelect": {
1844            "endPosition": "1177",
1845            "kind": "IDENTIFIER",
1846            "name": "Type",
1847            "startPosition": "1173"
1848          },
1849          "arguments": [],
1850          "startPosition": "1173"
1851        },
1852        "endPosition": "1177",
1853        "kind": "NEW",
1854        "startPosition": "1169"
1855      },
1856      "endPosition": "1177",
1857      "kind": "EXPRESSION_STATEMENT",
1858      "startPosition": "1169"
1859    },
1860    {
1861      "expression": {
1862        "constructorExpression": {
1863          "endPosition": "1189",
1864          "kind": "FUNCTION_INVOCATION",
1865          "functionSelect": {
1866            "endPosition": "1187",
1867            "kind": "IDENTIFIER",
1868            "name": "Type",
1869            "startPosition": "1183"
1870          },
1871          "arguments": [],
1872          "startPosition": "1183"
1873        },
1874        "endPosition": "1189",
1875        "kind": "NEW",
1876        "startPosition": "1179"
1877      },
1878      "endPosition": "1189",
1879      "kind": "EXPRESSION_STATEMENT",
1880      "startPosition": "1179"
1881    },
1882    {
1883      "expression": {
1884        "constructorExpression": {
1885          "endPosition": "1211",
1886          "kind": "FUNCTION_INVOCATION",
1887          "functionSelect": {
1888            "endPosition": "1199",
1889            "kind": "IDENTIFIER",
1890            "name": "Type",
1891            "startPosition": "1195"
1892          },
1893          "arguments": [
1894            {
1895              "endPosition": "1201",
1896              "kind": "IDENTIFIER",
1897              "name": "a",
1898              "startPosition": "1200"
1899            },
1900            {
1901              "endPosition": "1209",
1902              "kind": "STRING_LITERAL",
1903              "value": "hello",
1904              "startPosition": "1204"
1905            }
1906          ],
1907          "startPosition": "1195"
1908        },
1909        "endPosition": "1211",
1910        "kind": "NEW",
1911        "startPosition": "1191"
1912      },
1913      "endPosition": "1211",
1914      "kind": "EXPRESSION_STATEMENT",
1915      "startPosition": "1191"
1916    },
1917    {
1918      "expression": {
1919        "constructorExpression": {
1920          "endPosition": "1225",
1921          "kind": "FUNCTION_INVOCATION",
1922          "functionSelect": {
1923            "identifier": "Type",
1924            "expression": {
1925              "endPosition": "1220",
1926              "kind": "IDENTIFIER",
1927              "name": "obj",
1928              "startPosition": "1217"
1929            },
1930            "endPosition": "1225",
1931            "kind": "MEMBER_SELECT",
1932            "startPosition": "1217"
1933          },
1934          "arguments": [],
1935          "startPosition": "1220"
1936        },
1937        "endPosition": "1225",
1938        "kind": "NEW",
1939        "startPosition": "1213"
1940      },
1941      "endPosition": "1225",
1942      "kind": "EXPRESSION_STATEMENT",
1943      "startPosition": "1213"
1944    },
1945    {
1946      "expression": {
1947        "constructorExpression": {
1948          "endPosition": "1241",
1949          "kind": "FUNCTION_INVOCATION",
1950          "functionSelect": {
1951            "identifier": "Type",
1952            "expression": {
1953              "endPosition": "1234",
1954              "kind": "IDENTIFIER",
1955              "name": "obj",
1956              "startPosition": "1231"
1957            },
1958            "endPosition": "1239",
1959            "kind": "MEMBER_SELECT",
1960            "startPosition": "1231"
1961          },
1962          "arguments": [],
1963          "startPosition": "1234"
1964        },
1965        "endPosition": "1241",
1966        "kind": "NEW",
1967        "startPosition": "1227"
1968      },
1969      "endPosition": "1241",
1970      "kind": "EXPRESSION_STATEMENT",
1971      "startPosition": "1227"
1972    },
1973    {
1974      "expression": {
1975        "constructorExpression": {
1976          "endPosition": "1267",
1977          "kind": "FUNCTION_INVOCATION",
1978          "functionSelect": {
1979            "identifier": "Type",
1980            "expression": {
1981              "endPosition": "1250",
1982              "kind": "IDENTIFIER",
1983              "name": "obj",
1984              "startPosition": "1247"
1985            },
1986            "endPosition": "1255",
1987            "kind": "MEMBER_SELECT",
1988            "startPosition": "1247"
1989          },
1990          "arguments": [
1991            {
1992              "endPosition": "1257",
1993              "kind": "IDENTIFIER",
1994              "name": "a",
1995              "startPosition": "1256"
1996            },
1997            {
1998              "endPosition": "1265",
1999              "kind": "STRING_LITERAL",
2000              "value": "hello",
2001              "startPosition": "1260"
2002            }
2003          ],
2004          "startPosition": "1250"
2005        },
2006        "endPosition": "1267",
2007        "kind": "NEW",
2008        "startPosition": "1243"
2009      },
2010      "endPosition": "1267",
2011      "kind": "EXPRESSION_STATEMENT",
2012      "startPosition": "1243"
2013    },
2014    {
2015      "expression": {
2016        "endPosition": "1274",
2017        "kind": "FUNCTION_INVOCATION",
2018        "functionSelect": {
2019          "endPosition": "1272",
2020          "kind": "IDENTIFIER",
2021          "name": "foo",
2022          "startPosition": "1269"
2023        },
2024        "arguments": [],
2025        "startPosition": "1269"
2026      },
2027      "endPosition": "1274",
2028      "kind": "EXPRESSION_STATEMENT",
2029      "startPosition": "1269"
2030    },
2031    {
2032      "expression": {
2033        "endPosition": "1284",
2034        "kind": "FUNCTION_INVOCATION",
2035        "functionSelect": {
2036          "identifier": "foo",
2037          "expression": {
2038            "endPosition": "1278",
2039            "kind": "IDENTIFIER",
2040            "name": "obj",
2041            "startPosition": "1275"
2042          },
2043          "endPosition": "1282",
2044          "kind": "MEMBER_SELECT",
2045          "startPosition": "1275"
2046        },
2047        "arguments": [],
2048        "startPosition": "1275"
2049      },
2050      "endPosition": "1284",
2051      "kind": "EXPRESSION_STATEMENT",
2052      "startPosition": "1275"
2053    },
2054    {
2055      "expression": {
2056        "endPosition": "1294",
2057        "kind": "FUNCTION_INVOCATION",
2058        "functionSelect": {
2059          "endPosition": "1289",
2060          "kind": "IDENTIFIER",
2061          "name": "foo",
2062          "startPosition": "1286"
2063        },
2064        "arguments": [
2065          {
2066            "endPosition": "1291",
2067            "kind": "IDENTIFIER",
2068            "name": "a",
2069            "startPosition": "1290"
2070          },
2071          {
2072            "endPosition": "1293",
2073            "kind": "IDENTIFIER",
2074            "name": "b",
2075            "startPosition": "1292"
2076          }
2077        ],
2078        "startPosition": "1286"
2079      },
2080      "endPosition": "1294",
2081      "kind": "EXPRESSION_STATEMENT",
2082      "startPosition": "1286"
2083    },
2084    {
2085      "expression": {
2086        "endPosition": "1309",
2087        "kind": "FUNCTION_INVOCATION",
2088        "functionSelect": {
2089          "identifier": "foo",
2090          "expression": {
2091            "endPosition": "1299",
2092            "kind": "IDENTIFIER",
2093            "name": "obj",
2094            "startPosition": "1296"
2095          },
2096          "endPosition": "1303",
2097          "kind": "MEMBER_SELECT",
2098          "startPosition": "1296"
2099        },
2100        "arguments": [
2101          {
2102            "endPosition": "1305",
2103            "kind": "IDENTIFIER",
2104            "name": "a",
2105            "startPosition": "1304"
2106          },
2107          {
2108            "endPosition": "1308",
2109            "kind": "IDENTIFIER",
2110            "name": "b",
2111            "startPosition": "1307"
2112          }
2113        ],
2114        "startPosition": "1296"
2115      },
2116      "endPosition": "1309",
2117      "kind": "EXPRESSION_STATEMENT",
2118      "startPosition": "1296"
2119    }
2120  ],
2121  "sourceName": "parsertests/lhsExpr.js",
2122  "strict": "false",
2123  "startPosition": "1125"
2124}
2125,
2126{
2127  "endPosition": "1110",
2128  "kind": "COMPILATION_UNIT",
2129  "sourceElements": [
2130    {
2131      "condition": {
2132        "endPosition": "1120",
2133        "kind": "BOOLEAN_LITERAL",
2134        "value": "true",
2135        "startPosition": "1116"
2136      },
2137      "endPosition": "1140",
2138      "kind": "WHILE_LOOP",
2139      "statement": {
2140        "endPosition": "1140",
2141        "kind": "BLOCK",
2142        "statements": [
2143          {
2144            "expression": {
2145              "endPosition": "1138",
2146              "kind": "FUNCTION_INVOCATION",
2147              "functionSelect": {
2148                "endPosition": "1129",
2149                "kind": "IDENTIFIER",
2150                "name": "print",
2151                "startPosition": "1124"
2152              },
2153              "arguments": [
2154                {
2155                  "endPosition": "1136",
2156                  "kind": "STRING_LITERAL",
2157                  "value": "hello",
2158                  "startPosition": "1131"
2159                }
2160              ],
2161              "startPosition": "1124"
2162            },
2163            "endPosition": "1138",
2164            "kind": "EXPRESSION_STATEMENT",
2165            "startPosition": "1124"
2166          }
2167        ],
2168        "startPosition": "1122"
2169      },
2170      "startPosition": "1110"
2171    },
2172    {
2173      "condition": {
2174        "endPosition": "1173",
2175        "kind": "BOOLEAN_LITERAL",
2176        "value": "true",
2177        "startPosition": "1169"
2178      },
2179      "endPosition": "1174",
2180      "kind": "DO_WHILE_LOOP",
2181      "statement": {
2182        "endPosition": "1162",
2183        "kind": "BLOCK",
2184        "statements": [
2185          {
2186            "expression": {
2187              "endPosition": "1160",
2188              "kind": "FUNCTION_INVOCATION",
2189              "functionSelect": {
2190                "endPosition": "1151",
2191                "kind": "IDENTIFIER",
2192                "name": "print",
2193                "startPosition": "1146"
2194              },
2195              "arguments": [
2196                {
2197                  "endPosition": "1158",
2198                  "kind": "STRING_LITERAL",
2199                  "value": "hello",
2200                  "startPosition": "1153"
2201                }
2202              ],
2203              "startPosition": "1146"
2204            },
2205            "endPosition": "1160",
2206            "kind": "EXPRESSION_STATEMENT",
2207            "startPosition": "1146"
2208          }
2209        ],
2210        "startPosition": "1144"
2211      },
2212      "startPosition": "1141"
2213    },
2214    {
2215      "expression": {
2216        "endPosition": "1188",
2217        "kind": "IDENTIFIER",
2218        "name": "obj",
2219        "startPosition": "1185"
2220      },
2221      "endPosition": "1207",
2222      "kind": "FOR_IN_LOOP",
2223      "forEach": "false",
2224      "variable": {
2225        "endPosition": "1181",
2226        "kind": "IDENTIFIER",
2227        "name": "i",
2228        "startPosition": "1180"
2229      },
2230      "statement": {
2231        "endPosition": "1207",
2232        "kind": "BLOCK",
2233        "statements": [
2234          {
2235            "expression": {
2236              "endPosition": "1205",
2237              "kind": "FUNCTION_INVOCATION",
2238              "functionSelect": {
2239                "endPosition": "1197",
2240                "kind": "IDENTIFIER",
2241                "name": "print",
2242                "startPosition": "1192"
2243              },
2244              "arguments": [
2245                {
2246                  "expression": {
2247                    "endPosition": "1201",
2248                    "kind": "IDENTIFIER",
2249                    "name": "obj",
2250                    "startPosition": "1198"
2251                  },
2252                  "endPosition": "1204",
2253                  "kind": "ARRAY_ACCESS",
2254                  "index": {
2255                    "endPosition": "1203",
2256                    "kind": "IDENTIFIER",
2257                    "name": "i",
2258                    "startPosition": "1202"
2259                  },
2260                  "startPosition": "1198"
2261                }
2262              ],
2263              "startPosition": "1192"
2264            },
2265            "endPosition": "1205",
2266            "kind": "EXPRESSION_STATEMENT",
2267            "startPosition": "1192"
2268          }
2269        ],
2270        "startPosition": "1190"
2271      },
2272      "startPosition": "1175"
2273    },
2274    {
2275      "expression": {
2276        "endPosition": "1226",
2277        "kind": "IDENTIFIER",
2278        "name": "obj",
2279        "startPosition": "1223"
2280      },
2281      "endPosition": "1240",
2282      "kind": "FOR_IN_LOOP",
2283      "forEach": "true",
2284      "variable": {
2285        "endPosition": "1219",
2286        "kind": "IDENTIFIER",
2287        "name": "i",
2288        "startPosition": "1218"
2289      },
2290      "statement": {
2291        "endPosition": "1240",
2292        "kind": "BLOCK",
2293        "statements": [
2294          {
2295            "expression": {
2296              "endPosition": "1238",
2297              "kind": "FUNCTION_INVOCATION",
2298              "functionSelect": {
2299                "endPosition": "1235",
2300                "kind": "IDENTIFIER",
2301                "name": "print",
2302                "startPosition": "1230"
2303              },
2304              "arguments": [
2305                {
2306                  "endPosition": "1237",
2307                  "kind": "IDENTIFIER",
2308                  "name": "i",
2309                  "startPosition": "1236"
2310                }
2311              ],
2312              "startPosition": "1230"
2313            },
2314            "endPosition": "1238",
2315            "kind": "EXPRESSION_STATEMENT",
2316            "startPosition": "1230"
2317          }
2318        ],
2319        "startPosition": "1228"
2320      },
2321      "startPosition": "1208"
2322    },
2323    {
2324      "condition": {
2325        "leftOperand": {
2326          "endPosition": "1254",
2327          "kind": "IDENTIFIER",
2328          "name": "i",
2329          "startPosition": "1253"
2330        },
2331        "endPosition": "1259",
2332        "kind": "LESS_THAN",
2333        "rightOperand": {
2334          "endPosition": "1259",
2335          "kind": "NUMBER_LITERAL",
2336          "value": "10",
2337          "startPosition": "1257"
2338        },
2339        "startPosition": "1253"
2340      },
2341      "endPosition": "1278",
2342      "kind": "FOR_LOOP",
2343      "statement": {
2344        "endPosition": "1278",
2345        "kind": "BLOCK",
2346        "statements": [
2347          {
2348            "expression": {
2349              "endPosition": "1276",
2350              "kind": "FUNCTION_INVOCATION",
2351              "functionSelect": {
2352                "endPosition": "1273",
2353                "kind": "IDENTIFIER",
2354                "name": "print",
2355                "startPosition": "1268"
2356              },
2357              "arguments": [
2358                {
2359                  "endPosition": "1275",
2360                  "kind": "IDENTIFIER",
2361                  "name": "i",
2362                  "startPosition": "1274"
2363                }
2364              ],
2365              "startPosition": "1268"
2366            },
2367            "endPosition": "1276",
2368            "kind": "EXPRESSION_STATEMENT",
2369            "startPosition": "1268"
2370          }
2371        ],
2372        "startPosition": "1266"
2373      },
2374      "update": {
2375        "expression": {
2376          "endPosition": "1262",
2377          "kind": "IDENTIFIER",
2378          "name": "i",
2379          "startPosition": "1261"
2380        },
2381        "endPosition": "1264",
2382        "kind": "POSTFIX_INCREMENT",
2383        "startPosition": "1261"
2384      },
2385      "startPosition": "1241",
2386      "initializer": {
2387        "expression": {
2388          "endPosition": "1251",
2389          "kind": "NUMBER_LITERAL",
2390          "value": "0",
2391          "startPosition": "1250"
2392        },
2393        "endPosition": "1251",
2394        "kind": "ASSIGNMENT",
2395        "variable": {
2396          "endPosition": "1247",
2397          "kind": "IDENTIFIER",
2398          "name": "i",
2399          "startPosition": "1246"
2400        },
2401        "startPosition": "1246"
2402      }
2403    }
2404  ],
2405  "sourceName": "parsertests/loopStat.js",
2406  "strict": "false",
2407  "startPosition": "1110"
2408}
2409,
2410{
2411  "endPosition": "1125",
2412  "kind": "COMPILATION_UNIT",
2413  "sourceElements": [
2414    {
2415      "expression": {
2416        "expression": {
2417          "endPosition": "1133",
2418          "kind": "OBJECT_LITERAL",
2419          "startPosition": "1131",
2420          "properties": []
2421        },
2422        "endPosition": "1133",
2423        "kind": "ASSIGNMENT",
2424        "variable": {
2425          "endPosition": "1128",
2426          "kind": "IDENTIFIER",
2427          "name": "obj",
2428          "startPosition": "1125"
2429        },
2430        "startPosition": "1125"
2431      },
2432      "endPosition": "1133",
2433      "kind": "EXPRESSION_STATEMENT",
2434      "startPosition": "1125"
2435    },
2436    {
2437      "expression": {
2438        "expression": {
2439          "endPosition": "1154",
2440          "kind": "OBJECT_LITERAL",
2441          "startPosition": "1139",
2442          "properties": [
2443            {
2444              "endPosition": "1146",
2445              "kind": "PROPERTY",
2446              "value": {
2447                "endPosition": "1146",
2448                "kind": "NUMBER_LITERAL",
2449                "value": "10",
2450                "startPosition": "1144"
2451              },
2452              "startPosition": "1141",
2453              "key": {
2454                "endPosition": "1142",
2455                "kind": "IDENTIFIER",
2456                "name": "x",
2457                "startPosition": "1141"
2458              }
2459            },
2460            {
2461              "endPosition": "1152",
2462              "kind": "PROPERTY",
2463              "value": {
2464                "endPosition": "1152",
2465                "kind": "NUMBER_LITERAL",
2466                "value": "2",
2467                "startPosition": "1151"
2468              },
2469              "startPosition": "1148",
2470              "key": {
2471                "endPosition": "1149",
2472                "kind": "IDENTIFIER",
2473                "name": "y",
2474                "startPosition": "1148"
2475              }
2476            }
2477          ]
2478        },
2479        "endPosition": "1154",
2480        "kind": "ASSIGNMENT",
2481        "variable": {
2482          "endPosition": "1136",
2483          "kind": "IDENTIFIER",
2484          "name": "p",
2485          "startPosition": "1135"
2486        },
2487        "startPosition": "1135"
2488      },
2489      "endPosition": "1154",
2490      "kind": "EXPRESSION_STATEMENT",
2491      "startPosition": "1135"
2492    },
2493    {
2494      "expression": {
2495        "expression": {
2496          "endPosition": "1179",
2497          "kind": "OBJECT_LITERAL",
2498          "startPosition": "1160",
2499          "properties": [
2500            {
2501              "endPosition": "1169",
2502              "kind": "PROPERTY",
2503              "value": {
2504                "endPosition": "1169",
2505                "kind": "NUMBER_LITERAL",
2506                "value": "10",
2507                "startPosition": "1167"
2508              },
2509              "startPosition": "1163",
2510              "key": {
2511                "endPosition": "1164",
2512                "kind": "STRING_LITERAL",
2513                "value": "x",
2514                "startPosition": "1163"
2515              }
2516            },
2517            {
2518              "endPosition": "1177",
2519              "kind": "PROPERTY",
2520              "value": {
2521                "endPosition": "1177",
2522                "kind": "NUMBER_LITERAL",
2523                "value": "2",
2524                "startPosition": "1176"
2525              },
2526              "startPosition": "1172",
2527              "key": {
2528                "endPosition": "1173",
2529                "kind": "STRING_LITERAL",
2530                "value": "y",
2531                "startPosition": "1172"
2532              }
2533            }
2534          ]
2535        },
2536        "endPosition": "1179",
2537        "kind": "ASSIGNMENT",
2538        "variable": {
2539          "endPosition": "1157",
2540          "kind": "IDENTIFIER",
2541          "name": "p",
2542          "startPosition": "1156"
2543        },
2544        "startPosition": "1156"
2545      },
2546      "endPosition": "1179",
2547      "kind": "EXPRESSION_STATEMENT",
2548      "startPosition": "1156"
2549    },
2550    {
2551      "expression": {
2552        "expression": {
2553          "endPosition": "1241",
2554          "kind": "OBJECT_LITERAL",
2555          "startPosition": "1185",
2556          "properties": [
2557            {
2558              "getter": {
2559                "endPosition": "1195",
2560                "kind": "FUNCTION_EXPRESSION",
2561                "body": {
2562                  "endPosition": "1210",
2563                  "kind": "BLOCK",
2564                  "statements": [
2565                    {
2566                      "expression": {
2567                        "endPosition": "1210",
2568                        "kind": "IDENTIFIER",
2569                        "name": "xValue",
2570                        "startPosition": "1204"
2571                      },
2572                      "endPosition": "1210",
2573                      "kind": "RETURN",
2574                      "startPosition": "1197"
2575                    }
2576                  ],
2577                  "startPosition": "1195"
2578                },
2579                "strict": "false",
2580                "startPosition": "1195",
2581                "parameters": []
2582              },
2583              "endPosition": "1212",
2584              "kind": "PROPERTY",
2585              "startPosition": "1187",
2586              "key": {
2587                "endPosition": "1192",
2588                "kind": "IDENTIFIER",
2589                "name": "x",
2590                "startPosition": "1191"
2591              }
2592            },
2593            {
2594              "getter": {
2595                "endPosition": "1222",
2596                "kind": "FUNCTION_EXPRESSION",
2597                "body": {
2598                  "endPosition": "1237",
2599                  "kind": "BLOCK",
2600                  "statements": [
2601                    {
2602                      "expression": {
2603                        "endPosition": "1237",
2604                        "kind": "IDENTIFIER",
2605                        "name": "yValue",
2606                        "startPosition": "1231"
2607                      },
2608                      "endPosition": "1237",
2609                      "kind": "RETURN",
2610                      "startPosition": "1224"
2611                    }
2612                  ],
2613                  "startPosition": "1222"
2614                },
2615                "strict": "false",
2616                "startPosition": "1222",
2617                "parameters": []
2618              },
2619              "endPosition": "1239",
2620              "kind": "PROPERTY",
2621              "startPosition": "1214",
2622              "key": {
2623                "endPosition": "1219",
2624                "kind": "IDENTIFIER",
2625                "name": "y",
2626                "startPosition": "1218"
2627              }
2628            }
2629          ]
2630        },
2631        "endPosition": "1241",
2632        "kind": "ASSIGNMENT",
2633        "variable": {
2634          "endPosition": "1182",
2635          "kind": "IDENTIFIER",
2636          "name": "p",
2637          "startPosition": "1181"
2638        },
2639        "startPosition": "1181"
2640      },
2641      "endPosition": "1241",
2642      "kind": "EXPRESSION_STATEMENT",
2643      "startPosition": "1181"
2644    },
2645    {
2646      "expression": {
2647        "expression": {
2648          "endPosition": "1315",
2649          "kind": "OBJECT_LITERAL",
2650          "startPosition": "1247",
2651          "properties": [
2652            {
2653              "getter": {
2654                "endPosition": "1259",
2655                "kind": "FUNCTION_EXPRESSION",
2656                "body": {
2657                  "endPosition": "1277",
2658                  "kind": "BLOCK",
2659                  "statements": [
2660                    {
2661                      "expression": {
2662                        "identifier": "_foo",
2663                        "expression": {
2664                          "endPosition": "1272",
2665                          "kind": "IDENTIFIER",
2666                          "this": "true",
2667                          "name": "this",
2668                          "startPosition": "1268"
2669                        },
2670                        "endPosition": "1277",
2671                        "kind": "MEMBER_SELECT",
2672                        "startPosition": "1268"
2673                      },
2674                      "endPosition": "1277",
2675                      "kind": "RETURN",
2676                      "startPosition": "1261"
2677                    }
2678                  ],
2679                  "startPosition": "1259"
2680                },
2681                "strict": "false",
2682                "startPosition": "1259",
2683                "parameters": []
2684              },
2685              "endPosition": "1279",
2686              "kind": "PROPERTY",
2687              "setter": {
2688                "endPosition": "1294",
2689                "kind": "FUNCTION_EXPRESSION",
2690                "body": {
2691                  "endPosition": "1311",
2692                  "kind": "BLOCK",
2693                  "statements": [
2694                    {
2695                      "expression": {
2696                        "expression": {
2697                          "endPosition": "1311",
2698                          "kind": "IDENTIFIER",
2699                          "name": "val",
2700                          "startPosition": "1308"
2701                        },
2702                        "endPosition": "1311",
2703                        "kind": "ASSIGNMENT",
2704                        "variable": {
2705                          "identifier": "_foo",
2706                          "expression": {
2707                            "endPosition": "1300",
2708                            "kind": "IDENTIFIER",
2709                            "this": "true",
2710                            "name": "this",
2711                            "startPosition": "1296"
2712                          },
2713                          "endPosition": "1305",
2714                          "kind": "MEMBER_SELECT",
2715                          "startPosition": "1296"
2716                        },
2717                        "startPosition": "1296"
2718                      },
2719                      "endPosition": "1311",
2720                      "kind": "EXPRESSION_STATEMENT",
2721                      "startPosition": "1296"
2722                    }
2723                  ],
2724                  "startPosition": "1294"
2725                },
2726                "strict": "false",
2727                "startPosition": "1294",
2728                "parameters": [
2729                  {
2730                    "endPosition": "1292",
2731                    "kind": "IDENTIFIER",
2732                    "name": "val",
2733                    "startPosition": "1289"
2734                  }
2735                ]
2736              },
2737              "startPosition": "1249",
2738              "key": {
2739                "endPosition": "1256",
2740                "kind": "IDENTIFIER",
2741                "name": "foo",
2742                "startPosition": "1253"
2743              }
2744            }
2745          ]
2746        },
2747        "endPosition": "1315",
2748        "kind": "ASSIGNMENT",
2749        "variable": {
2750          "endPosition": "1244",
2751          "kind": "IDENTIFIER",
2752          "name": "p",
2753          "startPosition": "1243"
2754        },
2755        "startPosition": "1243"
2756      },
2757      "endPosition": "1315",
2758      "kind": "EXPRESSION_STATEMENT",
2759      "startPosition": "1243"
2760    }
2761  ],
2762  "sourceName": "parsertests/objectLitExpr.js",
2763  "strict": "false",
2764  "startPosition": "1125"
2765}
2766,
2767{
2768  "endPosition": "1118",
2769  "kind": "COMPILATION_UNIT",
2770  "sourceElements": [
2771    {
2772      "expression": {
2773        "leftOperand": {
2774          "leftOperand": {
2775            "endPosition": "1120",
2776            "kind": "NUMBER_LITERAL",
2777            "value": "2",
2778            "startPosition": "1119"
2779          },
2780          "endPosition": "1126",
2781          "kind": "PLUS",
2782          "rightOperand": {
2783            "endPosition": "1126",
2784            "kind": "NUMBER_LITERAL",
2785            "value": "1",
2786            "startPosition": "1125"
2787          },
2788          "startPosition": "1119"
2789        },
2790        "endPosition": "1131",
2791        "kind": "PLUS",
2792        "rightOperand": {
2793          "endPosition": "1131",
2794          "kind": "NUMBER_LITERAL",
2795          "value": "4",
2796          "startPosition": "1130"
2797        },
2798        "startPosition": "1119"
2799      },
2800      "endPosition": "1131",
2801      "kind": "EXPRESSION_STATEMENT",
2802      "startPosition": "1118"
2803    },
2804    {
2805      "expression": {
2806        "leftOperand": {
2807          "leftOperand": {
2808            "endPosition": "1134",
2809            "kind": "NUMBER_LITERAL",
2810            "value": "3",
2811            "startPosition": "1133"
2812          },
2813          "endPosition": "1139",
2814          "kind": "PLUS",
2815          "rightOperand": {
2816            "endPosition": "1139",
2817            "kind": "NUMBER_LITERAL",
2818            "value": "7",
2819            "startPosition": "1138"
2820          },
2821          "startPosition": "1133"
2822        },
2823        "endPosition": "1146",
2824        "kind": "LEFT_SHIFT",
2825        "rightOperand": {
2826          "endPosition": "1146",
2827          "kind": "NUMBER_LITERAL",
2828          "value": "5",
2829          "startPosition": "1145"
2830        },
2831        "startPosition": "1133"
2832      },
2833      "endPosition": "1147",
2834      "kind": "EXPRESSION_STATEMENT",
2835      "startPosition": "1133"
2836    }
2837  ],
2838  "sourceName": "parsertests/parenExpr.js",
2839  "strict": "false",
2840  "startPosition": "1118"
2841}
2842,
2843{
2844  "endPosition": "1119",
2845  "kind": "COMPILATION_UNIT",
2846  "sourceElements": [
2847    {
2848      "expression": {
2849        "endPosition": "1123",
2850        "kind": "IDENTIFIER",
2851        "this": "true",
2852        "name": "this",
2853        "startPosition": "1119"
2854      },
2855      "endPosition": "1123",
2856      "kind": "EXPRESSION_STATEMENT",
2857      "startPosition": "1119"
2858    },
2859    {
2860      "expression": {
2861        "endPosition": "1128",
2862        "kind": "IDENTIFIER",
2863        "name": "foo",
2864        "startPosition": "1125"
2865      },
2866      "endPosition": "1128",
2867      "kind": "EXPRESSION_STATEMENT",
2868      "startPosition": "1125"
2869    },
2870    {
2871      "expression": {
2872        "endPosition": "1134",
2873        "kind": "NULL_LITERAL",
2874        "startPosition": "1130"
2875      },
2876      "endPosition": "1134",
2877      "kind": "EXPRESSION_STATEMENT",
2878      "startPosition": "1130"
2879    },
2880    {
2881      "expression": {
2882        "endPosition": "1140",
2883        "kind": "BOOLEAN_LITERAL",
2884        "value": "true",
2885        "startPosition": "1136"
2886      },
2887      "endPosition": "1140",
2888      "kind": "EXPRESSION_STATEMENT",
2889      "startPosition": "1136"
2890    },
2891    {
2892      "expression": {
2893        "endPosition": "1147",
2894        "kind": "BOOLEAN_LITERAL",
2895        "value": "false",
2896        "startPosition": "1142"
2897      },
2898      "endPosition": "1147",
2899      "kind": "EXPRESSION_STATEMENT",
2900      "startPosition": "1142"
2901    },
2902    {
2903      "expression": {
2904        "endPosition": "1151",
2905        "kind": "NUMBER_LITERAL",
2906        "value": "33",
2907        "startPosition": "1149"
2908      },
2909      "endPosition": "1151",
2910      "kind": "EXPRESSION_STATEMENT",
2911      "startPosition": "1149"
2912    },
2913    {
2914      "expression": {
2915        "endPosition": "1157",
2916        "kind": "NUMBER_LITERAL",
2917        "value": "3.14",
2918        "startPosition": "1153"
2919      },
2920      "endPosition": "1157",
2921      "kind": "EXPRESSION_STATEMENT",
2922      "startPosition": "1153"
2923    },
2924    {
2925      "expression": {
2926        "leftOperand": {
2927          "leftOperand": {
2928            "endPosition": "1162",
2929            "kind": "NUMBER_LITERAL",
2930            "value": "10",
2931            "startPosition": "1160"
2932          },
2933          "endPosition": "1166",
2934          "kind": "PLUS",
2935          "rightOperand": {
2936            "endPosition": "1166",
2937            "kind": "NUMBER_LITERAL",
2938            "value": "3",
2939            "startPosition": "1165"
2940          },
2941          "startPosition": "1160"
2942        },
2943        "endPosition": "1169",
2944        "kind": "MULTIPLY",
2945        "rightOperand": {
2946          "endPosition": "1169",
2947          "kind": "NUMBER_LITERAL",
2948          "value": "2",
2949          "startPosition": "1168"
2950        },
2951        "startPosition": "1160"
2952      },
2953      "endPosition": "1169",
2954      "kind": "EXPRESSION_STATEMENT",
2955      "startPosition": "1159"
2956    },
2957    {
2958      "expression": {
2959        "endPosition": "1174",
2960        "kind": "OBJECT_LITERAL",
2961        "startPosition": "1172",
2962        "properties": []
2963      },
2964      "endPosition": "1175",
2965      "kind": "EXPRESSION_STATEMENT",
2966      "startPosition": "1171"
2967    },
2968    {
2969      "expression": {
2970        "endPosition": "1186",
2971        "kind": "OBJECT_LITERAL",
2972        "startPosition": "1178",
2973        "properties": [
2974          {
2975            "endPosition": "1184",
2976            "kind": "PROPERTY",
2977            "value": {
2978              "endPosition": "1184",
2979              "kind": "NUMBER_LITERAL",
2980              "value": "3",
2981              "startPosition": "1183"
2982            },
2983            "startPosition": "1180",
2984            "key": {
2985              "endPosition": "1181",
2986              "kind": "IDENTIFIER",
2987              "name": "x",
2988              "startPosition": "1180"
2989            }
2990          }
2991        ]
2992      },
2993      "endPosition": "1187",
2994      "kind": "EXPRESSION_STATEMENT",
2995      "startPosition": "1177"
2996    },
2997    {
2998      "expression": {
2999        "endPosition": "1191",
3000        "kind": "ARRAY_LITERAL",
3001        "elements": [],
3002        "startPosition": "1189"
3003      },
3004      "endPosition": "1191",
3005      "kind": "EXPRESSION_STATEMENT",
3006      "startPosition": "1189"
3007    },
3008    {
3009      "expression": {
3010        "endPosition": "1197",
3011        "kind": "ARRAY_LITERAL",
3012        "elements": [
3013          null,
3014          null
3015        ],
3016        "startPosition": "1193"
3017      },
3018      "endPosition": "1197",
3019      "kind": "EXPRESSION_STATEMENT",
3020      "startPosition": "1193"
3021    },
3022    {
3023      "expression": {
3024        "endPosition": "1208",
3025        "kind": "ARRAY_LITERAL",
3026        "elements": [
3027          {
3028            "endPosition": "1201",
3029            "kind": "NUMBER_LITERAL",
3030            "value": "4",
3031            "startPosition": "1200"
3032          },
3033          {
3034            "endPosition": "1204",
3035            "kind": "NUMBER_LITERAL",
3036            "value": "5",
3037            "startPosition": "1203"
3038          },
3039          {
3040            "endPosition": "1207",
3041            "kind": "NUMBER_LITERAL",
3042            "value": "5",
3043            "startPosition": "1206"
3044          }
3045        ],
3046        "startPosition": "1199"
3047      },
3048      "endPosition": "1208",
3049      "kind": "EXPRESSION_STATEMENT",
3050      "startPosition": "1199"
3051    }
3052  ],
3053  "sourceName": "parsertests/primaryExpr.js",
3054  "strict": "false",
3055  "startPosition": "1119"
3056}
3057,
3058{
3059  "endPosition": "1114",
3060  "kind": "COMPILATION_UNIT",
3061  "sourceElements": [
3062    {
3063      "endPosition": "1127",
3064      "kind": "VARIABLE",
3065      "binding": {
3066        "endPosition": "1119",
3067        "kind": "IDENTIFIER",
3068        "name": "x",
3069        "startPosition": "1118"
3070      },
3071      "startPosition": "1114",
3072      "initializer": {
3073        "endPosition": "1127",
3074        "kind": "REGEXP_LITERAL",
3075        "options": "",
3076        "pattern": "foo",
3077        "startPosition": "1122"
3078      }
3079    },
3080    {
3081      "endPosition": "1143",
3082      "kind": "VARIABLE",
3083      "binding": {
3084        "endPosition": "1134",
3085        "kind": "IDENTIFIER",
3086        "name": "y",
3087        "startPosition": "1133"
3088      },
3089      "startPosition": "1129",
3090      "initializer": {
3091        "endPosition": "1143",
3092        "kind": "REGEXP_LITERAL",
3093        "options": "g",
3094        "pattern": "foo",
3095        "startPosition": "1137"
3096      }
3097    },
3098    {
3099      "endPosition": "1168",
3100      "kind": "VARIABLE",
3101      "binding": {
3102        "endPosition": "1150",
3103        "kind": "IDENTIFIER",
3104        "name": "z",
3105        "startPosition": "1149"
3106      },
3107      "startPosition": "1145",
3108      "initializer": {
3109        "endPosition": "1168",
3110        "kind": "REGEXP_LITERAL",
3111        "options": "",
3112        "pattern": "[a-z]*[1-10]?",
3113        "startPosition": "1153"
3114      }
3115    }
3116  ],
3117  "sourceName": "parsertests/regexp_literal.js",
3118  "strict": "false",
3119  "startPosition": "1114"
3120}
3121,
3122{
3123  "endPosition": "1118",
3124  "kind": "COMPILATION_UNIT",
3125  "sourceElements": [
3126    {
3127      "expression": {
3128        "endPosition": "1130",
3129        "kind": "FUNCTION_EXPRESSION",
3130        "body": {
3131          "endPosition": "1138",
3132          "kind": "BLOCK",
3133          "statements": [
3134            {
3135              "endPosition": "1138",
3136              "kind": "RETURN",
3137              "startPosition": "1132"
3138            }
3139          ],
3140          "startPosition": "1130"
3141        },
3142        "strict": "false",
3143        "startPosition": "1130",
3144        "parameters": []
3145      },
3146      "endPosition": "1141",
3147      "kind": "EXPRESSION_STATEMENT",
3148      "startPosition": "1118"
3149    },
3150    {
3151      "expression": {
3152        "endPosition": "1155",
3153        "kind": "FUNCTION_EXPRESSION",
3154        "body": {
3155          "endPosition": "1167",
3156          "kind": "BLOCK",
3157          "statements": [
3158            {
3159              "expression": {
3160                "endPosition": "1167",
3161                "kind": "IDENTIFIER",
3162                "name": "res",
3163                "startPosition": "1164"
3164              },
3165              "endPosition": "1167",
3166              "kind": "RETURN",
3167              "startPosition": "1157"
3168            }
3169          ],
3170          "startPosition": "1155"
3171        },
3172        "strict": "false",
3173        "startPosition": "1155",
3174        "parameters": []
3175      },
3176      "endPosition": "1170",
3177      "kind": "EXPRESSION_STATEMENT",
3178      "startPosition": "1143"
3179    },
3180    {
3181      "expression": {
3182        "endPosition": "1184",
3183        "kind": "FUNCTION_EXPRESSION",
3184        "body": {
3185          "endPosition": "1198",
3186          "kind": "BLOCK",
3187          "statements": [
3188            {
3189              "expression": {
3190                "endPosition": "1198",
3191                "kind": "FUNCTION_INVOCATION",
3192                "functionSelect": {
3193                  "endPosition": "1196",
3194                  "kind": "IDENTIFIER",
3195                  "name": "foo",
3196                  "startPosition": "1193"
3197                },
3198                "arguments": [],
3199                "startPosition": "1193"
3200              },
3201              "endPosition": "1198",
3202              "kind": "RETURN",
3203              "startPosition": "1186"
3204            }
3205          ],
3206          "startPosition": "1184"
3207        },
3208        "strict": "false",
3209        "startPosition": "1184",
3210        "parameters": []
3211      },
3212      "endPosition": "1201",
3213      "kind": "EXPRESSION_STATEMENT",
3214      "startPosition": "1172"
3215    }
3216  ],
3217  "sourceName": "parsertests/returnStat.js",
3218  "strict": "false",
3219  "startPosition": "1118"
3220}
3221,
3222{
3223  "endPosition": "1111",
3224  "kind": "COMPILATION_UNIT",
3225  "sourceElements": [
3226    {
3227      "cases": [],
3228      "expression": {
3229        "endPosition": "1122",
3230        "kind": "IDENTIFIER",
3231        "name": "key",
3232        "startPosition": "1119"
3233      },
3234      "endPosition": "1126",
3235      "kind": "SWITCH",
3236      "startPosition": "1111"
3237    },
3238    {
3239      "cases": [
3240        {
3241          "expression": {
3242            "endPosition": "1149",
3243            "kind": "NUMBER_LITERAL",
3244            "value": "2",
3245            "startPosition": "1148"
3246          },
3247          "endPosition": "1166",
3248          "kind": "CASE",
3249          "statements": [
3250            {
3251              "expression": {
3252                "endPosition": "1158",
3253                "kind": "FUNCTION_INVOCATION",
3254                "functionSelect": {
3255                  "endPosition": "1156",
3256                  "kind": "IDENTIFIER",
3257                  "name": "hello",
3258                  "startPosition": "1151"
3259                },
3260                "arguments": [],
3261                "startPosition": "1151"
3262              },
3263              "endPosition": "1158",
3264              "kind": "EXPRESSION_STATEMENT",
3265              "startPosition": "1151"
3266            },
3267            {
3268              "endPosition": "1166",
3269              "kind": "BREAK",
3270              "startPosition": "1160"
3271            }
3272          ],
3273          "startPosition": "1143"
3274        }
3275      ],
3276      "expression": {
3277        "endPosition": "1139",
3278        "kind": "IDENTIFIER",
3279        "name": "key",
3280        "startPosition": "1136"
3281      },
3282      "endPosition": "1168",
3283      "kind": "SWITCH",
3284      "startPosition": "1128"
3285    },
3286    {
3287      "cases": [
3288        {
3289          "expression": {
3290            "endPosition": "1191",
3291            "kind": "NUMBER_LITERAL",
3292            "value": "4",
3293            "startPosition": "1190"
3294          },
3295          "endPosition": "1208",
3296          "kind": "CASE",
3297          "statements": [
3298            {
3299              "expression": {
3300                "endPosition": "1200",
3301                "kind": "FUNCTION_INVOCATION",
3302                "functionSelect": {
3303                  "endPosition": "1198",
3304                  "kind": "IDENTIFIER",
3305                  "name": "hello",
3306                  "startPosition": "1193"
3307                },
3308                "arguments": [],
3309                "startPosition": "1193"
3310              },
3311              "endPosition": "1200",
3312              "kind": "EXPRESSION_STATEMENT",
3313              "startPosition": "1193"
3314            },
3315            {
3316              "endPosition": "1208",
3317              "kind": "BREAK",
3318              "startPosition": "1202"
3319            }
3320          ],
3321          "startPosition": "1185"
3322        },
3323        {
3324          "expression": {
3325            "endPosition": "1215",
3326            "kind": "NUMBER_LITERAL",
3327            "value": "2",
3328            "startPosition": "1214"
3329          },
3330          "endPosition": "1232",
3331          "kind": "CASE",
3332          "statements": [
3333            {
3334              "expression": {
3335                "endPosition": "1224",
3336                "kind": "FUNCTION_INVOCATION",
3337                "functionSelect": {
3338                  "endPosition": "1222",
3339                  "kind": "IDENTIFIER",
3340                  "name": "world",
3341                  "startPosition": "1217"
3342                },
3343                "arguments": [],
3344                "startPosition": "1217"
3345              },
3346              "endPosition": "1224",
3347              "kind": "EXPRESSION_STATEMENT",
3348              "startPosition": "1217"
3349            },
3350            {
3351              "endPosition": "1232",
3352              "kind": "BREAK",
3353              "startPosition": "1226"
3354            }
3355          ],
3356          "startPosition": "1209"
3357        },
3358        {
3359          "endPosition": "1247",
3360          "kind": "CASE",
3361          "statements": [
3362            {
3363              "endPosition": "1247",
3364              "kind": "BREAK",
3365              "startPosition": "1242"
3366            }
3367          ],
3368          "startPosition": "1233"
3369        }
3370      ],
3371      "expression": {
3372        "endPosition": "1181",
3373        "kind": "IDENTIFIER",
3374        "name": "key",
3375        "startPosition": "1178"
3376      },
3377      "endPosition": "1249",
3378      "kind": "SWITCH",
3379      "startPosition": "1170"
3380    }
3381  ],
3382  "sourceName": "parsertests/switchStat.js",
3383  "strict": "false",
3384  "startPosition": "1111"
3385}
3386,
3387{
3388  "endPosition": "1110",
3389  "kind": "COMPILATION_UNIT",
3390  "sourceElements": [
3391    {
3392      "expression": {
3393        "endPosition": "1119",
3394        "kind": "IDENTIFIER",
3395        "name": "err",
3396        "startPosition": "1116"
3397      },
3398      "endPosition": "1120",
3399      "kind": "THROW",
3400      "startPosition": "1110"
3401    },
3402    {
3403      "expression": {
3404        "endPosition": "1133",
3405        "kind": "STRING_LITERAL",
3406        "value": "wrong",
3407        "startPosition": "1128"
3408      },
3409      "endPosition": "1135",
3410      "kind": "THROW",
3411      "startPosition": "1121"
3412    },
3413    {
3414      "expression": {
3415        "constructorExpression": {
3416          "endPosition": "1155",
3417          "kind": "FUNCTION_INVOCATION",
3418          "functionSelect": {
3419            "endPosition": "1155",
3420            "kind": "IDENTIFIER",
3421            "name": "TypeError",
3422            "startPosition": "1146"
3423          },
3424          "arguments": [],
3425          "startPosition": "1146"
3426        },
3427        "endPosition": "1155",
3428        "kind": "NEW",
3429        "startPosition": "1142"
3430      },
3431      "endPosition": "1156",
3432      "kind": "THROW",
3433      "startPosition": "1136"
3434    },
3435    {
3436      "expression": {
3437        "constructorExpression": {
3438          "endPosition": "1192",
3439          "kind": "FUNCTION_INVOCATION",
3440          "functionSelect": {
3441            "endPosition": "1176",
3442            "kind": "IDENTIFIER",
3443            "name": "TypeError",
3444            "startPosition": "1167"
3445          },
3446          "arguments": [
3447            {
3448              "endPosition": "1190",
3449              "kind": "STRING_LITERAL",
3450              "value": "not an array",
3451              "startPosition": "1178"
3452            }
3453          ],
3454          "startPosition": "1167"
3455        },
3456        "endPosition": "1192",
3457        "kind": "NEW",
3458        "startPosition": "1163"
3459      },
3460      "endPosition": "1193",
3461      "kind": "THROW",
3462      "startPosition": "1157"
3463    },
3464    {
3465      "expression": {
3466        "endPosition": "1217",
3467        "kind": "OBJECT_LITERAL",
3468        "startPosition": "1200",
3469        "properties": [
3470          {
3471            "endPosition": "1214",
3472            "kind": "PROPERTY",
3473            "value": {
3474              "endPosition": "1214",
3475              "kind": "STRING_LITERAL",
3476              "value": "wrong!",
3477              "startPosition": "1208"
3478            },
3479            "startPosition": "1202",
3480            "key": {
3481              "endPosition": "1205",
3482              "kind": "IDENTIFIER",
3483              "name": "msg",
3484              "startPosition": "1202"
3485            }
3486          }
3487        ]
3488      },
3489      "endPosition": "1218",
3490      "kind": "THROW",
3491      "startPosition": "1194"
3492    }
3493  ],
3494  "sourceName": "parsertests/throwStat.js",
3495  "strict": "false",
3496  "startPosition": "1110"
3497}
3498,
3499{
3500  "endPosition": "1121",
3501  "kind": "COMPILATION_UNIT",
3502  "sourceElements": [
3503    {
3504      "endPosition": "1142",
3505      "kind": "TRY",
3506      "catches": [
3507        {
3508          "endPosition": "1142",
3509          "kind": "CATCH",
3510          "parameter": {
3511            "endPosition": "1137",
3512            "kind": "IDENTIFIER",
3513            "name": "e",
3514            "startPosition": "1136"
3515          },
3516          "block": {
3517            "endPosition": "1142",
3518            "kind": "BLOCK",
3519            "statements": [],
3520            "startPosition": "1139"
3521          },
3522          "startPosition": "1129"
3523        }
3524      ],
3525      "block": {
3526        "endPosition": "1128",
3527        "kind": "BLOCK",
3528        "statements": [],
3529        "startPosition": "1125"
3530      },
3531      "startPosition": "1121"
3532    },
3533    {
3534      "endPosition": "1175",
3535      "kind": "TRY",
3536      "catches": [
3537        {
3538          "endPosition": "1164",
3539          "kind": "CATCH",
3540          "parameter": {
3541            "endPosition": "1159",
3542            "kind": "IDENTIFIER",
3543            "name": "e",
3544            "startPosition": "1158"
3545          },
3546          "block": {
3547            "endPosition": "1164",
3548            "kind": "BLOCK",
3549            "statements": [],
3550            "startPosition": "1161"
3551          },
3552          "startPosition": "1151"
3553        }
3554      ],
3555      "block": {
3556        "endPosition": "1150",
3557        "kind": "BLOCK",
3558        "statements": [],
3559        "startPosition": "1147"
3560      },
3561      "finallyBlock": {
3562        "endPosition": "1175",
3563        "kind": "BLOCK",
3564        "statements": [],
3565        "startPosition": "1173"
3566      },
3567      "startPosition": "1143"
3568    },
3569    {
3570      "endPosition": "1194",
3571      "kind": "TRY",
3572      "catches": [],
3573      "block": {
3574        "endPosition": "1183",
3575        "kind": "BLOCK",
3576        "statements": [],
3577        "startPosition": "1180"
3578      },
3579      "finallyBlock": {
3580        "endPosition": "1194",
3581        "kind": "BLOCK",
3582        "statements": [],
3583        "startPosition": "1192"
3584      },
3585      "startPosition": "1176"
3586    },
3587    {
3588      "endPosition": "1225",
3589      "kind": "TRY",
3590      "catches": [
3591        {
3592          "endPosition": "1225",
3593          "kind": "CATCH",
3594          "parameter": {
3595            "endPosition": "1211",
3596            "kind": "IDENTIFIER",
3597            "name": "e",
3598            "startPosition": "1210"
3599          },
3600          "block": {
3601            "endPosition": "1225",
3602            "kind": "BLOCK",
3603            "statements": [
3604              {
3605                "expression": {
3606                  "endPosition": "1223",
3607                  "kind": "FUNCTION_INVOCATION",
3608                  "functionSelect": {
3609                    "endPosition": "1221",
3610                    "kind": "IDENTIFIER",
3611                    "name": "handle",
3612                    "startPosition": "1215"
3613                  },
3614                  "arguments": [],
3615                  "startPosition": "1215"
3616                },
3617                "endPosition": "1223",
3618                "kind": "EXPRESSION_STATEMENT",
3619                "startPosition": "1215"
3620              }
3621            ],
3622            "startPosition": "1213"
3623          },
3624          "startPosition": "1203"
3625        }
3626      ],
3627      "block": {
3628        "endPosition": "1202",
3629        "kind": "BLOCK",
3630        "statements": [],
3631        "startPosition": "1199"
3632      },
3633      "startPosition": "1195"
3634    },
3635    {
3636      "endPosition": "1283",
3637      "kind": "TRY",
3638      "catches": [
3639        {
3640          "endPosition": "1263",
3641          "kind": "CATCH",
3642          "parameter": {
3643            "endPosition": "1249",
3644            "kind": "IDENTIFIER",
3645            "name": "e",
3646            "startPosition": "1248"
3647          },
3648          "block": {
3649            "endPosition": "1263",
3650            "kind": "BLOCK",
3651            "statements": [
3652              {
3653                "expression": {
3654                  "endPosition": "1261",
3655                  "kind": "FUNCTION_INVOCATION",
3656                  "functionSelect": {
3657                    "endPosition": "1259",
3658                    "kind": "IDENTIFIER",
3659                    "name": "handle",
3660                    "startPosition": "1253"
3661                  },
3662                  "arguments": [],
3663                  "startPosition": "1253"
3664                },
3665                "endPosition": "1261",
3666                "kind": "EXPRESSION_STATEMENT",
3667                "startPosition": "1253"
3668              }
3669            ],
3670            "startPosition": "1251"
3671          },
3672          "startPosition": "1241"
3673        }
3674      ],
3675      "block": {
3676        "endPosition": "1240",
3677        "kind": "BLOCK",
3678        "statements": [
3679          {
3680            "expression": {
3681              "endPosition": "1238",
3682              "kind": "FUNCTION_INVOCATION",
3683              "functionSelect": {
3684                "endPosition": "1236",
3685                "kind": "IDENTIFIER",
3686                "name": "that",
3687                "startPosition": "1232"
3688              },
3689              "arguments": [],
3690              "startPosition": "1232"
3691            },
3692            "endPosition": "1238",
3693            "kind": "EXPRESSION_STATEMENT",
3694            "startPosition": "1232"
3695          }
3696        ],
3697        "startPosition": "1230"
3698      },
3699      "finallyBlock": {
3700        "endPosition": "1283",
3701        "kind": "BLOCK",
3702        "statements": [
3703          {
3704            "expression": {
3705              "endPosition": "1281",
3706              "kind": "FUNCTION_INVOCATION",
3707              "functionSelect": {
3708                "endPosition": "1279",
3709                "kind": "IDENTIFIER",
3710                "name": "clean",
3711                "startPosition": "1274"
3712              },
3713              "arguments": [],
3714              "startPosition": "1274"
3715            },
3716            "endPosition": "1281",
3717            "kind": "EXPRESSION_STATEMENT",
3718            "startPosition": "1274"
3719          }
3720        ],
3721        "startPosition": "1272"
3722      },
3723      "startPosition": "1226"
3724    },
3725    {
3726      "endPosition": "1368",
3727      "kind": "TRY",
3728      "catches": [
3729        {
3730          "condition": {
3731            "leftOperand": {
3732              "endPosition": "1312",
3733              "kind": "IDENTIFIER",
3734              "name": "e",
3735              "startPosition": "1311"
3736            },
3737            "expression": {
3738              "endPosition": "1312",
3739              "kind": "IDENTIFIER",
3740              "name": "e",
3741              "startPosition": "1311"
3742            },
3743            "endPosition": "1333",
3744            "kind": "INSTANCE_OF",
3745            "rightOperand": {
3746              "endPosition": "1333",
3747              "kind": "IDENTIFIER",
3748              "name": "TypeError",
3749              "startPosition": "1324"
3750            },
3751            "type": {
3752              "endPosition": "1333",
3753              "kind": "IDENTIFIER",
3754              "name": "TypeError",
3755              "startPosition": "1324"
3756            },
3757            "startPosition": "1311"
3758          },
3759          "endPosition": "1347",
3760          "kind": "CATCH",
3761          "parameter": {
3762            "endPosition": "1307",
3763            "kind": "IDENTIFIER",
3764            "name": "e",
3765            "startPosition": "1306"
3766          },
3767          "block": {
3768            "endPosition": "1347",
3769            "kind": "BLOCK",
3770            "statements": [
3771              {
3772                "expression": {
3773                  "endPosition": "1345",
3774                  "kind": "FUNCTION_INVOCATION",
3775                  "functionSelect": {
3776                    "endPosition": "1343",
3777                    "kind": "IDENTIFIER",
3778                    "name": "handle",
3779                    "startPosition": "1337"
3780                  },
3781                  "arguments": [],
3782                  "startPosition": "1337"
3783                },
3784                "endPosition": "1345",
3785                "kind": "EXPRESSION_STATEMENT",
3786                "startPosition": "1337"
3787              }
3788            ],
3789            "startPosition": "1335"
3790          },
3791          "startPosition": "1299"
3792        },
3793        {
3794          "endPosition": "1368",
3795          "kind": "CATCH",
3796          "parameter": {
3797            "endPosition": "1356",
3798            "kind": "IDENTIFIER",
3799            "name": "e",
3800            "startPosition": "1355"
3801          },
3802          "block": {
3803            "endPosition": "1368",
3804            "kind": "BLOCK",
3805            "statements": [
3806              {
3807                "expression": {
3808                  "endPosition": "1366",
3809                  "kind": "FUNCTION_INVOCATION",
3810                  "functionSelect": {
3811                    "endPosition": "1364",
3812                    "kind": "IDENTIFIER",
3813                    "name": "rest",
3814                    "startPosition": "1360"
3815                  },
3816                  "arguments": [],
3817                  "startPosition": "1360"
3818                },
3819                "endPosition": "1366",
3820                "kind": "EXPRESSION_STATEMENT",
3821                "startPosition": "1360"
3822              }
3823            ],
3824            "startPosition": "1358"
3825          },
3826          "startPosition": "1348"
3827        }
3828      ],
3829      "block": {
3830        "endPosition": "1298",
3831        "kind": "BLOCK",
3832        "statements": [
3833          {
3834            "expression": {
3835              "endPosition": "1296",
3836              "kind": "FUNCTION_INVOCATION",
3837              "functionSelect": {
3838                "endPosition": "1294",
3839                "kind": "IDENTIFIER",
3840                "name": "that",
3841                "startPosition": "1290"
3842              },
3843              "arguments": [],
3844              "startPosition": "1290"
3845            },
3846            "endPosition": "1296",
3847            "kind": "EXPRESSION_STATEMENT",
3848            "startPosition": "1290"
3849          }
3850        ],
3851        "startPosition": "1288"
3852      },
3853      "startPosition": "1284"
3854    }
3855  ],
3856  "sourceName": "parsertests/tryCatchStat.js",
3857  "strict": "false",
3858  "startPosition": "1121"
3859}
3860,
3861{
3862  "endPosition": "1115",
3863  "kind": "COMPILATION_UNIT",
3864  "sourceElements": [
3865    {
3866      "expression": {
3867        "expression": {
3868          "endPosition": "1116",
3869          "kind": "IDENTIFIER",
3870          "name": "x",
3871          "startPosition": "1115"
3872        },
3873        "endPosition": "1118",
3874        "kind": "POSTFIX_INCREMENT",
3875        "startPosition": "1115"
3876      },
3877      "endPosition": "1118",
3878      "kind": "EXPRESSION_STATEMENT",
3879      "startPosition": "1115"
3880    },
3881    {
3882      "expression": {
3883        "expression": {
3884          "endPosition": "1121",
3885          "kind": "IDENTIFIER",
3886          "name": "x",
3887          "startPosition": "1120"
3888        },
3889        "endPosition": "1123",
3890        "kind": "POSTFIX_DECREMENT",
3891        "startPosition": "1120"
3892      },
3893      "endPosition": "1123",
3894      "kind": "EXPRESSION_STATEMENT",
3895      "startPosition": "1120"
3896    },
3897    {
3898      "expression": {
3899        "expression": {
3900          "endPosition": "1133",
3901          "kind": "IDENTIFIER",
3902          "name": "x",
3903          "startPosition": "1132"
3904        },
3905        "endPosition": "1133",
3906        "kind": "DELETE",
3907        "startPosition": "1125"
3908      },
3909      "endPosition": "1133",
3910      "kind": "EXPRESSION_STATEMENT",
3911      "startPosition": "1125"
3912    },
3913    {
3914      "expression": {
3915        "expression": {
3916          "endPosition": "1141",
3917          "kind": "IDENTIFIER",
3918          "name": "x",
3919          "startPosition": "1140"
3920        },
3921        "endPosition": "1141",
3922        "kind": "VOID",
3923        "startPosition": "1135"
3924      },
3925      "endPosition": "1141",
3926      "kind": "EXPRESSION_STATEMENT",
3927      "startPosition": "1135"
3928    },
3929    {
3930      "expression": {
3931        "expression": {
3932          "endPosition": "1151",
3933          "kind": "IDENTIFIER",
3934          "name": "x",
3935          "startPosition": "1150"
3936        },
3937        "endPosition": "1151",
3938        "kind": "TYPEOF",
3939        "startPosition": "1143"
3940      },
3941      "endPosition": "1151",
3942      "kind": "EXPRESSION_STATEMENT",
3943      "startPosition": "1143"
3944    },
3945    {
3946      "expression": {
3947        "expression": {
3948          "endPosition": "1156",
3949          "kind": "IDENTIFIER",
3950          "name": "x",
3951          "startPosition": "1155"
3952        },
3953        "endPosition": "1156",
3954        "kind": "PREFIX_INCREMENT",
3955        "startPosition": "1153"
3956      },
3957      "endPosition": "1156",
3958      "kind": "EXPRESSION_STATEMENT",
3959      "startPosition": "1153"
3960    },
3961    {
3962      "expression": {
3963        "expression": {
3964          "endPosition": "1161",
3965          "kind": "IDENTIFIER",
3966          "name": "x",
3967          "startPosition": "1160"
3968        },
3969        "endPosition": "1161",
3970        "kind": "PREFIX_DECREMENT",
3971        "startPosition": "1158"
3972      },
3973      "endPosition": "1161",
3974      "kind": "EXPRESSION_STATEMENT",
3975      "startPosition": "1158"
3976    },
3977    {
3978      "expression": {
3979        "expression": {
3980          "endPosition": "1165",
3981          "kind": "IDENTIFIER",
3982          "name": "x",
3983          "startPosition": "1164"
3984        },
3985        "endPosition": "1165",
3986        "kind": "UNARY_PLUS",
3987        "startPosition": "1163"
3988      },
3989      "endPosition": "1165",
3990      "kind": "EXPRESSION_STATEMENT",
3991      "startPosition": "1163"
3992    },
3993    {
3994      "expression": {
3995        "expression": {
3996          "endPosition": "1169",
3997          "kind": "IDENTIFIER",
3998          "name": "x",
3999          "startPosition": "1168"
4000        },
4001        "endPosition": "1169",
4002        "kind": "UNARY_MINUS",
4003        "startPosition": "1167"
4004      },
4005      "endPosition": "1169",
4006      "kind": "EXPRESSION_STATEMENT",
4007      "startPosition": "1167"
4008    },
4009    {
4010      "expression": {
4011        "expression": {
4012          "endPosition": "1173",
4013          "kind": "IDENTIFIER",
4014          "name": "x",
4015          "startPosition": "1172"
4016        },
4017        "endPosition": "1173",
4018        "kind": "BITWISE_COMPLEMENT",
4019        "startPosition": "1171"
4020      },
4021      "endPosition": "1173",
4022      "kind": "EXPRESSION_STATEMENT",
4023      "startPosition": "1171"
4024    },
4025    {
4026      "expression": {
4027        "expression": {
4028          "endPosition": "1177",
4029          "kind": "IDENTIFIER",
4030          "name": "x",
4031          "startPosition": "1176"
4032        },
4033        "endPosition": "1177",
4034        "kind": "LOGICAL_COMPLEMENT",
4035        "startPosition": "1175"
4036      },
4037      "endPosition": "1177",
4038      "kind": "EXPRESSION_STATEMENT",
4039      "startPosition": "1175"
4040    }
4041  ],
4042  "sourceName": "parsertests/unaryExpr.js",
4043  "strict": "false",
4044  "startPosition": "1115"
4045}
4046,
4047{
4048  "endPosition": "1122",
4049  "kind": "COMPILATION_UNIT",
4050  "sourceElements": [
4051    {
4052      "expression": {
4053        "endPosition": "1133",
4054        "kind": "STRING_LITERAL",
4055        "value": "use strict",
4056        "startPosition": "1123"
4057      },
4058      "endPosition": "1133",
4059      "kind": "EXPRESSION_STATEMENT",
4060      "startPosition": "1123"
4061    },
4062    {
4063      "endPosition": "1165",
4064      "kind": "FUNCTION",
4065      "name": {
4066        "endPosition": "1146",
4067        "kind": "IDENTIFIER",
4068        "name": "f",
4069        "startPosition": "1145"
4070      },
4071      "body": {
4072        "endPosition": "1162",
4073        "kind": "BLOCK",
4074        "statements": [
4075          {
4076            "expression": {
4077              "endPosition": "1162",
4078              "kind": "STRING_LITERAL",
4079              "value": "use strict",
4080              "startPosition": "1152"
4081            },
4082            "endPosition": "1162",
4083            "kind": "EXPRESSION_STATEMENT",
4084            "startPosition": "1152"
4085          }
4086        ],
4087        "startPosition": "1149"
4088      },
4089      "strict": "true",
4090      "startPosition": "1136",
4091      "parameters": []
4092    }
4093  ],
4094  "sourceName": "parsertests/useStrict.js",
4095  "strict": "true",
4096  "startPosition": "1122"
4097}
4098,
4099{
4100  "endPosition": "1143",
4101  "kind": "COMPILATION_UNIT",
4102  "sourceElements": [
4103    {
4104      "endPosition": "1148",
4105      "kind": "VARIABLE",
4106      "binding": {
4107        "endPosition": "1148",
4108        "kind": "IDENTIFIER",
4109        "name": "a",
4110        "startPosition": "1147"
4111      },
4112      "startPosition": "1143"
4113    },
4114    {
4115      "endPosition": "1155",
4116      "kind": "VARIABLE",
4117      "binding": {
4118        "endPosition": "1155",
4119        "kind": "IDENTIFIER",
4120        "name": "a",
4121        "startPosition": "1154"
4122      },
4123      "startPosition": "1150"
4124    },
4125    {
4126      "endPosition": "1158",
4127      "kind": "VARIABLE",
4128      "binding": {
4129        "endPosition": "1158",
4130        "kind": "IDENTIFIER",
4131        "name": "b",
4132        "startPosition": "1157"
4133      },
4134      "startPosition": "1150"
4135    },
4136    {
4137      "endPosition": "1200",
4138      "kind": "VARIABLE",
4139      "binding": {
4140        "endPosition": "1191",
4141        "kind": "IDENTIFIER",
4142        "name": "a",
4143        "startPosition": "1190"
4144      },
4145      "startPosition": "1186",
4146      "initializer": {
4147        "endPosition": "1200",
4148        "kind": "STRING_LITERAL",
4149        "value": "hello",
4150        "startPosition": "1195"
4151      }
4152    },
4153    {
4154      "endPosition": "1212",
4155      "kind": "VARIABLE",
4156      "binding": {
4157        "endPosition": "1208",
4158        "kind": "IDENTIFIER",
4159        "name": "a",
4160        "startPosition": "1207"
4161      },
4162      "startPosition": "1203",
4163      "initializer": {
4164        "endPosition": "1212",
4165        "kind": "NUMBER_LITERAL",
4166        "value": "1",
4167        "startPosition": "1211"
4168      }
4169    },
4170    {
4171      "endPosition": "1219",
4172      "kind": "VARIABLE",
4173      "binding": {
4174        "endPosition": "1215",
4175        "kind": "IDENTIFIER",
4176        "name": "b",
4177        "startPosition": "1214"
4178      },
4179      "startPosition": "1203",
4180      "initializer": {
4181        "endPosition": "1219",
4182        "kind": "NUMBER_LITERAL",
4183        "value": "2",
4184        "startPosition": "1218"
4185      }
4186    },
4187    {
4188      "endPosition": "1226",
4189      "kind": "VARIABLE",
4190      "binding": {
4191        "endPosition": "1222",
4192        "kind": "IDENTIFIER",
4193        "name": "c",
4194        "startPosition": "1221"
4195      },
4196      "startPosition": "1203",
4197      "initializer": {
4198        "endPosition": "1226",
4199        "kind": "NUMBER_LITERAL",
4200        "value": "3",
4201        "startPosition": "1225"
4202      }
4203    }
4204  ],
4205  "sourceName": "parsertests/varDecl.js",
4206  "strict": "false",
4207  "startPosition": "1143"
4208}
4209,
4210{
4211  "endPosition": "1111",
4212  "kind": "COMPILATION_UNIT",
4213  "sourceElements": [
4214    {
4215      "endPosition": "1133",
4216      "kind": "WITH",
4217      "scope": {
4218        "endPosition": "1122",
4219        "kind": "IDENTIFIER",
4220        "name": "scope",
4221        "startPosition": "1117"
4222      },
4223      "statement": {
4224        "endPosition": "1133",
4225        "kind": "BLOCK",
4226        "statements": [
4227          {
4228            "expression": {
4229              "expression": {
4230                "endPosition": "1131",
4231                "kind": "IDENTIFIER",
4232                "name": "y",
4233                "startPosition": "1130"
4234              },
4235              "endPosition": "1131",
4236              "kind": "ASSIGNMENT",
4237              "variable": {
4238                "endPosition": "1127",
4239                "kind": "IDENTIFIER",
4240                "name": "x",
4241                "startPosition": "1126"
4242              },
4243              "startPosition": "1126"
4244            },
4245            "endPosition": "1131",
4246            "kind": "EXPRESSION_STATEMENT",
4247            "startPosition": "1126"
4248          }
4249        ],
4250        "startPosition": "1124"
4251      },
4252      "startPosition": "1111"
4253    }
4254  ],
4255  "sourceName": "parsertests/withStat.js",
4256  "strict": "false",
4257  "startPosition": "1111"
4258}
4259,
4260{
4261  "fileName": "parsernegativetests/caseoutofswitch.js",
4262  "code": "case (1090, 4)",
4263  "columnNumber": "0",
4264  "kind": "ERROR",
4265  "position": "1090",
4266  "message": "parsernegativetests/caseoutofswitch.js:29:0 Expected an operand but found case\ncase 23:\n^",
4267  "lineNumber": "29"
4268}
4269,
4270{
4271  "fileName": "parsernegativetests/caseoutofswitch.js",
4272  "code": "default (1112, 7)",
4273  "columnNumber": "0",
4274  "kind": "ERROR",
4275  "position": "1112",
4276  "message": "parsernegativetests/caseoutofswitch.js:31:0 Expected an operand but found default\ndefault:\n^",
4277  "lineNumber": "31"
4278}
4279,
4280{
4281  "endPosition": "1090",
4282  "kind": "COMPILATION_UNIT",
4283  "sourceElements": [
4284    {
4285      "expression": {
4286        "endPosition": "1098",
4287        "kind": "ERROR",
4288        "startPosition": "1090"
4289      },
4290      "endPosition": "1098",
4291      "kind": "EXPRESSION_STATEMENT",
4292      "startPosition": "1090"
4293    },
4294    {
4295      "expression": {
4296        "endPosition": "1110",
4297        "kind": "FUNCTION_INVOCATION",
4298        "functionSelect": {
4299          "endPosition": "1104",
4300          "kind": "IDENTIFIER",
4301          "name": "print",
4302          "startPosition": "1099"
4303        },
4304        "arguments": [
4305          {
4306            "endPosition": "1108",
4307            "kind": "STRING_LITERAL",
4308            "value": "23",
4309            "startPosition": "1106"
4310          }
4311        ],
4312        "startPosition": "1099"
4313      },
4314      "endPosition": "1110",
4315      "kind": "EXPRESSION_STATEMENT",
4316      "startPosition": "1099"
4317    },
4318    {
4319      "expression": {
4320        "endPosition": "1120",
4321        "kind": "ERROR",
4322        "startPosition": "1112"
4323      },
4324      "endPosition": "1120",
4325      "kind": "EXPRESSION_STATEMENT",
4326      "startPosition": "1112"
4327    },
4328    {
4329      "expression": {
4330        "endPosition": "1135",
4331        "kind": "FUNCTION_INVOCATION",
4332        "functionSelect": {
4333          "endPosition": "1126",
4334          "kind": "IDENTIFIER",
4335          "name": "print",
4336          "startPosition": "1121"
4337        },
4338        "arguments": [
4339          {
4340            "endPosition": "1133",
4341            "kind": "STRING_LITERAL",
4342            "value": "hello",
4343            "startPosition": "1128"
4344          }
4345        ],
4346        "startPosition": "1121"
4347      },
4348      "endPosition": "1135",
4349      "kind": "EXPRESSION_STATEMENT",
4350      "startPosition": "1121"
4351    }
4352  ],
4353  "sourceName": "parsernegativetests/caseoutofswitch.js",
4354  "strict": "false",
4355  "startPosition": "1090"
4356}
4357,
4358{
4359  "fileName": "parsernegativetests/illegalbreak.js",
4360  "code": "break (1090, 5)",
4361  "columnNumber": "0",
4362  "kind": "ERROR",
4363  "position": "1090",
4364  "message": "parsernegativetests/illegalbreak.js:29:0 Illegal break statement\nbreak;\n^",
4365  "lineNumber": "29"
4366}
4367,
4368{
4369  "fileName": "parsernegativetests/illegalbreak.js",
4370  "code": "ident (1103, 3)",
4371  "columnNumber": "6",
4372  "kind": "ERROR",
4373  "position": "1103",
4374  "message": "parsernegativetests/illegalbreak.js:30:6 Undefined Label \"foo\"\nbreak foo;\n      ^",
4375  "lineNumber": "30"
4376}
4377,
4378{
4379  "endPosition": "1090",
4380  "kind": "COMPILATION_UNIT",
4381  "sourceElements": [
4382    {
4383      "expression": {
4384        "endPosition": "1096",
4385        "kind": "ERROR",
4386        "startPosition": "1095"
4387      },
4388      "endPosition": "1096",
4389      "kind": "EXPRESSION_STATEMENT",
4390      "startPosition": "1095"
4391    },
4392    {
4393      "expression": {
4394        "endPosition": "1107",
4395        "kind": "ERROR",
4396        "startPosition": "1106"
4397      },
4398      "endPosition": "1107",
4399      "kind": "EXPRESSION_STATEMENT",
4400      "startPosition": "1106"
4401    }
4402  ],
4403  "sourceName": "parsernegativetests/illegalbreak.js",
4404  "strict": "false",
4405  "startPosition": "1090"
4406}
4407,
4408{
4409  "fileName": "parsernegativetests/illegalcontinue.js",
4410  "code": "continue (1090, 8)",
4411  "columnNumber": "0",
4412  "kind": "ERROR",
4413  "position": "1090",
4414  "message": "parsernegativetests/illegalcontinue.js:29:0 Illegal continue statement\ncontinue;\n^",
4415  "lineNumber": "29"
4416}
4417,
4418{
4419  "fileName": "parsernegativetests/illegalcontinue.js",
4420  "code": "ident (1109, 3)",
4421  "columnNumber": "9",
4422  "kind": "ERROR",
4423  "position": "1109",
4424  "message": "parsernegativetests/illegalcontinue.js:30:9 Undefined Label \"foo\"\ncontinue foo;\n         ^",
4425  "lineNumber": "30"
4426}
4427,
4428{
4429  "endPosition": "1090",
4430  "kind": "COMPILATION_UNIT",
4431  "sourceElements": [
4432    {
4433      "expression": {
4434        "endPosition": "1099",
4435        "kind": "ERROR",
4436        "startPosition": "1098"
4437      },
4438      "endPosition": "1099",
4439      "kind": "EXPRESSION_STATEMENT",
4440      "startPosition": "1098"
4441    },
4442    {
4443      "expression": {
4444        "endPosition": "1113",
4445        "kind": "ERROR",
4446        "startPosition": "1112"
4447      },
4448      "endPosition": "1113",
4449      "kind": "EXPRESSION_STATEMENT",
4450      "startPosition": "1112"
4451    }
4452  ],
4453  "sourceName": "parsernegativetests/illegalcontinue.js",
4454  "strict": "false",
4455  "startPosition": "1090"
4456}
4457,
4458{
4459  "fileName": "parsernegativetests/illegallvalue.js",
4460  "code": "decimal (1090, 2)",
4461  "columnNumber": "0",
4462  "kind": "ERROR",
4463  "position": "1090",
4464  "message": "parsernegativetests/illegallvalue.js:29:0 Invalid left hand side for assignment\n44 = 54;\n^",
4465  "lineNumber": "29"
4466}
4467,
4468{
4469  "fileName": "parsernegativetests/illegallvalue.js",
4470  "code": "decimal (1099, 3)",
4471  "columnNumber": "0",
4472  "kind": "ERROR",
4473  "position": "1099",
4474  "message": "parsernegativetests/illegallvalue.js:30:0 Invalid left hand side for assignment\n233 += 33;\n^",
4475  "lineNumber": "30"
4476}
4477,
4478{
4479  "fileName": "parsernegativetests/illegallvalue.js",
4480  "code": "decimal (1110, 4)",
4481  "columnNumber": "0",
4482  "kind": "ERROR",
4483  "position": "1110",
4484  "message": "parsernegativetests/illegallvalue.js:31:0 Invalid left hand side for assignment\n3423 -= 234;\n^",
4485  "lineNumber": "31"
4486}
4487,
4488{
4489  "endPosition": "1090",
4490  "kind": "COMPILATION_UNIT",
4491  "sourceElements": [
4492    {
4493      "expression": {
4494        "endPosition": "1098",
4495        "kind": "ERROR",
4496        "startPosition": "1097"
4497      },
4498      "endPosition": "1098",
4499      "kind": "EXPRESSION_STATEMENT",
4500      "startPosition": "1097"
4501    },
4502    {
4503      "expression": {
4504        "endPosition": "1109",
4505        "kind": "ERROR",
4506        "startPosition": "1108"
4507      },
4508      "endPosition": "1109",
4509      "kind": "EXPRESSION_STATEMENT",
4510      "startPosition": "1108"
4511    },
4512    {
4513      "expression": {
4514        "endPosition": "1122",
4515        "kind": "ERROR",
4516        "startPosition": "1121"
4517      },
4518      "endPosition": "1122",
4519      "kind": "EXPRESSION_STATEMENT",
4520      "startPosition": "1121"
4521    }
4522  ],
4523  "sourceName": "parsernegativetests/illegallvalue.js",
4524  "strict": "false",
4525  "startPosition": "1090"
4526}
4527,
4528{
4529  "fileName": "parsernegativetests/illegaloperator.js",
4530  "code": "* (1093, 1)",
4531  "columnNumber": "3",
4532  "kind": "ERROR",
4533  "position": "1093",
4534  "message": "parsernegativetests/illegaloperator.js:29:3 Expected an operand but found *\nx ** y\n   ^",
4535  "lineNumber": "29"
4536}
4537,
4538{
4539  "endPosition": "1090",
4540  "kind": "COMPILATION_UNIT",
4541  "sourceElements": [
4542    {
4543      "expression": {
4544        "endPosition": "1096",
4545        "kind": "ERROR",
4546        "startPosition": "1093"
4547      },
4548      "endPosition": "1096",
4549      "kind": "EXPRESSION_STATEMENT",
4550      "startPosition": "1093"
4551    }
4552  ],
4553  "sourceName": "parsernegativetests/illegaloperator.js",
4554  "strict": "false",
4555  "startPosition": "1090"
4556}
4557,
4558{
4559  "fileName": "parsernegativetests/keywordident.js",
4560  "code": "var (1094, 3)",
4561  "columnNumber": "4",
4562  "kind": "ERROR",
4563  "position": "1094",
4564  "message": "parsernegativetests/keywordident.js:29:4 Expected ident but found var\nvar var = 23;\n    ^",
4565  "lineNumber": "29"
4566}
4567,
4568{
4569  "endPosition": "1090",
4570  "kind": "COMPILATION_UNIT",
4571  "sourceElements": [
4572    {
4573      "expression": {
4574        "endPosition": "1103",
4575        "kind": "ERROR",
4576        "startPosition": "1094"
4577      },
4578      "endPosition": "1103",
4579      "kind": "EXPRESSION_STATEMENT",
4580      "startPosition": "1094"
4581    },
4582    {
4583      "endPosition": "1115",
4584      "kind": "VARIABLE",
4585      "binding": {
4586        "endPosition": "1109",
4587        "kind": "IDENTIFIER",
4588        "name": "x",
4589        "startPosition": "1108"
4590      },
4591      "startPosition": "1104",
4592      "initializer": {
4593        "endPosition": "1115",
4594        "kind": "NUMBER_LITERAL",
4595        "value": "223",
4596        "startPosition": "1112"
4597      }
4598    }
4599  ],
4600  "sourceName": "parsernegativetests/keywordident.js",
4601  "strict": "false",
4602  "startPosition": "1090"
4603}
4604,
4605{
4606  "fileName": "parsernegativetests/parenmissing.js",
4607  "code": "; (1096, 1)",
4608  "columnNumber": "6",
4609  "kind": "ERROR",
4610  "position": "1096",
4611  "message": "parsernegativetests/parenmissing.js:29:6 Expected ) but found ;\n(1 + 2;\n      ^",
4612  "lineNumber": "29"
4613}
4614,
4615{
4616  "fileName": "parsernegativetests/parenmissing.js",
4617  "code": ") (1103, 1)",
4618  "columnNumber": "5",
4619  "kind": "ERROR",
4620  "position": "1103",
4621  "message": "parsernegativetests/parenmissing.js:30:5 Expected ; but found )\nx * y);\n     ^",
4622  "lineNumber": "30"
4623}
4624,
4625{
4626  "endPosition": "1090",
4627  "kind": "COMPILATION_UNIT",
4628  "sourceElements": [
4629    {
4630      "expression": {
4631        "endPosition": "1097",
4632        "kind": "ERROR",
4633        "startPosition": "1096"
4634      },
4635      "endPosition": "1097",
4636      "kind": "EXPRESSION_STATEMENT",
4637      "startPosition": "1096"
4638    },
4639    {
4640      "expression": {
4641        "leftOperand": {
4642          "endPosition": "1099",
4643          "kind": "IDENTIFIER",
4644          "name": "x",
4645          "startPosition": "1098"
4646        },
4647        "endPosition": "1103",
4648        "kind": "MULTIPLY",
4649        "rightOperand": {
4650          "endPosition": "1103",
4651          "kind": "IDENTIFIER",
4652          "name": "y",
4653          "startPosition": "1102"
4654        },
4655        "startPosition": "1098"
4656      },
4657      "endPosition": "1103",
4658      "kind": "EXPRESSION_STATEMENT",
4659      "startPosition": "1098"
4660    },
4661    {
4662      "expression": {
4663        "endPosition": "1105",
4664        "kind": "ERROR",
4665        "startPosition": "1103"
4666      },
4667      "endPosition": "1105",
4668      "kind": "EXPRESSION_STATEMENT",
4669      "startPosition": "1103"
4670    }
4671  ],
4672  "sourceName": "parsernegativetests/parenmissing.js",
4673  "strict": "false",
4674  "startPosition": "1090"
4675}
4676,
4677{
4678  "fileName": "parsernegativetests/repeatedproperty.js",
4679  "code": "ident (1111, 3)",
4680  "columnNumber": "21",
4681  "kind": "ERROR",
4682  "position": "1111",
4683  "message": "parsernegativetests/repeatedproperty.js:29:21 Property \"foo\" already defined\nvar obj = { foo: 34, get foo() { return 'hello' } };\n                     ^",
4684  "lineNumber": "29"
4685}
4686,
4687{
4688  "fileName": "parsernegativetests/repeatedproperty.js",
4689  "code": "ident (1165, 3)",
4690  "columnNumber": "22",
4691  "kind": "ERROR",
4692  "position": "1165",
4693  "message": "parsernegativetests/repeatedproperty.js:30:22 Property \"foo\" already defined\nvar obj1 = { foo: 34, set foo(x) { } };\n                      ^",
4694  "lineNumber": "30"
4695}
4696,
4697{
4698  "fileName": "parsernegativetests/repeatedproperty.js",
4699  "code": "ident (1205, 3)",
4700  "columnNumber": "22",
4701  "kind": "ERROR",
4702  "position": "1205",
4703  "message": "parsernegativetests/repeatedproperty.js:31:22 Property \"foo\" already defined\nvar obj2 = { foo: 34, set foo(x) { } };\n                      ^",
4704  "lineNumber": "31"
4705}
4706,
4707{
4708  "fileName": "parsernegativetests/repeatedproperty.js",
4709  "code": "ident (1251, 3)",
4710  "columnNumber": "28",
4711  "kind": "ERROR",
4712  "position": "1251",
4713  "message": "parsernegativetests/repeatedproperty.js:32:28 Property \"bar\" already defined\nvar obj3 = { get bar() { }, get bar() {} };\n                            ^",
4714  "lineNumber": "32"
4715}
4716,
4717{
4718  "fileName": "parsernegativetests/repeatedproperty.js",
4719  "code": "ident (1296, 3)",
4720  "columnNumber": "29",
4721  "kind": "ERROR",
4722  "position": "1296",
4723  "message": "parsernegativetests/repeatedproperty.js:33:29 Property \"bar\" already defined\nvar obj4 = { set bar(x) { }, set bar(x) {} };\n                             ^",
4724  "lineNumber": "33"
4725}
4726,
4727{
4728  "endPosition": "1090",
4729  "kind": "COMPILATION_UNIT",
4730  "sourceElements": [
4731    {
4732      "expression": {
4733        "endPosition": "1141",
4734        "kind": "ERROR",
4735        "startPosition": "1140"
4736      },
4737      "endPosition": "1141",
4738      "kind": "EXPRESSION_STATEMENT",
4739      "startPosition": "1140"
4740    },
4741    {
4742      "expression": {
4743        "endPosition": "1181",
4744        "kind": "ERROR",
4745        "startPosition": "1180"
4746      },
4747      "endPosition": "1181",
4748      "kind": "EXPRESSION_STATEMENT",
4749      "startPosition": "1180"
4750    },
4751    {
4752      "expression": {
4753        "endPosition": "1221",
4754        "kind": "ERROR",
4755        "startPosition": "1220"
4756      },
4757      "endPosition": "1221",
4758      "kind": "EXPRESSION_STATEMENT",
4759      "startPosition": "1220"
4760    },
4761    {
4762      "expression": {
4763        "endPosition": "1265",
4764        "kind": "ERROR",
4765        "startPosition": "1264"
4766      },
4767      "endPosition": "1265",
4768      "kind": "EXPRESSION_STATEMENT",
4769      "startPosition": "1264"
4770    },
4771    {
4772      "expression": {
4773        "endPosition": "1311",
4774        "kind": "ERROR",
4775        "startPosition": "1310"
4776      },
4777      "endPosition": "1311",
4778      "kind": "EXPRESSION_STATEMENT",
4779      "startPosition": "1310"
4780    }
4781  ],
4782  "sourceName": "parsernegativetests/repeatedproperty.js",
4783  "strict": "false",
4784  "startPosition": "1090"
4785}
4786,
4787{
4788  "fileName": "parsernegativetests/strict_repeatedproperty.js",
4789  "code": "ident (1126, 3)",
4790  "columnNumber": "21",
4791  "kind": "ERROR",
4792  "position": "1126",
4793  "message": "parsernegativetests/strict_repeatedproperty.js:31:21 Property \"foo\" already defined\nvar obj = { foo: 34, foo: 'hello' };\n                     ^",
4794  "lineNumber": "31"
4795}
4796,
4797{
4798  "endPosition": "1090",
4799  "kind": "COMPILATION_UNIT",
4800  "sourceElements": [
4801    {
4802      "expression": {
4803        "endPosition": "1101",
4804        "kind": "STRING_LITERAL",
4805        "value": "use strict",
4806        "startPosition": "1091"
4807      },
4808      "endPosition": "1101",
4809      "kind": "EXPRESSION_STATEMENT",
4810      "startPosition": "1091"
4811    },
4812    {
4813      "expression": {
4814        "endPosition": "1140",
4815        "kind": "ERROR",
4816        "startPosition": "1139"
4817      },
4818      "endPosition": "1140",
4819      "kind": "EXPRESSION_STATEMENT",
4820      "startPosition": "1139"
4821    }
4822  ],
4823  "sourceName": "parsernegativetests/strict_repeatedproperty.js",
4824  "strict": "true",
4825  "startPosition": "1090"
4826}
4827,
4828{
4829  "fileName": "parsernegativetests/strict_repeatparam.js",
4830  "code": "ident (1122, 1)",
4831  "columnNumber": "17",
4832  "kind": "ERROR",
4833  "position": "1122",
4834  "message": "parsernegativetests/strict_repeatparam.js:31:17 strict mode function cannot have duplicate parameter name \"x\"\nfunction func(x, x) {}\n                 ^",
4835  "lineNumber": "31"
4836}
4837,
4838{
4839  "endPosition": "1090",
4840  "kind": "COMPILATION_UNIT",
4841  "sourceElements": [
4842    {
4843      "expression": {
4844        "endPosition": "1101",
4845        "kind": "STRING_LITERAL",
4846        "value": "use strict",
4847        "startPosition": "1091"
4848      },
4849      "endPosition": "1101",
4850      "kind": "EXPRESSION_STATEMENT",
4851      "startPosition": "1091"
4852    },
4853    {
4854      "expression": {
4855        "endPosition": "1127",
4856        "kind": "ERROR",
4857        "startPosition": "1128"
4858      },
4859      "endPosition": "1127",
4860      "kind": "EXPRESSION_STATEMENT",
4861      "startPosition": "1128"
4862    }
4863  ],
4864  "sourceName": "parsernegativetests/strict_repeatparam.js",
4865  "strict": "true",
4866  "startPosition": "1090"
4867}
4868,
4869{
4870  "fileName": "parsernegativetests/strict_with.js",
4871  "code": "with (1105, 4)",
4872  "columnNumber": "0",
4873  "kind": "ERROR",
4874  "position": "1105",
4875  "message": "parsernegativetests/strict_with.js:31:0 \"with\" statement cannot be used in strict mode\nwith({}) {}\n^",
4876  "lineNumber": "31"
4877}
4878,
4879{
4880  "fileName": "parsernegativetests/strict_with.js",
4881  "code": ") (1112, 1)",
4882  "columnNumber": "7",
4883  "kind": "ERROR",
4884  "position": "1112",
4885  "message": "parsernegativetests/strict_with.js:31:7 Expected ; but found )\nwith({}) {}\n       ^",
4886  "lineNumber": "31"
4887}
4888,
4889{
4890  "endPosition": "1090",
4891  "kind": "COMPILATION_UNIT",
4892  "sourceElements": [
4893    {
4894      "expression": {
4895        "endPosition": "1101",
4896        "kind": "STRING_LITERAL",
4897        "value": "use strict",
4898        "startPosition": "1091"
4899      },
4900      "endPosition": "1101",
4901      "kind": "EXPRESSION_STATEMENT",
4902      "startPosition": "1091"
4903    },
4904    {
4905      "expression": {
4906        "endPosition": "1112",
4907        "kind": "ERROR",
4908        "startPosition": "1109"
4909      },
4910      "endPosition": "1112",
4911      "kind": "EXPRESSION_STATEMENT",
4912      "startPosition": "1109"
4913    },
4914    {
4915      "expression": {
4916        "endPosition": "1116",
4917        "kind": "ERROR",
4918        "startPosition": "1112"
4919      },
4920      "endPosition": "1116",
4921      "kind": "EXPRESSION_STATEMENT",
4922      "startPosition": "1112"
4923    }
4924  ],
4925  "sourceName": "parsernegativetests/strict_with.js",
4926  "strict": "true",
4927  "startPosition": "1090"
4928}
4929,
4930{
4931  "fileName": "parsernegativetests/toplevelreturn.js",
4932  "code": "return (1090, 6)",
4933  "columnNumber": "0",
4934  "kind": "ERROR",
4935  "position": "1090",
4936  "message": "parsernegativetests/toplevelreturn.js:29:0 Invalid return statement\nreturn;\n^",
4937  "lineNumber": "29"
4938}
4939,
4940{
4941  "fileName": "parsernegativetests/toplevelreturn.js",
4942  "code": "return (1098, 6)",
4943  "columnNumber": "0",
4944  "kind": "ERROR",
4945  "position": "1098",
4946  "message": "parsernegativetests/toplevelreturn.js:30:0 Invalid return statement\nreturn 23;\n^",
4947  "lineNumber": "30"
4948}
4949,
4950{
4951  "endPosition": "1090",
4952  "kind": "COMPILATION_UNIT",
4953  "sourceElements": [
4954    {
4955      "expression": {
4956        "endPosition": "1097",
4957        "kind": "ERROR",
4958        "startPosition": "1090"
4959      },
4960      "endPosition": "1097",
4961      "kind": "EXPRESSION_STATEMENT",
4962      "startPosition": "1090"
4963    },
4964    {
4965      "expression": {
4966        "endPosition": "1108",
4967        "kind": "ERROR",
4968        "startPosition": "1098"
4969      },
4970      "endPosition": "1108",
4971      "kind": "EXPRESSION_STATEMENT",
4972      "startPosition": "1098"
4973    }
4974  ],
4975  "sourceName": "parsernegativetests/toplevelreturn.js",
4976  "strict": "false",
4977  "startPosition": "1090"
4978}
4979,
4980{
4981  "endPosition": "1136",
4982  "kind": "COMPILATION_UNIT",
4983  "sourceElements": [
4984    {
4985      "endPosition": "1222",
4986      "kind": "FUNCTION",
4987      "name": {
4988        "endPosition": "1151",
4989        "kind": "IDENTIFIER",
4990        "name": "Parser",
4991        "startPosition": "1145"
4992      },
4993      "body": {
4994        "endPosition": "1220",
4995        "kind": "BLOCK",
4996        "statements": [
4997          {
4998            "expression": {
4999              "expression": {
5000                "endPosition": "1219",
5001                "kind": "FUNCTION_INVOCATION",
5002                "functionSelect": {
5003                  "identifier": "create",
5004                  "expression": {
5005                    "endPosition": "1210",
5006                    "kind": "IDENTIFIER",
5007                    "name": "Parser",
5008                    "startPosition": "1204"
5009                  },
5010                  "endPosition": "1217",
5011                  "kind": "MEMBER_SELECT",
5012                  "startPosition": "1204"
5013                },
5014                "arguments": [],
5015                "startPosition": "1204"
5016              },
5017              "endPosition": "1219",
5018              "kind": "ASSIGNMENT",
5019              "variable": {
5020                "identifier": "_parser",
5021                "expression": {
5022                  "endPosition": "1193",
5023                  "kind": "IDENTIFIER",
5024                  "this": "true",
5025                  "name": "this",
5026                  "startPosition": "1189"
5027                },
5028                "endPosition": "1201",
5029                "kind": "MEMBER_SELECT",
5030                "startPosition": "1189"
5031              },
5032              "startPosition": "1189"
5033            },
5034            "endPosition": "1219",
5035            "kind": "EXPRESSION_STATEMENT",
5036            "startPosition": "1189"
5037          }
5038        ],
5039        "startPosition": "1154"
5040      },
5041      "strict": "false",
5042      "startPosition": "1136",
5043      "parameters": []
5044    },
5045    {
5046      "expression": {
5047        "expression": {
5048          "endPosition": "1307",
5049          "kind": "FUNCTION_INVOCATION",
5050          "functionSelect": {
5051            "identifier": "type",
5052            "expression": {
5053              "endPosition": "1267",
5054              "kind": "IDENTIFIER",
5055              "name": "Java",
5056              "startPosition": "1263"
5057            },
5058            "endPosition": "1272",
5059            "kind": "MEMBER_SELECT",
5060            "startPosition": "1263"
5061          },
5062          "arguments": [
5063            {
5064              "endPosition": "1305",
5065              "kind": "STRING_LITERAL",
5066              "value": "jdk.nashorn.api.tree.Diagnostic",
5067              "startPosition": "1274"
5068            }
5069          ],
5070          "startPosition": "1263"
5071        },
5072        "endPosition": "1307",
5073        "kind": "ASSIGNMENT",
5074        "variable": {
5075          "identifier": "Diagnostic",
5076          "expression": {
5077            "endPosition": "1249",
5078            "kind": "IDENTIFIER",
5079            "name": "Parser",
5080            "startPosition": "1243"
5081          },
5082          "endPosition": "1260",
5083          "kind": "MEMBER_SELECT",
5084          "startPosition": "1243"
5085        },
5086        "startPosition": "1243"
5087      },
5088      "endPosition": "1307",
5089      "kind": "EXPRESSION_STATEMENT",
5090      "startPosition": "1243"
5091    },
5092    {
5093      "expression": {
5094        "expression": {
5095          "endPosition": "1392",
5096          "kind": "FUNCTION_INVOCATION",
5097          "functionSelect": {
5098            "identifier": "type",
5099            "expression": {
5100              "endPosition": "1340",
5101              "kind": "IDENTIFIER",
5102              "name": "Java",
5103              "startPosition": "1336"
5104            },
5105            "endPosition": "1345",
5106            "kind": "MEMBER_SELECT",
5107            "startPosition": "1336"
5108          },
5109          "arguments": [
5110            {
5111              "endPosition": "1390",
5112              "kind": "STRING_LITERAL",
5113              "value": "jdk.nashorn.api.tree.SimpleTreeVisitorES5_1",
5114              "startPosition": "1347"
5115            }
5116          ],
5117          "startPosition": "1336"
5118        },
5119        "endPosition": "1392",
5120        "kind": "ASSIGNMENT",
5121        "variable": {
5122          "identifier": "SimpleTreeVisitor",
5123          "expression": {
5124            "endPosition": "1315",
5125            "kind": "IDENTIFIER",
5126            "name": "Parser",
5127            "startPosition": "1309"
5128          },
5129          "endPosition": "1333",
5130          "kind": "MEMBER_SELECT",
5131          "startPosition": "1309"
5132        },
5133        "startPosition": "1309"
5134      },
5135      "endPosition": "1392",
5136      "kind": "EXPRESSION_STATEMENT",
5137      "startPosition": "1309"
5138    },
5139    {
5140      "expression": {
5141        "expression": {
5142          "endPosition": "1446",
5143          "kind": "FUNCTION_INVOCATION",
5144          "functionSelect": {
5145            "identifier": "type",
5146            "expression": {
5147              "endPosition": "1412",
5148              "kind": "IDENTIFIER",
5149              "name": "Java",
5150              "startPosition": "1408"
5151            },
5152            "endPosition": "1417",
5153            "kind": "MEMBER_SELECT",
5154            "startPosition": "1408"
5155          },
5156          "arguments": [
5157            {
5158              "endPosition": "1444",
5159              "kind": "STRING_LITERAL",
5160              "value": "jdk.nashorn.api.tree.Tree",
5161              "startPosition": "1419"
5162            }
5163          ],
5164          "startPosition": "1408"
5165        },
5166        "endPosition": "1446",
5167        "kind": "ASSIGNMENT",
5168        "variable": {
5169          "identifier": "Tree",
5170          "expression": {
5171            "endPosition": "1400",
5172            "kind": "IDENTIFIER",
5173            "name": "Parser",
5174            "startPosition": "1394"
5175          },
5176          "endPosition": "1405",
5177          "kind": "MEMBER_SELECT",
5178          "startPosition": "1394"
5179        },
5180        "startPosition": "1394"
5181      },
5182      "endPosition": "1446",
5183      "kind": "EXPRESSION_STATEMENT",
5184      "startPosition": "1394"
5185    },
5186    {
5187      "expression": {
5188        "expression": {
5189          "endPosition": "1489",
5190          "kind": "FUNCTION_INVOCATION",
5191          "functionSelect": {
5192            "identifier": "type",
5193            "expression": {
5194              "endPosition": "1466",
5195              "kind": "IDENTIFIER",
5196              "name": "Java",
5197              "startPosition": "1462"
5198            },
5199            "endPosition": "1471",
5200            "kind": "MEMBER_SELECT",
5201            "startPosition": "1462"
5202          },
5203          "arguments": [
5204            {
5205              "endPosition": "1487",
5206              "kind": "STRING_LITERAL",
5207              "value": "java.util.List",
5208              "startPosition": "1473"
5209            }
5210          ],
5211          "startPosition": "1462"
5212        },
5213        "endPosition": "1489",
5214        "kind": "ASSIGNMENT",
5215        "variable": {
5216          "identifier": "List",
5217          "expression": {
5218            "endPosition": "1454",
5219            "kind": "IDENTIFIER",
5220            "name": "Parser",
5221            "startPosition": "1448"
5222          },
5223          "endPosition": "1459",
5224          "kind": "MEMBER_SELECT",
5225          "startPosition": "1448"
5226        },
5227        "startPosition": "1448"
5228      },
5229      "endPosition": "1489",
5230      "kind": "EXPRESSION_STATEMENT",
5231      "startPosition": "1448"
5232    },
5233    {
5234      "expression": {
5235        "expression": {
5236          "endPosition": "1532",
5237          "kind": "FUNCTION_INVOCATION",
5238          "functionSelect": {
5239            "identifier": "type",
5240            "expression": {
5241              "endPosition": "1509",
5242              "kind": "IDENTIFIER",
5243              "name": "Java",
5244              "startPosition": "1505"
5245            },
5246            "endPosition": "1514",
5247            "kind": "MEMBER_SELECT",
5248            "startPosition": "1505"
5249          },
5250          "arguments": [
5251            {
5252              "endPosition": "1530",
5253              "kind": "STRING_LITERAL",
5254              "value": "java.lang.Enum",
5255              "startPosition": "1516"
5256            }
5257          ],
5258          "startPosition": "1505"
5259        },
5260        "endPosition": "1532",
5261        "kind": "ASSIGNMENT",
5262        "variable": {
5263          "identifier": "Enum",
5264          "expression": {
5265            "endPosition": "1497",
5266            "kind": "IDENTIFIER",
5267            "name": "Parser",
5268            "startPosition": "1491"
5269          },
5270          "endPosition": "1502",
5271          "kind": "MEMBER_SELECT",
5272          "startPosition": "1491"
5273        },
5274        "startPosition": "1491"
5275      },
5276      "endPosition": "1532",
5277      "kind": "EXPRESSION_STATEMENT",
5278      "startPosition": "1491"
5279    },
5280    {
5281      "expression": {
5282        "expression": {
5283          "endPosition": "1659",
5284          "kind": "FUNCTION_EXPRESSION",
5285          "body": {
5286            "endPosition": "1805",
5287            "kind": "BLOCK",
5288            "statements": [
5289              {
5290                "endPosition": "1718",
5291                "kind": "VARIABLE",
5292                "binding": {
5293                  "endPosition": "1673",
5294                  "kind": "IDENTIFIER",
5295                  "name": "tree",
5296                  "startPosition": "1669"
5297                },
5298                "startPosition": "1665",
5299                "initializer": {
5300                  "endPosition": "1718",
5301                  "kind": "FUNCTION_INVOCATION",
5302                  "functionSelect": {
5303                    "identifier": "parse",
5304                    "expression": {
5305                      "identifier": "_parser",
5306                      "expression": {
5307                        "endPosition": "1680",
5308                        "kind": "IDENTIFIER",
5309                        "this": "true",
5310                        "name": "this",
5311                        "startPosition": "1676"
5312                      },
5313                      "endPosition": "1688",
5314                      "kind": "MEMBER_SELECT",
5315                      "startPosition": "1676"
5316                    },
5317                    "endPosition": "1694",
5318                    "kind": "MEMBER_SELECT",
5319                    "startPosition": "1676"
5320                  },
5321                  "arguments": [
5322                    {
5323                      "endPosition": "1699",
5324                      "kind": "IDENTIFIER",
5325                      "name": "name",
5326                      "startPosition": "1695"
5327                    },
5328                    {
5329                      "endPosition": "1707",
5330                      "kind": "IDENTIFIER",
5331                      "name": "script",
5332                      "startPosition": "1701"
5333                    },
5334                    {
5335                      "endPosition": "1717",
5336                      "kind": "IDENTIFIER",
5337                      "name": "listener",
5338                      "startPosition": "1709"
5339                    }
5340                  ],
5341                  "startPosition": "1676"
5342                }
5343              },
5344              {
5345                "expression": {
5346                  "endPosition": "1773",
5347                  "kind": "FUNCTION_INVOCATION",
5348                  "functionSelect": {
5349                    "identifier": "accept",
5350                    "expression": {
5351                      "endPosition": "1728",
5352                      "kind": "IDENTIFIER",
5353                      "name": "tree",
5354                      "startPosition": "1724"
5355                    },
5356                    "endPosition": "1735",
5357                    "kind": "MEMBER_SELECT",
5358                    "startPosition": "1724"
5359                  },
5360                  "arguments": [
5361                    {
5362                      "constructorExpression": {
5363                        "endPosition": "1766",
5364                        "kind": "FUNCTION_INVOCATION",
5365                        "functionSelect": {
5366                          "identifier": "SimpleTreeVisitor",
5367                          "expression": {
5368                            "endPosition": "1746",
5369                            "kind": "IDENTIFIER",
5370                            "name": "Parser",
5371                            "startPosition": "1740"
5372                          },
5373                          "endPosition": "1764",
5374                          "kind": "MEMBER_SELECT",
5375                          "startPosition": "1740"
5376                        },
5377                        "arguments": [],
5378                        "startPosition": "1746"
5379                      },
5380                      "endPosition": "1766",
5381                      "kind": "NEW",
5382                      "startPosition": "1736"
5383                    },
5384                    {
5385                      "endPosition": "1772",
5386                      "kind": "NULL_LITERAL",
5387                      "startPosition": "1768"
5388                    }
5389                  ],
5390                  "startPosition": "1724"
5391                },
5392                "endPosition": "1773",
5393                "kind": "EXPRESSION_STATEMENT",
5394                "startPosition": "1724"
5395              },
5396              {
5397                "expression": {
5398                  "endPosition": "1804",
5399                  "kind": "FUNCTION_INVOCATION",
5400                  "functionSelect": {
5401                    "identifier": "convert",
5402                    "expression": {
5403                      "endPosition": "1790",
5404                      "kind": "IDENTIFIER",
5405                      "this": "true",
5406                      "name": "this",
5407                      "startPosition": "1786"
5408                    },
5409                    "endPosition": "1798",
5410                    "kind": "MEMBER_SELECT",
5411                    "startPosition": "1786"
5412                  },
5413                  "arguments": [
5414                    {
5415                      "endPosition": "1803",
5416                      "kind": "IDENTIFIER",
5417                      "name": "tree",
5418                      "startPosition": "1799"
5419                    }
5420                  ],
5421                  "startPosition": "1786"
5422                },
5423                "endPosition": "1805",
5424                "kind": "RETURN",
5425                "startPosition": "1779"
5426              }
5427            ],
5428            "startPosition": "1659"
5429          },
5430          "strict": "false",
5431          "startPosition": "1659",
5432          "parameters": [
5433            {
5434              "endPosition": "1639",
5435              "kind": "IDENTIFIER",
5436              "name": "name",
5437              "startPosition": "1635"
5438            },
5439            {
5440              "endPosition": "1647",
5441              "kind": "IDENTIFIER",
5442              "name": "script",
5443              "startPosition": "1641"
5444            },
5445            {
5446              "endPosition": "1657",
5447              "kind": "IDENTIFIER",
5448              "name": "listener",
5449              "startPosition": "1649"
5450            }
5451          ]
5452        },
5453        "endPosition": "1659",
5454        "kind": "ASSIGNMENT",
5455        "variable": {
5456          "identifier": "parse",
5457          "expression": {
5458            "identifier": "prototype",
5459            "expression": {
5460              "endPosition": "1607",
5461              "kind": "IDENTIFIER",
5462              "name": "Parser",
5463              "startPosition": "1601"
5464            },
5465            "endPosition": "1617",
5466            "kind": "MEMBER_SELECT",
5467            "startPosition": "1601"
5468          },
5469          "endPosition": "1623",
5470          "kind": "MEMBER_SELECT",
5471          "startPosition": "1601"
5472        },
5473        "startPosition": "1601"
5474      },
5475      "endPosition": "1807",
5476      "kind": "EXPRESSION_STATEMENT",
5477      "startPosition": "1601"
5478    },
5479    {
5480      "expression": {
5481        "expression": {
5482          "endPosition": "1836",
5483          "kind": "FUNCTION_EXPRESSION",
5484          "body": {
5485            "endPosition": "1899",
5486            "kind": "BLOCK",
5487            "statements": [
5488              {
5489                "expression": {
5490                  "endPosition": "1898",
5491                  "kind": "FUNCTION_INVOCATION",
5492                  "functionSelect": {
5493                    "identifier": "create",
5494                    "expression": {
5495                      "endPosition": "1889",
5496                      "kind": "FUNCTION_INVOCATION",
5497                      "functionSelect": {
5498                        "identifier": "type",
5499                        "expression": {
5500                          "endPosition": "1853",
5501                          "kind": "IDENTIFIER",
5502                          "name": "Java",
5503                          "startPosition": "1849"
5504                        },
5505                        "endPosition": "1858",
5506                        "kind": "MEMBER_SELECT",
5507                        "startPosition": "1849"
5508                      },
5509                      "arguments": [
5510                        {
5511                          "endPosition": "1887",
5512                          "kind": "STRING_LITERAL",
5513                          "value": "jdk.nashorn.api.tree.Parser",
5514                          "startPosition": "1860"
5515                        }
5516                      ],
5517                      "startPosition": "1849"
5518                    },
5519                    "endPosition": "1896",
5520                    "kind": "MEMBER_SELECT",
5521                    "startPosition": "1849"
5522                  },
5523                  "arguments": [],
5524                  "startPosition": "1896"
5525                },
5526                "endPosition": "1899",
5527                "kind": "RETURN",
5528                "startPosition": "1842"
5529              }
5530            ],
5531            "startPosition": "1836"
5532          },
5533          "strict": "false",
5534          "startPosition": "1836",
5535          "parameters": []
5536        },
5537        "endPosition": "1836",
5538        "kind": "ASSIGNMENT",
5539        "variable": {
5540          "identifier": "create",
5541          "expression": {
5542            "endPosition": "1815",
5543            "kind": "IDENTIFIER",
5544            "name": "Parser",
5545            "startPosition": "1809"
5546          },
5547          "endPosition": "1822",
5548          "kind": "MEMBER_SELECT",
5549          "startPosition": "1809"
5550        },
5551        "startPosition": "1809"
5552      },
5553      "endPosition": "1901",
5554      "kind": "EXPRESSION_STATEMENT",
5555      "startPosition": "1809"
5556    },
5557    {
5558      "expression": {
5559        "expression": {
5560          "endPosition": "2016",
5561          "kind": "FUNCTION_EXPRESSION",
5562          "body": {
5563            "endPosition": "3634",
5564            "kind": "BLOCK",
5565            "statements": [
5566              {
5567                "condition": {
5568                  "leftOperand": {
5569                    "leftOperand": {
5570                      "expression": {
5571                        "endPosition": "2031",
5572                        "kind": "IDENTIFIER",
5573                        "name": "tree",
5574                        "startPosition": "2027"
5575                      },
5576                      "endPosition": "2031",
5577                      "kind": "LOGICAL_COMPLEMENT",
5578                      "startPosition": "2026"
5579                    },
5580                    "endPosition": "2057",
5581                    "kind": "CONDITIONAL_OR",
5582                    "rightOperand": {
5583                      "leftOperand": {
5584                        "expression": {
5585                          "endPosition": "2046",
5586                          "kind": "IDENTIFIER",
5587                          "name": "tree",
5588                          "startPosition": "2042"
5589                        },
5590                        "endPosition": "2046",
5591                        "kind": "TYPEOF",
5592                        "startPosition": "2035"
5593                      },
5594                      "endPosition": "2057",
5595                      "kind": "NOT_EQUAL_TO",
5596                      "rightOperand": {
5597                        "endPosition": "2057",
5598                        "kind": "STRING_LITERAL",
5599                        "value": "object",
5600                        "startPosition": "2051"
5601                      },
5602                      "startPosition": "2035"
5603                    },
5604                    "startPosition": "2026"
5605                  },
5606                  "endPosition": "2092",
5607                  "kind": "CONDITIONAL_OR",
5608                  "rightOperand": {
5609                    "leftOperand": {
5610                      "endPosition": "2066",
5611                      "kind": "IDENTIFIER",
5612                      "name": "tree",
5613                      "startPosition": "2062"
5614                    },
5615                    "expression": {
5616                      "endPosition": "2066",
5617                      "kind": "IDENTIFIER",
5618                      "name": "tree",
5619                      "startPosition": "2062"
5620                    },
5621                    "endPosition": "2092",
5622                    "kind": "INSTANCE_OF",
5623                    "rightOperand": {
5624                      "identifier": "Long",
5625                      "expression": {
5626                        "identifier": "lang",
5627                        "expression": {
5628                          "endPosition": "2082",
5629                          "kind": "IDENTIFIER",
5630                          "name": "java",
5631                          "startPosition": "2078"
5632                        },
5633                        "endPosition": "2087",
5634                        "kind": "MEMBER_SELECT",
5635                        "startPosition": "2078"
5636                      },
5637                      "endPosition": "2092",
5638                      "kind": "MEMBER_SELECT",
5639                      "startPosition": "2078"
5640                    },
5641                    "type": {
5642                      "identifier": "Long",
5643                      "expression": {
5644                        "identifier": "lang",
5645                        "expression": {
5646                          "endPosition": "2082",
5647                          "kind": "IDENTIFIER",
5648                          "name": "java",
5649                          "startPosition": "2078"
5650                        },
5651                        "endPosition": "2087",
5652                        "kind": "MEMBER_SELECT",
5653                        "startPosition": "2078"
5654                      },
5655                      "endPosition": "2092",
5656                      "kind": "MEMBER_SELECT",
5657                      "startPosition": "2078"
5658                    },
5659                    "startPosition": "2062"
5660                  },
5661                  "startPosition": "2026"
5662                },
5663                "endPosition": "2122",
5664                "kind": "IF",
5665                "startPosition": "2022",
5666                "thenStatement": {
5667                  "endPosition": "2122",
5668                  "kind": "BLOCK",
5669                  "statements": [
5670                    {
5671                      "expression": {
5672                        "endPosition": "2115",
5673                        "kind": "IDENTIFIER",
5674                        "name": "tree",
5675                        "startPosition": "2111"
5676                      },
5677                      "endPosition": "2116",
5678                      "kind": "RETURN",
5679                      "startPosition": "2104"
5680                    }
5681                  ],
5682                  "startPosition": "2094"
5683                }
5684              },
5685              {
5686                "endPosition": "2169",
5687                "kind": "VARIABLE",
5688                "binding": {
5689                  "endPosition": "2135",
5690                  "kind": "IDENTIFIER",
5691                  "name": "obj",
5692                  "startPosition": "2132"
5693                },
5694                "startPosition": "2128",
5695                "initializer": {
5696                  "endPosition": "2169",
5697                  "kind": "FUNCTION_INVOCATION",
5698                  "functionSelect": {
5699                    "identifier": "bindProperties",
5700                    "expression": {
5701                      "endPosition": "2144",
5702                      "kind": "IDENTIFIER",
5703                      "name": "Object",
5704                      "startPosition": "2138"
5705                    },
5706                    "endPosition": "2159",
5707                    "kind": "MEMBER_SELECT",
5708                    "startPosition": "2138"
5709                  },
5710                  "arguments": [
5711                    {
5712                      "endPosition": "2162",
5713                      "kind": "OBJECT_LITERAL",
5714                      "startPosition": "2160",
5715                      "properties": []
5716                    },
5717                    {
5718                      "endPosition": "2168",
5719                      "kind": "IDENTIFIER",
5720                      "name": "tree",
5721                      "startPosition": "2164"
5722                    }
5723                  ],
5724                  "startPosition": "2138"
5725                }
5726              },
5727              {
5728                "endPosition": "2190",
5729                "kind": "VARIABLE",
5730                "binding": {
5731                  "endPosition": "2185",
5732                  "kind": "IDENTIFIER",
5733                  "name": "result",
5734                  "startPosition": "2179"
5735                },
5736                "startPosition": "2175",
5737                "initializer": {
5738                  "endPosition": "2190",
5739                  "kind": "OBJECT_LITERAL",
5740                  "startPosition": "2188",
5741                  "properties": []
5742                }
5743              },
5744              {
5745                "endPosition": "2206",
5746                "kind": "VARIABLE",
5747                "binding": {
5748                  "endPosition": "2206",
5749                  "kind": "IDENTIFIER",
5750                  "name": "i",
5751                  "startPosition": "2205"
5752                },
5753                "startPosition": "2201"
5754              },
5755              {
5756                "expression": {
5757                  "endPosition": "2213",
5758                  "kind": "IDENTIFIER",
5759                  "name": "obj",
5760                  "startPosition": "2210"
5761                },
5762                "endPosition": "3615",
5763                "kind": "FOR_IN_LOOP",
5764                "forEach": "false",
5765                "variable": {
5766                  "endPosition": "2206",
5767                  "kind": "IDENTIFIER",
5768                  "name": "i",
5769                  "startPosition": "2205"
5770                },
5771                "statement": {
5772                  "endPosition": "3615",
5773                  "kind": "BLOCK",
5774                  "statements": [
5775                    {
5776                      "endPosition": "2241",
5777                      "kind": "VARIABLE",
5778                      "binding": {
5779                        "endPosition": "2232",
5780                        "kind": "IDENTIFIER",
5781                        "name": "val",
5782                        "startPosition": "2229"
5783                      },
5784                      "startPosition": "2225",
5785                      "initializer": {
5786                        "expression": {
5787                          "endPosition": "2238",
5788                          "kind": "IDENTIFIER",
5789                          "name": "obj",
5790                          "startPosition": "2235"
5791                        },
5792                        "endPosition": "2241",
5793                        "kind": "ARRAY_ACCESS",
5794                        "index": {
5795                          "endPosition": "2240",
5796                          "kind": "IDENTIFIER",
5797                          "name": "i",
5798                          "startPosition": "2239"
5799                        },
5800                        "startPosition": "2235"
5801                      }
5802                    },
5803                    {
5804                      "condition": {
5805                        "leftOperand": {
5806                          "leftOperand": {
5807                            "expression": {
5808                              "endPosition": "2384",
5809                              "kind": "IDENTIFIER",
5810                              "name": "val",
5811                              "startPosition": "2381"
5812                            },
5813                            "endPosition": "2384",
5814                            "kind": "TYPEOF",
5815                            "startPosition": "2374"
5816                          },
5817                          "endPosition": "2397",
5818                          "kind": "EQUAL_TO",
5819                          "rightOperand": {
5820                            "endPosition": "2397",
5821                            "kind": "STRING_LITERAL",
5822                            "value": "boolean",
5823                            "startPosition": "2390"
5824                          },
5825                          "startPosition": "2374"
5826                        },
5827                        "endPosition": "2414",
5828                        "kind": "CONDITIONAL_AND",
5829                        "rightOperand": {
5830                          "leftOperand": {
5831                            "endPosition": "2405",
5832                            "kind": "IDENTIFIER",
5833                            "name": "val",
5834                            "startPosition": "2402"
5835                          },
5836                          "endPosition": "2414",
5837                          "kind": "EQUAL_TO",
5838                          "rightOperand": {
5839                            "endPosition": "2414",
5840                            "kind": "BOOLEAN_LITERAL",
5841                            "value": "false",
5842                            "startPosition": "2409"
5843                          },
5844                          "startPosition": "2402"
5845                        },
5846                        "startPosition": "2374"
5847                      },
5848                      "endPosition": "2881",
5849                      "kind": "IF",
5850                      "startPosition": "2370",
5851                      "thenStatement": {
5852                        "endPosition": "2881",
5853                        "kind": "BLOCK",
5854                        "statements": [
5855                          {
5856                            "cases": [
5857                              {
5858                                "expression": {
5859                                  "endPosition": "2473",
5860                                  "kind": "STRING_LITERAL",
5861                                  "value": "computed",
5862                                  "startPosition": "2465"
5863                                },
5864                                "endPosition": "2475",
5865                                "kind": "CASE",
5866                                "statements": [],
5867                                "startPosition": "2459"
5868                              },
5869                              {
5870                                "expression": {
5871                                  "endPosition": "2504",
5872                                  "kind": "STRING_LITERAL",
5873                                  "value": "static",
5874                                  "startPosition": "2498"
5875                                },
5876                                "endPosition": "2506",
5877                                "kind": "CASE",
5878                                "statements": [],
5879                                "startPosition": "2492"
5880                              },
5881                              {
5882                                "expression": {
5883                                  "endPosition": "2542",
5884                                  "kind": "STRING_LITERAL",
5885                                  "value": "restParameter",
5886                                  "startPosition": "2529"
5887                                },
5888                                "endPosition": "2544",
5889                                "kind": "CASE",
5890                                "statements": [],
5891                                "startPosition": "2523"
5892                              },
5893                              {
5894                                "expression": {
5895                                  "endPosition": "2571",
5896                                  "kind": "STRING_LITERAL",
5897                                  "value": "this",
5898                                  "startPosition": "2567"
5899                                },
5900                                "endPosition": "2573",
5901                                "kind": "CASE",
5902                                "statements": [],
5903                                "startPosition": "2561"
5904                              },
5905                              {
5906                                "expression": {
5907                                  "endPosition": "2601",
5908                                  "kind": "STRING_LITERAL",
5909                                  "value": "super",
5910                                  "startPosition": "2596"
5911                                },
5912                                "endPosition": "2603",
5913                                "kind": "CASE",
5914                                "statements": [],
5915                                "startPosition": "2590"
5916                              },
5917                              {
5918                                "expression": {
5919                                  "endPosition": "2630",
5920                                  "kind": "STRING_LITERAL",
5921                                  "value": "star",
5922                                  "startPosition": "2626"
5923                                },
5924                                "endPosition": "2632",
5925                                "kind": "CASE",
5926                                "statements": [],
5927                                "startPosition": "2620"
5928                              },
5929                              {
5930                                "expression": {
5931                                  "endPosition": "2662",
5932                                  "kind": "STRING_LITERAL",
5933                                  "value": "default",
5934                                  "startPosition": "2655"
5935                                },
5936                                "endPosition": "2664",
5937                                "kind": "CASE",
5938                                "statements": [],
5939                                "startPosition": "2649"
5940                              },
5941                              {
5942                                "expression": {
5943                                  "endPosition": "2702",
5944                                  "kind": "STRING_LITERAL",
5945                                  "value": "starDefaultStar",
5946                                  "startPosition": "2687"
5947                                },
5948                                "endPosition": "2704",
5949                                "kind": "CASE",
5950                                "statements": [],
5951                                "startPosition": "2681"
5952                              },
5953                              {
5954                                "expression": {
5955                                  "endPosition": "2732",
5956                                  "kind": "STRING_LITERAL",
5957                                  "value": "arrow",
5958                                  "startPosition": "2727"
5959                                },
5960                                "endPosition": "2734",
5961                                "kind": "CASE",
5962                                "statements": [],
5963                                "startPosition": "2721"
5964                              },
5965                              {
5966                                "expression": {
5967                                  "endPosition": "2766",
5968                                  "kind": "STRING_LITERAL",
5969                                  "value": "generator",
5970                                  "startPosition": "2757"
5971                                },
5972                                "endPosition": "2768",
5973                                "kind": "CASE",
5974                                "statements": [],
5975                                "startPosition": "2751"
5976                              },
5977                              {
5978                                "expression": {
5979                                  "endPosition": "2794",
5980                                  "kind": "STRING_LITERAL",
5981                                  "value": "let",
5982                                  "startPosition": "2791"
5983                                },
5984                                "endPosition": "2796",
5985                                "kind": "CASE",
5986                                "statements": [],
5987                                "startPosition": "2785"
5988                              },
5989                              {
5990                                "expression": {
5991                                  "endPosition": "2824",
5992                                  "kind": "STRING_LITERAL",
5993                                  "value": "const",
5994                                  "startPosition": "2819"
5995                                },
5996                                "endPosition": "2856",
5997                                "kind": "CASE",
5998                                "statements": [
5999                                  {
6000                                    "endPosition": "2856",
6001                                    "kind": "CONTINUE",
6002                                    "startPosition": "2847"
6003                                  }
6004                                ],
6005                                "startPosition": "2813"
6006                              }
6007                            ],
6008                            "expression": {
6009                              "endPosition": "2439",
6010                              "kind": "IDENTIFIER",
6011                              "name": "i",
6012                              "startPosition": "2438"
6013                            },
6014                            "endPosition": "2871",
6015                            "kind": "SWITCH",
6016                            "startPosition": "2430"
6017                          }
6018                        ],
6019                        "startPosition": "2416"
6020                      }
6021                    },
6022                    {
6023                      "condition": {
6024                        "leftOperand": {
6025                          "endPosition": "2898",
6026                          "kind": "IDENTIFIER",
6027                          "name": "val",
6028                          "startPosition": "2895"
6029                        },
6030                        "expression": {
6031                          "endPosition": "2898",
6032                          "kind": "IDENTIFIER",
6033                          "name": "val",
6034                          "startPosition": "2895"
6035                        },
6036                        "endPosition": "2921",
6037                        "kind": "INSTANCE_OF",
6038                        "rightOperand": {
6039                          "identifier": "Tree",
6040                          "expression": {
6041                            "endPosition": "2916",
6042                            "kind": "IDENTIFIER",
6043                            "name": "Parser",
6044                            "startPosition": "2910"
6045                          },
6046                          "endPosition": "2921",
6047                          "kind": "MEMBER_SELECT",
6048                          "startPosition": "2910"
6049                        },
6050                        "type": {
6051                          "identifier": "Tree",
6052                          "expression": {
6053                            "endPosition": "2916",
6054                            "kind": "IDENTIFIER",
6055                            "name": "Parser",
6056                            "startPosition": "2910"
6057                          },
6058                          "endPosition": "2921",
6059                          "kind": "MEMBER_SELECT",
6060                          "startPosition": "2910"
6061                        },
6062                        "startPosition": "2895"
6063                      },
6064                      "elseStatement": {
6065                        "condition": {
6066                          "leftOperand": {
6067                            "endPosition": "2990",
6068                            "kind": "IDENTIFIER",
6069                            "name": "val",
6070                            "startPosition": "2987"
6071                          },
6072                          "expression": {
6073                            "endPosition": "2990",
6074                            "kind": "IDENTIFIER",
6075                            "name": "val",
6076                            "startPosition": "2987"
6077                          },
6078                          "endPosition": "3013",
6079                          "kind": "INSTANCE_OF",
6080                          "rightOperand": {
6081                            "identifier": "List",
6082                            "expression": {
6083                              "endPosition": "3008",
6084                              "kind": "IDENTIFIER",
6085                              "name": "Parser",
6086                              "startPosition": "3002"
6087                            },
6088                            "endPosition": "3013",
6089                            "kind": "MEMBER_SELECT",
6090                            "startPosition": "3002"
6091                          },
6092                          "type": {
6093                            "identifier": "List",
6094                            "expression": {
6095                              "endPosition": "3008",
6096                              "kind": "IDENTIFIER",
6097                              "name": "Parser",
6098                              "startPosition": "3002"
6099                            },
6100                            "endPosition": "3013",
6101                            "kind": "MEMBER_SELECT",
6102                            "startPosition": "3002"
6103                          },
6104                          "startPosition": "2987"
6105                        },
6106                        "elseStatement": {
6107                          "endPosition": "3609",
6108                          "kind": "BLOCK",
6109                          "statements": [
6110                            {
6111                              "cases": [
6112                                {
6113                                  "expression": {
6114                                    "endPosition": "3265",
6115                                    "kind": "STRING_LITERAL",
6116                                    "value": "number",
6117                                    "startPosition": "3259"
6118                                  },
6119                                  "endPosition": "3267",
6120                                  "kind": "CASE",
6121                                  "statements": [],
6122                                  "startPosition": "3253"
6123                                },
6124                                {
6125                                  "expression": {
6126                                    "endPosition": "3296",
6127                                    "kind": "STRING_LITERAL",
6128                                    "value": "string",
6129                                    "startPosition": "3290"
6130                                  },
6131                                  "endPosition": "3298",
6132                                  "kind": "CASE",
6133                                  "statements": [],
6134                                  "startPosition": "3284"
6135                                },
6136                                {
6137                                  "expression": {
6138                                    "endPosition": "3328",
6139                                    "kind": "STRING_LITERAL",
6140                                    "value": "boolean",
6141                                    "startPosition": "3321"
6142                                  },
6143                                  "endPosition": "3402",
6144                                  "kind": "CASE",
6145                                  "statements": [
6146                                    {
6147                                      "expression": {
6148                                        "expression": {
6149                                          "endPosition": "3374",
6150                                          "kind": "FUNCTION_INVOCATION",
6151                                          "functionSelect": {
6152                                            "endPosition": "3369",
6153                                            "kind": "IDENTIFIER",
6154                                            "name": "String",
6155                                            "startPosition": "3363"
6156                                          },
6157                                          "arguments": [
6158                                            {
6159                                              "endPosition": "3373",
6160                                              "kind": "IDENTIFIER",
6161                                              "name": "val",
6162                                              "startPosition": "3370"
6163                                            }
6164                                          ],
6165                                          "startPosition": "3363"
6166                                        },
6167                                        "endPosition": "3374",
6168                                        "kind": "ASSIGNMENT",
6169                                        "variable": {
6170                                          "expression": {
6171                                            "endPosition": "3357",
6172                                            "kind": "IDENTIFIER",
6173                                            "name": "result",
6174                                            "startPosition": "3351"
6175                                          },
6176                                          "endPosition": "3360",
6177                                          "kind": "ARRAY_ACCESS",
6178                                          "index": {
6179                                            "endPosition": "3359",
6180                                            "kind": "IDENTIFIER",
6181                                            "name": "i",
6182                                            "startPosition": "3358"
6183                                          },
6184                                          "startPosition": "3351"
6185                                        },
6186                                        "startPosition": "3351"
6187                                      },
6188                                      "endPosition": "3374",
6189                                      "kind": "EXPRESSION_STATEMENT",
6190                                      "startPosition": "3351"
6191                                    },
6192                                    {
6193                                      "endPosition": "3402",
6194                                      "kind": "BREAK",
6195                                      "startPosition": "3396"
6196                                    }
6197                                  ],
6198                                  "startPosition": "3315"
6199                                },
6200                                {
6201                                  "endPosition": "3585",
6202                                  "kind": "CASE",
6203                                  "statements": [
6204                                    {
6205                                      "condition": {
6206                                        "leftOperand": {
6207                                          "leftOperand": {
6208                                            "endPosition": "3455",
6209                                            "kind": "IDENTIFIER",
6210                                            "name": "val",
6211                                            "startPosition": "3452"
6212                                          },
6213                                          "expression": {
6214                                            "endPosition": "3455",
6215                                            "kind": "IDENTIFIER",
6216                                            "name": "val",
6217                                            "startPosition": "3452"
6218                                          },
6219                                          "endPosition": "3481",
6220                                          "kind": "INSTANCE_OF",
6221                                          "rightOperand": {
6222                                            "identifier": "Long",
6223                                            "expression": {
6224                                              "identifier": "lang",
6225                                              "expression": {
6226                                                "endPosition": "3471",
6227                                                "kind": "IDENTIFIER",
6228                                                "name": "java",
6229                                                "startPosition": "3467"
6230                                              },
6231                                              "endPosition": "3476",
6232                                              "kind": "MEMBER_SELECT",
6233                                              "startPosition": "3467"
6234                                            },
6235                                            "endPosition": "3481",
6236                                            "kind": "MEMBER_SELECT",
6237                                            "startPosition": "3467"
6238                                          },
6239                                          "type": {
6240                                            "identifier": "Long",
6241                                            "expression": {
6242                                              "identifier": "lang",
6243                                              "expression": {
6244                                                "endPosition": "3471",
6245                                                "kind": "IDENTIFIER",
6246                                                "name": "java",
6247                                                "startPosition": "3467"
6248                                              },
6249                                              "endPosition": "3476",
6250                                              "kind": "MEMBER_SELECT",
6251                                              "startPosition": "3467"
6252                                            },
6253                                            "endPosition": "3481",
6254                                            "kind": "MEMBER_SELECT",
6255                                            "startPosition": "3467"
6256                                          },
6257                                          "startPosition": "3452"
6258                                        },
6259                                        "endPosition": "3511",
6260                                        "kind": "CONDITIONAL_OR",
6261                                        "rightOperand": {
6262                                          "leftOperand": {
6263                                            "endPosition": "3488",
6264                                            "kind": "IDENTIFIER",
6265                                            "name": "val",
6266                                            "startPosition": "3485"
6267                                          },
6268                                          "expression": {
6269                                            "endPosition": "3488",
6270                                            "kind": "IDENTIFIER",
6271                                            "name": "val",
6272                                            "startPosition": "3485"
6273                                          },
6274                                          "endPosition": "3511",
6275                                          "kind": "INSTANCE_OF",
6276                                          "rightOperand": {
6277                                            "identifier": "Enum",
6278                                            "expression": {
6279                                              "endPosition": "3506",
6280                                              "kind": "IDENTIFIER",
6281                                              "name": "Parser",
6282                                              "startPosition": "3500"
6283                                            },
6284                                            "endPosition": "3511",
6285                                            "kind": "MEMBER_SELECT",
6286                                            "startPosition": "3500"
6287                                          },
6288                                          "type": {
6289                                            "identifier": "Enum",
6290                                            "expression": {
6291                                              "endPosition": "3506",
6292                                              "kind": "IDENTIFIER",
6293                                              "name": "Parser",
6294                                              "startPosition": "3500"
6295                                            },
6296                                            "endPosition": "3511",
6297                                            "kind": "MEMBER_SELECT",
6298                                            "startPosition": "3500"
6299                                          },
6300                                          "startPosition": "3485"
6301                                        },
6302                                        "startPosition": "3452"
6303                                      },
6304                                      "endPosition": "3585",
6305                                      "kind": "IF",
6306                                      "startPosition": "3448",
6307                                      "thenStatement": {
6308                                        "endPosition": "3585",
6309                                        "kind": "BLOCK",
6310                                        "statements": [
6311                                          {
6312                                            "expression": {
6313                                              "expression": {
6314                                                "endPosition": "3562",
6315                                                "kind": "FUNCTION_INVOCATION",
6316                                                "functionSelect": {
6317                                                  "endPosition": "3557",
6318                                                  "kind": "IDENTIFIER",
6319                                                  "name": "String",
6320                                                  "startPosition": "3551"
6321                                                },
6322                                                "arguments": [
6323                                                  {
6324                                                    "endPosition": "3561",
6325                                                    "kind": "IDENTIFIER",
6326                                                    "name": "val",
6327                                                    "startPosition": "3558"
6328                                                  }
6329                                                ],
6330                                                "startPosition": "3551"
6331                                              },
6332                                              "endPosition": "3562",
6333                                              "kind": "ASSIGNMENT",
6334                                              "variable": {
6335                                                "expression": {
6336                                                  "endPosition": "3545",
6337                                                  "kind": "IDENTIFIER",
6338                                                  "name": "result",
6339                                                  "startPosition": "3539"
6340                                                },
6341                                                "endPosition": "3548",
6342                                                "kind": "ARRAY_ACCESS",
6343                                                "index": {
6344                                                  "endPosition": "3547",
6345                                                  "kind": "IDENTIFIER",
6346                                                  "name": "i",
6347                                                  "startPosition": "3546"
6348                                                },
6349                                                "startPosition": "3539"
6350                                              },
6351                                              "startPosition": "3539"
6352                                            },
6353                                            "endPosition": "3562",
6354                                            "kind": "EXPRESSION_STATEMENT",
6355                                            "startPosition": "3539"
6356                                          }
6357                                        ],
6358                                        "startPosition": "3513"
6359                                      }
6360                                    }
6361                                  ],
6362                                  "startPosition": "3419"
6363                                }
6364                              ],
6365                              "expression": {
6366                                "expression": {
6367                                  "endPosition": "3233",
6368                                  "kind": "IDENTIFIER",
6369                                  "name": "val",
6370                                  "startPosition": "3230"
6371                                },
6372                                "endPosition": "3233",
6373                                "kind": "TYPEOF",
6374                                "startPosition": "3223"
6375                              },
6376                              "endPosition": "3599",
6377                              "kind": "SWITCH",
6378                              "startPosition": "3215"
6379                            }
6380                          ],
6381                          "startPosition": "3201"
6382                        },
6383                        "endPosition": "3609",
6384                        "kind": "IF",
6385                        "startPosition": "2983",
6386                        "thenStatement": {
6387                          "endPosition": "3195",
6388                          "kind": "BLOCK",
6389                          "statements": [
6390                            {
6391                              "endPosition": "3060",
6392                              "kind": "VARIABLE",
6393                              "binding": {
6394                                "endPosition": "3036",
6395                                "kind": "IDENTIFIER",
6396                                "name": "arr",
6397                                "startPosition": "3033"
6398                              },
6399                              "startPosition": "3029",
6400                              "initializer": {
6401                                "constructorExpression": {
6402                                  "endPosition": "3060",
6403                                  "kind": "FUNCTION_INVOCATION",
6404                                  "functionSelect": {
6405                                    "endPosition": "3048",
6406                                    "kind": "IDENTIFIER",
6407                                    "name": "Array",
6408                                    "startPosition": "3043"
6409                                  },
6410                                  "arguments": [
6411                                    {
6412                                      "endPosition": "3059",
6413                                      "kind": "FUNCTION_INVOCATION",
6414                                      "functionSelect": {
6415                                        "identifier": "size",
6416                                        "expression": {
6417                                          "endPosition": "3052",
6418                                          "kind": "IDENTIFIER",
6419                                          "name": "val",
6420                                          "startPosition": "3049"
6421                                        },
6422                                        "endPosition": "3057",
6423                                        "kind": "MEMBER_SELECT",
6424                                        "startPosition": "3049"
6425                                      },
6426                                      "arguments": [],
6427                                      "startPosition": "3049"
6428                                    }
6429                                  ],
6430                                  "startPosition": "3043"
6431                                },
6432                                "endPosition": "3060",
6433                                "kind": "NEW",
6434                                "startPosition": "3039"
6435                              }
6436                            },
6437                            {
6438                              "endPosition": "3084",
6439                              "kind": "VARIABLE",
6440                              "binding": {
6441                                "endPosition": "3084",
6442                                "kind": "IDENTIFIER",
6443                                "name": "j",
6444                                "startPosition": "3083"
6445                              },
6446                              "startPosition": "3079"
6447                            },
6448                            {
6449                              "expression": {
6450                                "endPosition": "3091",
6451                                "kind": "IDENTIFIER",
6452                                "name": "val",
6453                                "startPosition": "3088"
6454                              },
6455                              "endPosition": "3155",
6456                              "kind": "FOR_IN_LOOP",
6457                              "forEach": "false",
6458                              "variable": {
6459                                "endPosition": "3084",
6460                                "kind": "IDENTIFIER",
6461                                "name": "j",
6462                                "startPosition": "3083"
6463                              },
6464                              "statement": {
6465                                "endPosition": "3155",
6466                                "kind": "BLOCK",
6467                                "statements": [
6468                                  {
6469                                    "expression": {
6470                                      "expression": {
6471                                        "endPosition": "3140",
6472                                        "kind": "FUNCTION_INVOCATION",
6473                                        "functionSelect": {
6474                                          "identifier": "convert",
6475                                          "expression": {
6476                                            "endPosition": "3124",
6477                                            "kind": "IDENTIFIER",
6478                                            "this": "true",
6479                                            "name": "this",
6480                                            "startPosition": "3120"
6481                                          },
6482                                          "endPosition": "3132",
6483                                          "kind": "MEMBER_SELECT",
6484                                          "startPosition": "3120"
6485                                        },
6486                                        "arguments": [
6487                                          {
6488                                            "expression": {
6489                                              "endPosition": "3136",
6490                                              "kind": "IDENTIFIER",
6491                                              "name": "val",
6492                                              "startPosition": "3133"
6493                                            },
6494                                            "endPosition": "3139",
6495                                            "kind": "ARRAY_ACCESS",
6496                                            "index": {
6497                                              "endPosition": "3138",
6498                                              "kind": "IDENTIFIER",
6499                                              "name": "j",
6500                                              "startPosition": "3137"
6501                                            },
6502                                            "startPosition": "3133"
6503                                          }
6504                                        ],
6505                                        "startPosition": "3120"
6506                                      },
6507                                      "endPosition": "3140",
6508                                      "kind": "ASSIGNMENT",
6509                                      "variable": {
6510                                        "expression": {
6511                                          "endPosition": "3114",
6512                                          "kind": "IDENTIFIER",
6513                                          "name": "arr",
6514                                          "startPosition": "3111"
6515                                        },
6516                                        "endPosition": "3117",
6517                                        "kind": "ARRAY_ACCESS",
6518                                        "index": {
6519                                          "endPosition": "3116",
6520                                          "kind": "IDENTIFIER",
6521                                          "name": "j",
6522                                          "startPosition": "3115"
6523                                        },
6524                                        "startPosition": "3111"
6525                                      },
6526                                      "startPosition": "3111"
6527                                    },
6528                                    "endPosition": "3140",
6529                                    "kind": "EXPRESSION_STATEMENT",
6530                                    "startPosition": "3111"
6531                                  }
6532                                ],
6533                                "startPosition": "3093"
6534                              },
6535                              "startPosition": "3074"
6536                            },
6537                            {
6538                              "expression": {
6539                                "expression": {
6540                                  "endPosition": "3184",
6541                                  "kind": "IDENTIFIER",
6542                                  "name": "arr",
6543                                  "startPosition": "3181"
6544                                },
6545                                "endPosition": "3184",
6546                                "kind": "ASSIGNMENT",
6547                                "variable": {
6548                                  "expression": {
6549                                    "endPosition": "3175",
6550                                    "kind": "IDENTIFIER",
6551                                    "name": "result",
6552                                    "startPosition": "3169"
6553                                  },
6554                                  "endPosition": "3178",
6555                                  "kind": "ARRAY_ACCESS",
6556                                  "index": {
6557                                    "endPosition": "3177",
6558                                    "kind": "IDENTIFIER",
6559                                    "name": "i",
6560                                    "startPosition": "3176"
6561                                  },
6562                                  "startPosition": "3169"
6563                                },
6564                                "startPosition": "3169"
6565                              },
6566                              "endPosition": "3184",
6567                              "kind": "EXPRESSION_STATEMENT",
6568                              "startPosition": "3169"
6569                            }
6570                          ],
6571                          "startPosition": "3015"
6572                        }
6573                      },
6574                      "endPosition": "3609",
6575                      "kind": "IF",
6576                      "startPosition": "2891",
6577                      "thenStatement": {
6578                        "endPosition": "2977",
6579                        "kind": "BLOCK",
6580                        "statements": [
6581                          {
6582                            "expression": {
6583                              "expression": {
6584                                "endPosition": "2966",
6585                                "kind": "FUNCTION_INVOCATION",
6586                                "functionSelect": {
6587                                  "identifier": "convert",
6588                                  "expression": {
6589                                    "endPosition": "2953",
6590                                    "kind": "IDENTIFIER",
6591                                    "this": "true",
6592                                    "name": "this",
6593                                    "startPosition": "2949"
6594                                  },
6595                                  "endPosition": "2961",
6596                                  "kind": "MEMBER_SELECT",
6597                                  "startPosition": "2949"
6598                                },
6599                                "arguments": [
6600                                  {
6601                                    "endPosition": "2965",
6602                                    "kind": "IDENTIFIER",
6603                                    "name": "val",
6604                                    "startPosition": "2962"
6605                                  }
6606                                ],
6607                                "startPosition": "2949"
6608                              },
6609                              "endPosition": "2966",
6610                              "kind": "ASSIGNMENT",
6611                              "variable": {
6612                                "expression": {
6613                                  "endPosition": "2943",
6614                                  "kind": "IDENTIFIER",
6615                                  "name": "result",
6616                                  "startPosition": "2937"
6617                                },
6618                                "endPosition": "2946",
6619                                "kind": "ARRAY_ACCESS",
6620                                "index": {
6621                                  "endPosition": "2945",
6622                                  "kind": "IDENTIFIER",
6623                                  "name": "i",
6624                                  "startPosition": "2944"
6625                                },
6626                                "startPosition": "2937"
6627                              },
6628                              "startPosition": "2937"
6629                            },
6630                            "endPosition": "2966",
6631                            "kind": "EXPRESSION_STATEMENT",
6632                            "startPosition": "2937"
6633                          }
6634                        ],
6635                        "startPosition": "2923"
6636                      }
6637                    }
6638                  ],
6639                  "startPosition": "2215"
6640                },
6641                "startPosition": "2196"
6642              },
6643              {
6644                "expression": {
6645                  "endPosition": "3633",
6646                  "kind": "IDENTIFIER",
6647                  "name": "result",
6648                  "startPosition": "3627"
6649                },
6650                "endPosition": "3634",
6651                "kind": "RETURN",
6652                "startPosition": "3620"
6653              }
6654            ],
6655            "startPosition": "2016"
6656          },
6657          "strict": "false",
6658          "startPosition": "2016",
6659          "parameters": [
6660            {
6661              "endPosition": "2014",
6662              "kind": "IDENTIFIER",
6663              "name": "tree",
6664              "startPosition": "2010"
6665            }
6666          ]
6667        },
6668        "endPosition": "2016",
6669        "kind": "ASSIGNMENT",
6670        "variable": {
6671          "identifier": "convert",
6672          "expression": {
6673            "identifier": "prototype",
6674            "expression": {
6675              "endPosition": "1980",
6676              "kind": "IDENTIFIER",
6677              "name": "Parser",
6678              "startPosition": "1974"
6679            },
6680            "endPosition": "1990",
6681            "kind": "MEMBER_SELECT",
6682            "startPosition": "1974"
6683          },
6684          "endPosition": "1998",
6685          "kind": "MEMBER_SELECT",
6686          "startPosition": "1974"
6687        },
6688        "startPosition": "1974"
6689      },
6690      "endPosition": "3636",
6691      "kind": "EXPRESSION_STATEMENT",
6692      "startPosition": "1974"
6693    },
6694    {
6695      "endPosition": "4366",
6696      "kind": "FUNCTION",
6697      "name": {
6698        "endPosition": "3659",
6699        "kind": "IDENTIFIER",
6700        "name": "processFiles",
6701        "startPosition": "3647"
6702      },
6703      "body": {
6704        "endPosition": "4364",
6705        "kind": "BLOCK",
6706        "statements": [
6707          {
6708            "endPosition": "3710",
6709            "kind": "VARIABLE",
6710            "binding": {
6711              "endPosition": "3682",
6712              "kind": "IDENTIFIER",
6713              "name": "File",
6714              "startPosition": "3678"
6715            },
6716            "startPosition": "3674",
6717            "initializer": {
6718              "endPosition": "3710",
6719              "kind": "FUNCTION_INVOCATION",
6720              "functionSelect": {
6721                "identifier": "type",
6722                "expression": {
6723                  "endPosition": "3689",
6724                  "kind": "IDENTIFIER",
6725                  "name": "Java",
6726                  "startPosition": "3685"
6727                },
6728                "endPosition": "3694",
6729                "kind": "MEMBER_SELECT",
6730                "startPosition": "3685"
6731              },
6732              "arguments": [
6733                {
6734                  "endPosition": "3708",
6735                  "kind": "STRING_LITERAL",
6736                  "value": "java.io.File",
6737                  "startPosition": "3696"
6738                }
6739              ],
6740              "startPosition": "3685"
6741            }
6742          },
6743          {
6744            "endPosition": "3766",
6745            "kind": "VARIABLE",
6746            "binding": {
6747              "endPosition": "3725",
6748              "kind": "IDENTIFIER",
6749              "name": "files",
6750              "startPosition": "3720"
6751            },
6752            "startPosition": "3716",
6753            "initializer": {
6754              "endPosition": "3766",
6755              "kind": "FUNCTION_INVOCATION",
6756              "functionSelect": {
6757                "identifier": "listFiles",
6758                "expression": {
6759                  "constructorExpression": {
6760                    "endPosition": "3754",
6761                    "kind": "FUNCTION_INVOCATION",
6762                    "functionSelect": {
6763                      "endPosition": "3736",
6764                      "kind": "IDENTIFIER",
6765                      "name": "File",
6766                      "startPosition": "3732"
6767                    },
6768                    "arguments": [
6769                      {
6770                        "leftOperand": {
6771                          "endPosition": "3744",
6772                          "kind": "IDENTIFIER",
6773                          "name": "__DIR__",
6774                          "startPosition": "3737"
6775                        },
6776                        "endPosition": "3753",
6777                        "kind": "PLUS",
6778                        "rightOperand": {
6779                          "endPosition": "3753",
6780                          "kind": "IDENTIFIER",
6781                          "name": "subdir",
6782                          "startPosition": "3747"
6783                        },
6784                        "startPosition": "3737"
6785                      }
6786                    ],
6787                    "startPosition": "3732"
6788                  },
6789                  "endPosition": "3754",
6790                  "kind": "NEW",
6791                  "startPosition": "3728"
6792                },
6793                "endPosition": "3764",
6794                "kind": "MEMBER_SELECT",
6795                "startPosition": "3728"
6796              },
6797              "arguments": [],
6798              "startPosition": "3728"
6799            }
6800          },
6801          {
6802            "expression": {
6803              "endPosition": "3800",
6804              "kind": "FUNCTION_INVOCATION",
6805              "functionSelect": {
6806                "identifier": "sort",
6807                "expression": {
6808                  "identifier": "Arrays",
6809                  "expression": {
6810                    "identifier": "util",
6811                    "expression": {
6812                      "endPosition": "3776",
6813                      "kind": "IDENTIFIER",
6814                      "name": "java",
6815                      "startPosition": "3772"
6816                    },
6817                    "endPosition": "3781",
6818                    "kind": "MEMBER_SELECT",
6819                    "startPosition": "3772"
6820                  },
6821                  "endPosition": "3788",
6822                  "kind": "MEMBER_SELECT",
6823                  "startPosition": "3772"
6824                },
6825                "endPosition": "3793",
6826                "kind": "MEMBER_SELECT",
6827                "startPosition": "3772"
6828              },
6829              "arguments": [
6830                {
6831                  "endPosition": "3799",
6832                  "kind": "IDENTIFIER",
6833                  "name": "files",
6834                  "startPosition": "3794"
6835                }
6836              ],
6837              "startPosition": "3772"
6838            },
6839            "endPosition": "3800",
6840            "kind": "EXPRESSION_STATEMENT",
6841            "startPosition": "3772"
6842          },
6843          {
6844            "endPosition": "3824",
6845            "kind": "VARIABLE",
6846            "binding": {
6847              "endPosition": "3824",
6848              "kind": "IDENTIFIER",
6849              "name": "file",
6850              "startPosition": "3820"
6851            },
6852            "startPosition": "3816"
6853          },
6854          {
6855            "expression": {
6856              "endPosition": "3833",
6857              "kind": "IDENTIFIER",
6858              "name": "files",
6859              "startPosition": "3828"
6860            },
6861            "endPosition": "4364",
6862            "kind": "FOR_IN_LOOP",
6863            "forEach": "true",
6864            "variable": {
6865              "endPosition": "3824",
6866              "kind": "IDENTIFIER",
6867              "name": "file",
6868              "startPosition": "3820"
6869            },
6870            "statement": {
6871              "endPosition": "4364",
6872              "kind": "BLOCK",
6873              "statements": [
6874                {
6875                  "condition": {
6876                    "endPosition": "3874",
6877                    "kind": "FUNCTION_INVOCATION",
6878                    "functionSelect": {
6879                      "identifier": "endsWith",
6880                      "expression": {
6881                        "identifier": "name",
6882                        "expression": {
6883                          "endPosition": "3853",
6884                          "kind": "IDENTIFIER",
6885                          "name": "file",
6886                          "startPosition": "3849"
6887                        },
6888                        "endPosition": "3858",
6889                        "kind": "MEMBER_SELECT",
6890                        "startPosition": "3849"
6891                      },
6892                      "endPosition": "3867",
6893                      "kind": "MEMBER_SELECT",
6894                      "startPosition": "3849"
6895                    },
6896                    "arguments": [
6897                      {
6898                        "endPosition": "3872",
6899                        "kind": "STRING_LITERAL",
6900                        "value": ".js",
6901                        "startPosition": "3869"
6902                      }
6903                    ],
6904                    "startPosition": "3849"
6905                  },
6906                  "endPosition": "4358",
6907                  "kind": "IF",
6908                  "startPosition": "3845",
6909                  "thenStatement": {
6910                    "endPosition": "4358",
6911                    "kind": "BLOCK",
6912                    "statements": [
6913                      {
6914                        "endPosition": "3918",
6915                        "kind": "VARIABLE",
6916                        "binding": {
6917                          "endPosition": "3900",
6918                          "kind": "IDENTIFIER",
6919                          "name": "script",
6920                          "startPosition": "3894"
6921                        },
6922                        "startPosition": "3890",
6923                        "initializer": {
6924                          "endPosition": "3918",
6925                          "kind": "FUNCTION_INVOCATION",
6926                          "functionSelect": {
6927                            "endPosition": "3912",
6928                            "kind": "IDENTIFIER",
6929                            "name": "readFully",
6930                            "startPosition": "3903"
6931                          },
6932                          "arguments": [
6933                            {
6934                              "endPosition": "3917",
6935                              "kind": "IDENTIFIER",
6936                              "name": "file",
6937                              "startPosition": "3913"
6938                            }
6939                          ],
6940                          "startPosition": "3903"
6941                        }
6942                      },
6943                      {
6944                        "endPosition": "3957",
6945                        "kind": "VARIABLE",
6946                        "binding": {
6947                          "endPosition": "3942",
6948                          "kind": "IDENTIFIER",
6949                          "name": "parser",
6950                          "startPosition": "3936"
6951                        },
6952                        "startPosition": "3932",
6953                        "initializer": {
6954                          "constructorExpression": {
6955                            "endPosition": "3957",
6956                            "kind": "FUNCTION_INVOCATION",
6957                            "functionSelect": {
6958                              "endPosition": "3955",
6959                              "kind": "IDENTIFIER",
6960                              "name": "Parser",
6961                              "startPosition": "3949"
6962                            },
6963                            "arguments": [],
6964                            "startPosition": "3949"
6965                          },
6966                          "endPosition": "3957",
6967                          "kind": "NEW",
6968                          "startPosition": "3945"
6969                        }
6970                      },
6971                      {
6972                        "endPosition": "4218",
6973                        "kind": "VARIABLE",
6974                        "binding": {
6975                          "endPosition": "3979",
6976                          "kind": "IDENTIFIER",
6977                          "name": "tree",
6978                          "startPosition": "3975"
6979                        },
6980                        "startPosition": "3971",
6981                        "initializer": {
6982                          "endPosition": "4218",
6983                          "kind": "FUNCTION_INVOCATION",
6984                          "functionSelect": {
6985                            "identifier": "parse",
6986                            "expression": {
6987                              "endPosition": "3988",
6988                              "kind": "IDENTIFIER",
6989                              "name": "parser",
6990                              "startPosition": "3982"
6991                            },
6992                            "endPosition": "3994",
6993                            "kind": "MEMBER_SELECT",
6994                            "startPosition": "3982"
6995                          },
6996                          "arguments": [
6997                            {
6998                              "leftOperand": {
6999                                "leftOperand": {
7000                                  "endPosition": "4001",
7001                                  "kind": "IDENTIFIER",
7002                                  "name": "subdir",
7003                                  "startPosition": "3995"
7004                                },
7005                                "endPosition": "4006",
7006                                "kind": "PLUS",
7007                                "rightOperand": {
7008                                  "endPosition": "4006",
7009                                  "kind": "STRING_LITERAL",
7010                                  "value": "/",
7011                                  "startPosition": "4005"
7012                                },
7013                                "startPosition": "3995"
7014                              },
7015                              "endPosition": "4019",
7016                              "kind": "PLUS",
7017                              "rightOperand": {
7018                                "identifier": "name",
7019                                "expression": {
7020                                  "endPosition": "4014",
7021                                  "kind": "IDENTIFIER",
7022                                  "name": "file",
7023                                  "startPosition": "4010"
7024                                },
7025                                "endPosition": "4019",
7026                                "kind": "MEMBER_SELECT",
7027                                "startPosition": "4010"
7028                              },
7029                              "startPosition": "3995"
7030                            },
7031                            {
7032                              "endPosition": "4027",
7033                              "kind": "IDENTIFIER",
7034                              "name": "script",
7035                              "startPosition": "4021"
7036                            },
7037                            {
7038                              "endPosition": "4066",
7039                              "kind": "FUNCTION_EXPRESSION",
7040                              "body": {
7041                                "endPosition": "4199",
7042                                "kind": "BLOCK",
7043                                "statements": [
7044                                  {
7045                                    "expression": {
7046                                      "endPosition": "4166",
7047                                      "kind": "FUNCTION_INVOCATION",
7048                                      "functionSelect": {
7049                                        "endPosition": "4093",
7050                                        "kind": "IDENTIFIER",
7051                                        "name": "print",
7052                                        "startPosition": "4088"
7053                                      },
7054                                      "arguments": [
7055                                        {
7056                                          "endPosition": "4165",
7057                                          "kind": "FUNCTION_INVOCATION",
7058                                          "functionSelect": {
7059                                            "identifier": "replace",
7060                                            "expression": {
7061                                              "endPosition": "4145",
7062                                              "kind": "FUNCTION_INVOCATION",
7063                                              "functionSelect": {
7064                                                "identifier": "stringify",
7065                                                "expression": {
7066                                                  "endPosition": "4098",
7067                                                  "kind": "IDENTIFIER",
7068                                                  "name": "JSON",
7069                                                  "startPosition": "4094"
7070                                                },
7071                                                "endPosition": "4108",
7072                                                "kind": "MEMBER_SELECT",
7073                                                "startPosition": "4094"
7074                                              },
7075                                              "arguments": [
7076                                                {
7077                                                  "endPosition": "4135",
7078                                                  "kind": "FUNCTION_INVOCATION",
7079                                                  "functionSelect": {
7080                                                    "identifier": "convert",
7081                                                    "expression": {
7082                                                      "endPosition": "4115",
7083                                                      "kind": "IDENTIFIER",
7084                                                      "name": "parser",
7085                                                      "startPosition": "4109"
7086                                                    },
7087                                                    "endPosition": "4123",
7088                                                    "kind": "MEMBER_SELECT",
7089                                                    "startPosition": "4109"
7090                                                  },
7091                                                  "arguments": [
7092                                                    {
7093                                                      "endPosition": "4134",
7094                                                      "kind": "IDENTIFIER",
7095                                                      "name": "diagnostic",
7096                                                      "startPosition": "4124"
7097                                                    }
7098                                                  ],
7099                                                  "startPosition": "4109"
7100                                                },
7101                                                {
7102                                                  "endPosition": "4141",
7103                                                  "kind": "NULL_LITERAL",
7104                                                  "startPosition": "4137"
7105                                                },
7106                                                {
7107                                                  "endPosition": "4144",
7108                                                  "kind": "NUMBER_LITERAL",
7109                                                  "value": "2",
7110                                                  "startPosition": "4143"
7111                                                }
7112                                              ],
7113                                              "startPosition": "4094"
7114                                            },
7115                                            "endPosition": "4153",
7116                                            "kind": "MEMBER_SELECT",
7117                                            "startPosition": "4094"
7118                                          },
7119                                          "arguments": [
7120                                            {
7121                                              "endPosition": "4160",
7122                                              "kind": "REGEXP_LITERAL",
7123                                              "options": "g",
7124                                              "pattern": "\\\\r",
7125                                              "startPosition": "4154"
7126                                            },
7127                                            {
7128                                              "endPosition": "4163",
7129                                              "kind": "STRING_LITERAL",
7130                                              "value": "",
7131                                              "startPosition": "4163"
7132                                            }
7133                                          ],
7134                                          "startPosition": "4153"
7135                                        }
7136                                      ],
7137                                      "startPosition": "4088"
7138                                    },
7139                                    "endPosition": "4166",
7140                                    "kind": "EXPRESSION_STATEMENT",
7141                                    "startPosition": "4088"
7142                                  },
7143                                  {
7144                                    "expression": {
7145                                      "endPosition": "4198",
7146                                      "kind": "FUNCTION_INVOCATION",
7147                                      "functionSelect": {
7148                                        "endPosition": "4193",
7149                                        "kind": "IDENTIFIER",
7150                                        "name": "print",
7151                                        "startPosition": "4188"
7152                                      },
7153                                      "arguments": [
7154                                        {
7155                                          "endPosition": "4196",
7156                                          "kind": "STRING_LITERAL",
7157                                          "value": ",",
7158                                          "startPosition": "4195"
7159                                        }
7160                                      ],
7161                                      "startPosition": "4188"
7162                                    },
7163                                    "endPosition": "4198",
7164                                    "kind": "EXPRESSION_STATEMENT",
7165                                    "startPosition": "4188"
7166                                  }
7167                                ],
7168                                "startPosition": "4066"
7169                              },
7170                              "strict": "false",
7171                              "startPosition": "4066",
7172                              "parameters": [
7173                                {
7174                                  "endPosition": "4064",
7175                                  "kind": "IDENTIFIER",
7176                                  "name": "diagnostic",
7177                                  "startPosition": "4054"
7178                                }
7179                              ]
7180                            }
7181                          ],
7182                          "startPosition": "3982"
7183                        }
7184                      },
7185                      {
7186                        "condition": {
7187                          "leftOperand": {
7188                            "endPosition": "4241",
7189                            "kind": "IDENTIFIER",
7190                            "name": "tree",
7191                            "startPosition": "4237"
7192                          },
7193                          "endPosition": "4249",
7194                          "kind": "NOT_EQUAL_TO",
7195                          "rightOperand": {
7196                            "endPosition": "4249",
7197                            "kind": "NULL_LITERAL",
7198                            "startPosition": "4245"
7199                          },
7200                          "startPosition": "4237"
7201                        },
7202                        "endPosition": "4348",
7203                        "kind": "IF",
7204                        "startPosition": "4233",
7205                        "thenStatement": {
7206                          "endPosition": "4348",
7207                          "kind": "BLOCK",
7208                          "statements": [
7209                            {
7210                              "expression": {
7211                                "endPosition": "4305",
7212                                "kind": "FUNCTION_INVOCATION",
7213                                "functionSelect": {
7214                                  "endPosition": "4274",
7215                                  "kind": "IDENTIFIER",
7216                                  "name": "print",
7217                                  "startPosition": "4269"
7218                                },
7219                                "arguments": [
7220                                  {
7221                                    "endPosition": "4304",
7222                                    "kind": "FUNCTION_INVOCATION",
7223                                    "functionSelect": {
7224                                      "identifier": "stringify",
7225                                      "expression": {
7226                                        "endPosition": "4279",
7227                                        "kind": "IDENTIFIER",
7228                                        "name": "JSON",
7229                                        "startPosition": "4275"
7230                                      },
7231                                      "endPosition": "4289",
7232                                      "kind": "MEMBER_SELECT",
7233                                      "startPosition": "4275"
7234                                    },
7235                                    "arguments": [
7236                                      {
7237                                        "endPosition": "4294",
7238                                        "kind": "IDENTIFIER",
7239                                        "name": "tree",
7240                                        "startPosition": "4290"
7241                                      },
7242                                      {
7243                                        "endPosition": "4300",
7244                                        "kind": "NULL_LITERAL",
7245                                        "startPosition": "4296"
7246                                      },
7247                                      {
7248                                        "endPosition": "4303",
7249                                        "kind": "NUMBER_LITERAL",
7250                                        "value": "2",
7251                                        "startPosition": "4302"
7252                                      }
7253                                    ],
7254                                    "startPosition": "4275"
7255                                  }
7256                                ],
7257                                "startPosition": "4269"
7258                              },
7259                              "endPosition": "4305",
7260                              "kind": "EXPRESSION_STATEMENT",
7261                              "startPosition": "4269"
7262                            },
7263                            {
7264                              "expression": {
7265                                "endPosition": "4333",
7266                                "kind": "FUNCTION_INVOCATION",
7267                                "functionSelect": {
7268                                  "endPosition": "4328",
7269                                  "kind": "IDENTIFIER",
7270                                  "name": "print",
7271                                  "startPosition": "4323"
7272                                },
7273                                "arguments": [
7274                                  {
7275                                    "endPosition": "4331",
7276                                    "kind": "STRING_LITERAL",
7277                                    "value": ",",
7278                                    "startPosition": "4330"
7279                                  }
7280                                ],
7281                                "startPosition": "4323"
7282                              },
7283                              "endPosition": "4333",
7284                              "kind": "EXPRESSION_STATEMENT",
7285                              "startPosition": "4323"
7286                            }
7287                          ],
7288                          "startPosition": "4251"
7289                        }
7290                      }
7291                    ],
7292                    "startPosition": "3876"
7293                  }
7294                }
7295              ],
7296              "startPosition": "3835"
7297            },
7298            "startPosition": "3806"
7299          }
7300        ],
7301        "startPosition": "3668"
7302      },
7303      "strict": "false",
7304      "startPosition": "3638",
7305      "parameters": [
7306        {
7307          "endPosition": "3666",
7308          "kind": "IDENTIFIER",
7309          "name": "subdir",
7310          "startPosition": "3660"
7311        }
7312      ]
7313    },
7314    {
7315      "endPosition": "4710",
7316      "kind": "FUNCTION",
7317      "name": {
7318        "endPosition": "4421",
7319        "kind": "IDENTIFIER",
7320        "name": "main",
7321        "startPosition": "4417"
7322      },
7323      "body": {
7324        "endPosition": "4708",
7325        "kind": "BLOCK",
7326        "statements": [
7327          {
7328            "expression": {
7329              "endPosition": "4440",
7330              "kind": "FUNCTION_INVOCATION",
7331              "functionSelect": {
7332                "endPosition": "4435",
7333                "kind": "IDENTIFIER",
7334                "name": "print",
7335                "startPosition": "4430"
7336              },
7337              "arguments": [
7338                {
7339                  "endPosition": "4438",
7340                  "kind": "STRING_LITERAL",
7341                  "value": "[",
7342                  "startPosition": "4437"
7343                }
7344              ],
7345              "startPosition": "4430"
7346            },
7347            "endPosition": "4440",
7348            "kind": "EXPRESSION_STATEMENT",
7349            "startPosition": "4430"
7350          },
7351          {
7352            "expression": {
7353              "endPosition": "4474",
7354              "kind": "FUNCTION_INVOCATION",
7355              "functionSelect": {
7356                "endPosition": "4459",
7357                "kind": "IDENTIFIER",
7358                "name": "processFiles",
7359                "startPosition": "4447"
7360              },
7361              "arguments": [
7362                {
7363                  "endPosition": "4472",
7364                  "kind": "STRING_LITERAL",
7365                  "value": "parsertests",
7366                  "startPosition": "4461"
7367                }
7368              ],
7369              "startPosition": "4447"
7370            },
7371            "endPosition": "4474",
7372            "kind": "EXPRESSION_STATEMENT",
7373            "startPosition": "4447"
7374          },
7375          {
7376            "expression": {
7377              "endPosition": "4515",
7378              "kind": "FUNCTION_INVOCATION",
7379              "functionSelect": {
7380                "endPosition": "4492",
7381                "kind": "IDENTIFIER",
7382                "name": "processFiles",
7383                "startPosition": "4480"
7384              },
7385              "arguments": [
7386                {
7387                  "endPosition": "4513",
7388                  "kind": "STRING_LITERAL",
7389                  "value": "parsernegativetests",
7390                  "startPosition": "4494"
7391                }
7392              ],
7393              "startPosition": "4480"
7394            },
7395            "endPosition": "4515",
7396            "kind": "EXPRESSION_STATEMENT",
7397            "startPosition": "4480"
7398          },
7399          {
7400            "endPosition": "4584",
7401            "kind": "VARIABLE",
7402            "binding": {
7403              "endPosition": "4562",
7404              "kind": "IDENTIFIER",
7405              "name": "script",
7406              "startPosition": "4556"
7407            },
7408            "startPosition": "4552",
7409            "initializer": {
7410              "endPosition": "4584",
7411              "kind": "FUNCTION_INVOCATION",
7412              "functionSelect": {
7413                "endPosition": "4574",
7414                "kind": "IDENTIFIER",
7415                "name": "readFully",
7416                "startPosition": "4565"
7417              },
7418              "arguments": [
7419                {
7420                  "endPosition": "4583",
7421                  "kind": "IDENTIFIER",
7422                  "name": "__FILE__",
7423                  "startPosition": "4575"
7424                }
7425              ],
7426              "startPosition": "4565"
7427            }
7428          },
7429          {
7430            "endPosition": "4649",
7431            "kind": "VARIABLE",
7432            "binding": {
7433              "endPosition": "4598",
7434              "kind": "IDENTIFIER",
7435              "name": "tree",
7436              "startPosition": "4594"
7437            },
7438            "startPosition": "4590",
7439            "initializer": {
7440              "endPosition": "4649",
7441              "kind": "FUNCTION_INVOCATION",
7442              "functionSelect": {
7443                "identifier": "parse",
7444                "expression": {
7445                  "constructorExpression": {
7446                    "endPosition": "4613",
7447                    "kind": "FUNCTION_INVOCATION",
7448                    "functionSelect": {
7449                      "endPosition": "4611",
7450                      "kind": "IDENTIFIER",
7451                      "name": "Parser",
7452                      "startPosition": "4605"
7453                    },
7454                    "arguments": [],
7455                    "startPosition": "4605"
7456                  },
7457                  "endPosition": "4613",
7458                  "kind": "NEW",
7459                  "startPosition": "4601"
7460                },
7461                "endPosition": "4619",
7462                "kind": "MEMBER_SELECT",
7463                "startPosition": "4601"
7464              },
7465              "arguments": [
7466                {
7467                  "endPosition": "4633",
7468                  "kind": "STRING_LITERAL",
7469                  "value": "parserapi.js",
7470                  "startPosition": "4621"
7471                },
7472                {
7473                  "endPosition": "4642",
7474                  "kind": "IDENTIFIER",
7475                  "name": "script",
7476                  "startPosition": "4636"
7477                },
7478                {
7479                  "endPosition": "4648",
7480                  "kind": "NULL_LITERAL",
7481                  "startPosition": "4644"
7482                }
7483              ],
7484              "startPosition": "4601"
7485            }
7486          },
7487          {
7488            "expression": {
7489              "endPosition": "4691",
7490              "kind": "FUNCTION_INVOCATION",
7491              "functionSelect": {
7492                "endPosition": "4660",
7493                "kind": "IDENTIFIER",
7494                "name": "print",
7495                "startPosition": "4655"
7496              },
7497              "arguments": [
7498                {
7499                  "endPosition": "4690",
7500                  "kind": "FUNCTION_INVOCATION",
7501                  "functionSelect": {
7502                    "identifier": "stringify",
7503                    "expression": {
7504                      "endPosition": "4665",
7505                      "kind": "IDENTIFIER",
7506                      "name": "JSON",
7507                      "startPosition": "4661"
7508                    },
7509                    "endPosition": "4675",
7510                    "kind": "MEMBER_SELECT",
7511                    "startPosition": "4661"
7512                  },
7513                  "arguments": [
7514                    {
7515                      "endPosition": "4680",
7516                      "kind": "IDENTIFIER",
7517                      "name": "tree",
7518                      "startPosition": "4676"
7519                    },
7520                    {
7521                      "endPosition": "4686",
7522                      "kind": "NULL_LITERAL",
7523                      "startPosition": "4682"
7524                    },
7525                    {
7526                      "endPosition": "4689",
7527                      "kind": "NUMBER_LITERAL",
7528                      "value": "2",
7529                      "startPosition": "4688"
7530                    }
7531                  ],
7532                  "startPosition": "4661"
7533                }
7534              ],
7535              "startPosition": "4655"
7536            },
7537            "endPosition": "4691",
7538            "kind": "EXPRESSION_STATEMENT",
7539            "startPosition": "4655"
7540          },
7541          {
7542            "expression": {
7543              "endPosition": "4707",
7544              "kind": "FUNCTION_INVOCATION",
7545              "functionSelect": {
7546                "endPosition": "4702",
7547                "kind": "IDENTIFIER",
7548                "name": "print",
7549                "startPosition": "4697"
7550              },
7551              "arguments": [
7552                {
7553                  "endPosition": "4705",
7554                  "kind": "STRING_LITERAL",
7555                  "value": "]",
7556                  "startPosition": "4704"
7557                }
7558              ],
7559              "startPosition": "4697"
7560            },
7561            "endPosition": "4707",
7562            "kind": "EXPRESSION_STATEMENT",
7563            "startPosition": "4697"
7564          }
7565        ],
7566        "startPosition": "4424"
7567      },
7568      "strict": "false",
7569      "startPosition": "4408",
7570      "parameters": []
7571    },
7572    {
7573      "expression": {
7574        "endPosition": "4718",
7575        "kind": "FUNCTION_INVOCATION",
7576        "functionSelect": {
7577          "endPosition": "4716",
7578          "kind": "IDENTIFIER",
7579          "name": "main",
7580          "startPosition": "4712"
7581        },
7582        "arguments": [],
7583        "startPosition": "4712"
7584      },
7585      "endPosition": "4718",
7586      "kind": "EXPRESSION_STATEMENT",
7587      "startPosition": "4712"
7588    }
7589  ],
7590  "sourceName": "parserapi.js",
7591  "strict": "false",
7592  "startPosition": "1136"
7593}
7594]
7595