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