parserapi.js.EXPECTED revision 1593:8faab9cd4b95
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": "1242",
4868      "kind": "FUNCTION",
4869      "name": "Parser",
4870      "body": {
4871        "endPosition": "1220",
4872        "kind": "BLOCK",
4873        "statements": [
4874          {
4875            "expression": {
4876              "expression": {
4877                "endPosition": "1219",
4878                "kind": "FUNCTION_INVOCATION",
4879                "functionSelect": {
4880                  "identifier": "create",
4881                  "expression": {
4882                    "endPosition": "1210",
4883                    "kind": "IDENTIFIER",
4884                    "name": "Parser",
4885                    "startPosition": "1204"
4886                  },
4887                  "endPosition": "1217",
4888                  "kind": "MEMBER_SELECT",
4889                  "startPosition": "1204"
4890                },
4891                "arguments": [],
4892                "startPosition": "1204"
4893              },
4894              "endPosition": "1219",
4895              "kind": "ASSIGNMENT",
4896              "variable": {
4897                "identifier": "_parser",
4898                "expression": {
4899                  "endPosition": "1193",
4900                  "kind": "IDENTIFIER",
4901                  "name": "this",
4902                  "startPosition": "1189"
4903                },
4904                "endPosition": "1201",
4905                "kind": "MEMBER_SELECT",
4906                "startPosition": "1189"
4907              },
4908              "startPosition": "1189"
4909            },
4910            "endPosition": "1219",
4911            "kind": "EXPRESSION_STATEMENT",
4912            "startPosition": "1189"
4913          }
4914        ],
4915        "startPosition": "1154"
4916      },
4917      "strict": "false",
4918      "startPosition": "1136",
4919      "parameters": []
4920    },
4921    {
4922      "expression": {
4923        "expression": {
4924          "endPosition": "1307",
4925          "kind": "FUNCTION_INVOCATION",
4926          "functionSelect": {
4927            "identifier": "type",
4928            "expression": {
4929              "endPosition": "1267",
4930              "kind": "IDENTIFIER",
4931              "name": "Java",
4932              "startPosition": "1263"
4933            },
4934            "endPosition": "1272",
4935            "kind": "MEMBER_SELECT",
4936            "startPosition": "1263"
4937          },
4938          "arguments": [
4939            {
4940              "endPosition": "1305",
4941              "kind": "STRING_LITERAL",
4942              "value": "jdk.nashorn.api.tree.Diagnostic",
4943              "startPosition": "1274"
4944            }
4945          ],
4946          "startPosition": "1263"
4947        },
4948        "endPosition": "1307",
4949        "kind": "ASSIGNMENT",
4950        "variable": {
4951          "identifier": "Diagnostic",
4952          "expression": {
4953            "endPosition": "1249",
4954            "kind": "IDENTIFIER",
4955            "name": "Parser",
4956            "startPosition": "1243"
4957          },
4958          "endPosition": "1260",
4959          "kind": "MEMBER_SELECT",
4960          "startPosition": "1243"
4961        },
4962        "startPosition": "1243"
4963      },
4964      "endPosition": "1307",
4965      "kind": "EXPRESSION_STATEMENT",
4966      "startPosition": "1243"
4967    },
4968    {
4969      "expression": {
4970        "expression": {
4971          "endPosition": "1392",
4972          "kind": "FUNCTION_INVOCATION",
4973          "functionSelect": {
4974            "identifier": "type",
4975            "expression": {
4976              "endPosition": "1340",
4977              "kind": "IDENTIFIER",
4978              "name": "Java",
4979              "startPosition": "1336"
4980            },
4981            "endPosition": "1345",
4982            "kind": "MEMBER_SELECT",
4983            "startPosition": "1336"
4984          },
4985          "arguments": [
4986            {
4987              "endPosition": "1390",
4988              "kind": "STRING_LITERAL",
4989              "value": "jdk.nashorn.api.tree.SimpleTreeVisitorES5_1",
4990              "startPosition": "1347"
4991            }
4992          ],
4993          "startPosition": "1336"
4994        },
4995        "endPosition": "1392",
4996        "kind": "ASSIGNMENT",
4997        "variable": {
4998          "identifier": "SimpleTreeVisitor",
4999          "expression": {
5000            "endPosition": "1315",
5001            "kind": "IDENTIFIER",
5002            "name": "Parser",
5003            "startPosition": "1309"
5004          },
5005          "endPosition": "1333",
5006          "kind": "MEMBER_SELECT",
5007          "startPosition": "1309"
5008        },
5009        "startPosition": "1309"
5010      },
5011      "endPosition": "1392",
5012      "kind": "EXPRESSION_STATEMENT",
5013      "startPosition": "1309"
5014    },
5015    {
5016      "expression": {
5017        "expression": {
5018          "endPosition": "1446",
5019          "kind": "FUNCTION_INVOCATION",
5020          "functionSelect": {
5021            "identifier": "type",
5022            "expression": {
5023              "endPosition": "1412",
5024              "kind": "IDENTIFIER",
5025              "name": "Java",
5026              "startPosition": "1408"
5027            },
5028            "endPosition": "1417",
5029            "kind": "MEMBER_SELECT",
5030            "startPosition": "1408"
5031          },
5032          "arguments": [
5033            {
5034              "endPosition": "1444",
5035              "kind": "STRING_LITERAL",
5036              "value": "jdk.nashorn.api.tree.Tree",
5037              "startPosition": "1419"
5038            }
5039          ],
5040          "startPosition": "1408"
5041        },
5042        "endPosition": "1446",
5043        "kind": "ASSIGNMENT",
5044        "variable": {
5045          "identifier": "Tree",
5046          "expression": {
5047            "endPosition": "1400",
5048            "kind": "IDENTIFIER",
5049            "name": "Parser",
5050            "startPosition": "1394"
5051          },
5052          "endPosition": "1405",
5053          "kind": "MEMBER_SELECT",
5054          "startPosition": "1394"
5055        },
5056        "startPosition": "1394"
5057      },
5058      "endPosition": "1446",
5059      "kind": "EXPRESSION_STATEMENT",
5060      "startPosition": "1394"
5061    },
5062    {
5063      "expression": {
5064        "expression": {
5065          "endPosition": "1489",
5066          "kind": "FUNCTION_INVOCATION",
5067          "functionSelect": {
5068            "identifier": "type",
5069            "expression": {
5070              "endPosition": "1466",
5071              "kind": "IDENTIFIER",
5072              "name": "Java",
5073              "startPosition": "1462"
5074            },
5075            "endPosition": "1471",
5076            "kind": "MEMBER_SELECT",
5077            "startPosition": "1462"
5078          },
5079          "arguments": [
5080            {
5081              "endPosition": "1487",
5082              "kind": "STRING_LITERAL",
5083              "value": "java.util.List",
5084              "startPosition": "1473"
5085            }
5086          ],
5087          "startPosition": "1462"
5088        },
5089        "endPosition": "1489",
5090        "kind": "ASSIGNMENT",
5091        "variable": {
5092          "identifier": "List",
5093          "expression": {
5094            "endPosition": "1454",
5095            "kind": "IDENTIFIER",
5096            "name": "Parser",
5097            "startPosition": "1448"
5098          },
5099          "endPosition": "1459",
5100          "kind": "MEMBER_SELECT",
5101          "startPosition": "1448"
5102        },
5103        "startPosition": "1448"
5104      },
5105      "endPosition": "1489",
5106      "kind": "EXPRESSION_STATEMENT",
5107      "startPosition": "1448"
5108    },
5109    {
5110      "expression": {
5111        "expression": {
5112          "endPosition": "1532",
5113          "kind": "FUNCTION_INVOCATION",
5114          "functionSelect": {
5115            "identifier": "type",
5116            "expression": {
5117              "endPosition": "1509",
5118              "kind": "IDENTIFIER",
5119              "name": "Java",
5120              "startPosition": "1505"
5121            },
5122            "endPosition": "1514",
5123            "kind": "MEMBER_SELECT",
5124            "startPosition": "1505"
5125          },
5126          "arguments": [
5127            {
5128              "endPosition": "1530",
5129              "kind": "STRING_LITERAL",
5130              "value": "java.lang.Enum",
5131              "startPosition": "1516"
5132            }
5133          ],
5134          "startPosition": "1505"
5135        },
5136        "endPosition": "1532",
5137        "kind": "ASSIGNMENT",
5138        "variable": {
5139          "identifier": "Enum",
5140          "expression": {
5141            "endPosition": "1497",
5142            "kind": "IDENTIFIER",
5143            "name": "Parser",
5144            "startPosition": "1491"
5145          },
5146          "endPosition": "1502",
5147          "kind": "MEMBER_SELECT",
5148          "startPosition": "1491"
5149        },
5150        "startPosition": "1491"
5151      },
5152      "endPosition": "1532",
5153      "kind": "EXPRESSION_STATEMENT",
5154      "startPosition": "1491"
5155    },
5156    {
5157      "expression": {
5158        "expression": {
5159          "endPosition": "1659",
5160          "kind": "FUNCTION_EXPRESSION",
5161          "body": {
5162            "endPosition": "1805",
5163            "kind": "BLOCK",
5164            "statements": [
5165              {
5166                "endPosition": "1718",
5167                "kind": "VARIABLE",
5168                "name": "tree",
5169                "startPosition": "1669",
5170                "initializer": {
5171                  "endPosition": "1718",
5172                  "kind": "FUNCTION_INVOCATION",
5173                  "functionSelect": {
5174                    "identifier": "parse",
5175                    "expression": {
5176                      "identifier": "_parser",
5177                      "expression": {
5178                        "endPosition": "1680",
5179                        "kind": "IDENTIFIER",
5180                        "name": "this",
5181                        "startPosition": "1676"
5182                      },
5183                      "endPosition": "1688",
5184                      "kind": "MEMBER_SELECT",
5185                      "startPosition": "1676"
5186                    },
5187                    "endPosition": "1694",
5188                    "kind": "MEMBER_SELECT",
5189                    "startPosition": "1676"
5190                  },
5191                  "arguments": [
5192                    {
5193                      "endPosition": "1699",
5194                      "kind": "IDENTIFIER",
5195                      "name": "name",
5196                      "startPosition": "1695"
5197                    },
5198                    {
5199                      "endPosition": "1707",
5200                      "kind": "IDENTIFIER",
5201                      "name": "script",
5202                      "startPosition": "1701"
5203                    },
5204                    {
5205                      "endPosition": "1717",
5206                      "kind": "IDENTIFIER",
5207                      "name": "listener",
5208                      "startPosition": "1709"
5209                    }
5210                  ],
5211                  "startPosition": "1676"
5212                }
5213              },
5214              {
5215                "expression": {
5216                  "endPosition": "1773",
5217                  "kind": "FUNCTION_INVOCATION",
5218                  "functionSelect": {
5219                    "identifier": "accept",
5220                    "expression": {
5221                      "endPosition": "1728",
5222                      "kind": "IDENTIFIER",
5223                      "name": "tree",
5224                      "startPosition": "1724"
5225                    },
5226                    "endPosition": "1735",
5227                    "kind": "MEMBER_SELECT",
5228                    "startPosition": "1724"
5229                  },
5230                  "arguments": [
5231                    {
5232                      "constructorExpression": {
5233                        "endPosition": "1766",
5234                        "kind": "FUNCTION_INVOCATION",
5235                        "functionSelect": {
5236                          "identifier": "SimpleTreeVisitor",
5237                          "expression": {
5238                            "endPosition": "1746",
5239                            "kind": "IDENTIFIER",
5240                            "name": "Parser",
5241                            "startPosition": "1740"
5242                          },
5243                          "endPosition": "1764",
5244                          "kind": "MEMBER_SELECT",
5245                          "startPosition": "1740"
5246                        },
5247                        "arguments": [],
5248                        "startPosition": "1746"
5249                      },
5250                      "endPosition": "1766",
5251                      "kind": "NEW",
5252                      "startPosition": "1736"
5253                    },
5254                    {
5255                      "endPosition": "1772",
5256                      "kind": "NULL_LITERAL",
5257                      "startPosition": "1768"
5258                    }
5259                  ],
5260                  "startPosition": "1724"
5261                },
5262                "endPosition": "1773",
5263                "kind": "EXPRESSION_STATEMENT",
5264                "startPosition": "1724"
5265              },
5266              {
5267                "expression": {
5268                  "endPosition": "1804",
5269                  "kind": "FUNCTION_INVOCATION",
5270                  "functionSelect": {
5271                    "identifier": "convert",
5272                    "expression": {
5273                      "endPosition": "1790",
5274                      "kind": "IDENTIFIER",
5275                      "name": "this",
5276                      "startPosition": "1786"
5277                    },
5278                    "endPosition": "1798",
5279                    "kind": "MEMBER_SELECT",
5280                    "startPosition": "1786"
5281                  },
5282                  "arguments": [
5283                    {
5284                      "endPosition": "1803",
5285                      "kind": "IDENTIFIER",
5286                      "name": "tree",
5287                      "startPosition": "1799"
5288                    }
5289                  ],
5290                  "startPosition": "1786"
5291                },
5292                "endPosition": "1805",
5293                "kind": "RETURN",
5294                "startPosition": "1779"
5295              }
5296            ],
5297            "startPosition": "1659"
5298          },
5299          "strict": "false",
5300          "startPosition": "1659",
5301          "parameters": [
5302            {
5303              "endPosition": "1639",
5304              "kind": "IDENTIFIER",
5305              "name": "name",
5306              "startPosition": "1635"
5307            },
5308            {
5309              "endPosition": "1647",
5310              "kind": "IDENTIFIER",
5311              "name": "script",
5312              "startPosition": "1641"
5313            },
5314            {
5315              "endPosition": "1657",
5316              "kind": "IDENTIFIER",
5317              "name": "listener",
5318              "startPosition": "1649"
5319            }
5320          ]
5321        },
5322        "endPosition": "1659",
5323        "kind": "ASSIGNMENT",
5324        "variable": {
5325          "identifier": "parse",
5326          "expression": {
5327            "identifier": "prototype",
5328            "expression": {
5329              "endPosition": "1607",
5330              "kind": "IDENTIFIER",
5331              "name": "Parser",
5332              "startPosition": "1601"
5333            },
5334            "endPosition": "1617",
5335            "kind": "MEMBER_SELECT",
5336            "startPosition": "1601"
5337          },
5338          "endPosition": "1623",
5339          "kind": "MEMBER_SELECT",
5340          "startPosition": "1601"
5341        },
5342        "startPosition": "1601"
5343      },
5344      "endPosition": "1807",
5345      "kind": "EXPRESSION_STATEMENT",
5346      "startPosition": "1601"
5347    },
5348    {
5349      "expression": {
5350        "expression": {
5351          "endPosition": "1836",
5352          "kind": "FUNCTION_EXPRESSION",
5353          "body": {
5354            "endPosition": "1899",
5355            "kind": "BLOCK",
5356            "statements": [
5357              {
5358                "expression": {
5359                  "endPosition": "1898",
5360                  "kind": "FUNCTION_INVOCATION",
5361                  "functionSelect": {
5362                    "identifier": "create",
5363                    "expression": {
5364                      "endPosition": "1889",
5365                      "kind": "FUNCTION_INVOCATION",
5366                      "functionSelect": {
5367                        "identifier": "type",
5368                        "expression": {
5369                          "endPosition": "1853",
5370                          "kind": "IDENTIFIER",
5371                          "name": "Java",
5372                          "startPosition": "1849"
5373                        },
5374                        "endPosition": "1858",
5375                        "kind": "MEMBER_SELECT",
5376                        "startPosition": "1849"
5377                      },
5378                      "arguments": [
5379                        {
5380                          "endPosition": "1887",
5381                          "kind": "STRING_LITERAL",
5382                          "value": "jdk.nashorn.api.tree.Parser",
5383                          "startPosition": "1860"
5384                        }
5385                      ],
5386                      "startPosition": "1849"
5387                    },
5388                    "endPosition": "1896",
5389                    "kind": "MEMBER_SELECT",
5390                    "startPosition": "1849"
5391                  },
5392                  "arguments": [],
5393                  "startPosition": "1896"
5394                },
5395                "endPosition": "1899",
5396                "kind": "RETURN",
5397                "startPosition": "1842"
5398              }
5399            ],
5400            "startPosition": "1836"
5401          },
5402          "strict": "false",
5403          "startPosition": "1836",
5404          "parameters": []
5405        },
5406        "endPosition": "1836",
5407        "kind": "ASSIGNMENT",
5408        "variable": {
5409          "identifier": "create",
5410          "expression": {
5411            "endPosition": "1815",
5412            "kind": "IDENTIFIER",
5413            "name": "Parser",
5414            "startPosition": "1809"
5415          },
5416          "endPosition": "1822",
5417          "kind": "MEMBER_SELECT",
5418          "startPosition": "1809"
5419        },
5420        "startPosition": "1809"
5421      },
5422      "endPosition": "1973",
5423      "kind": "EXPRESSION_STATEMENT",
5424      "startPosition": "1809"
5425    },
5426    {
5427      "expression": {
5428        "expression": {
5429          "endPosition": "2016",
5430          "kind": "FUNCTION_EXPRESSION",
5431          "body": {
5432            "endPosition": "2994",
5433            "kind": "BLOCK",
5434            "statements": [
5435              {
5436                "condition": {
5437                  "leftOperand": {
5438                    "leftOperand": {
5439                      "expression": {
5440                        "endPosition": "2031",
5441                        "kind": "IDENTIFIER",
5442                        "name": "tree",
5443                        "startPosition": "2027"
5444                      },
5445                      "endPosition": "2031",
5446                      "kind": "LOGICAL_COMPLEMENT",
5447                      "startPosition": "2026"
5448                    },
5449                    "endPosition": "2057",
5450                    "kind": "CONDITIONAL_OR",
5451                    "rightOperand": {
5452                      "leftOperand": {
5453                        "expression": {
5454                          "endPosition": "2046",
5455                          "kind": "IDENTIFIER",
5456                          "name": "tree",
5457                          "startPosition": "2042"
5458                        },
5459                        "endPosition": "2046",
5460                        "kind": "TYPEOF",
5461                        "startPosition": "2035"
5462                      },
5463                      "endPosition": "2057",
5464                      "kind": "NOT_EQUAL_TO",
5465                      "rightOperand": {
5466                        "endPosition": "2057",
5467                        "kind": "STRING_LITERAL",
5468                        "value": "object",
5469                        "startPosition": "2051"
5470                      },
5471                      "startPosition": "2035"
5472                    },
5473                    "startPosition": "2026"
5474                  },
5475                  "endPosition": "2092",
5476                  "kind": "CONDITIONAL_OR",
5477                  "rightOperand": {
5478                    "leftOperand": {
5479                      "endPosition": "2066",
5480                      "kind": "IDENTIFIER",
5481                      "name": "tree",
5482                      "startPosition": "2062"
5483                    },
5484                    "expression": {
5485                      "endPosition": "2066",
5486                      "kind": "IDENTIFIER",
5487                      "name": "tree",
5488                      "startPosition": "2062"
5489                    },
5490                    "endPosition": "2092",
5491                    "kind": "INSTANCE_OF",
5492                    "rightOperand": {
5493                      "identifier": "Long",
5494                      "expression": {
5495                        "identifier": "lang",
5496                        "expression": {
5497                          "endPosition": "2082",
5498                          "kind": "IDENTIFIER",
5499                          "name": "java",
5500                          "startPosition": "2078"
5501                        },
5502                        "endPosition": "2087",
5503                        "kind": "MEMBER_SELECT",
5504                        "startPosition": "2078"
5505                      },
5506                      "endPosition": "2092",
5507                      "kind": "MEMBER_SELECT",
5508                      "startPosition": "2078"
5509                    },
5510                    "type": {
5511                      "identifier": "Long",
5512                      "expression": {
5513                        "identifier": "lang",
5514                        "expression": {
5515                          "endPosition": "2082",
5516                          "kind": "IDENTIFIER",
5517                          "name": "java",
5518                          "startPosition": "2078"
5519                        },
5520                        "endPosition": "2087",
5521                        "kind": "MEMBER_SELECT",
5522                        "startPosition": "2078"
5523                      },
5524                      "endPosition": "2092",
5525                      "kind": "MEMBER_SELECT",
5526                      "startPosition": "2078"
5527                    },
5528                    "startPosition": "2062"
5529                  },
5530                  "startPosition": "2026"
5531                },
5532                "endPosition": "2122",
5533                "kind": "IF",
5534                "startPosition": "2022",
5535                "thenStatement": {
5536                  "endPosition": "2122",
5537                  "kind": "BLOCK",
5538                  "statements": [
5539                    {
5540                      "expression": {
5541                        "endPosition": "2115",
5542                        "kind": "IDENTIFIER",
5543                        "name": "tree",
5544                        "startPosition": "2111"
5545                      },
5546                      "endPosition": "2116",
5547                      "kind": "RETURN",
5548                      "startPosition": "2104"
5549                    }
5550                  ],
5551                  "startPosition": "2094"
5552                }
5553              },
5554              {
5555                "endPosition": "2169",
5556                "kind": "VARIABLE",
5557                "name": "obj",
5558                "startPosition": "2132",
5559                "initializer": {
5560                  "endPosition": "2169",
5561                  "kind": "FUNCTION_INVOCATION",
5562                  "functionSelect": {
5563                    "identifier": "bindProperties",
5564                    "expression": {
5565                      "endPosition": "2144",
5566                      "kind": "IDENTIFIER",
5567                      "name": "Object",
5568                      "startPosition": "2138"
5569                    },
5570                    "endPosition": "2159",
5571                    "kind": "MEMBER_SELECT",
5572                    "startPosition": "2138"
5573                  },
5574                  "arguments": [
5575                    {
5576                      "endPosition": "2162",
5577                      "kind": "OBJECT_LITERAL",
5578                      "startPosition": "2160",
5579                      "properties": []
5580                    },
5581                    {
5582                      "endPosition": "2168",
5583                      "kind": "IDENTIFIER",
5584                      "name": "tree",
5585                      "startPosition": "2164"
5586                    }
5587                  ],
5588                  "startPosition": "2138"
5589                }
5590              },
5591              {
5592                "endPosition": "2190",
5593                "kind": "VARIABLE",
5594                "name": "result",
5595                "startPosition": "2179",
5596                "initializer": {
5597                  "endPosition": "2190",
5598                  "kind": "OBJECT_LITERAL",
5599                  "startPosition": "2188",
5600                  "properties": []
5601                }
5602              },
5603              {
5604                "endPosition": "2206",
5605                "kind": "VARIABLE",
5606                "name": "i",
5607                "startPosition": "2205"
5608              },
5609              {
5610                "expression": {
5611                  "endPosition": "2213",
5612                  "kind": "IDENTIFIER",
5613                  "name": "obj",
5614                  "startPosition": "2210"
5615                },
5616                "endPosition": "2975",
5617                "kind": "FOR_IN_LOOP",
5618                "forEach": "false",
5619                "variable": {
5620                  "endPosition": "2206",
5621                  "kind": "IDENTIFIER",
5622                  "name": "i",
5623                  "startPosition": "2205"
5624                },
5625                "statement": {
5626                  "endPosition": "2975",
5627                  "kind": "BLOCK",
5628                  "statements": [
5629                    {
5630                      "endPosition": "2241",
5631                      "kind": "VARIABLE",
5632                      "name": "val",
5633                      "startPosition": "2229",
5634                      "initializer": {
5635                        "expression": {
5636                          "endPosition": "2238",
5637                          "kind": "IDENTIFIER",
5638                          "name": "obj",
5639                          "startPosition": "2235"
5640                        },
5641                        "endPosition": "2241",
5642                        "kind": "ARRAY_ACCESS",
5643                        "index": {
5644                          "endPosition": "2240",
5645                          "kind": "IDENTIFIER",
5646                          "name": "i",
5647                          "startPosition": "2239"
5648                        },
5649                        "startPosition": "2235"
5650                      }
5651                    },
5652                    {
5653                      "condition": {
5654                        "leftOperand": {
5655                          "endPosition": "2258",
5656                          "kind": "IDENTIFIER",
5657                          "name": "val",
5658                          "startPosition": "2255"
5659                        },
5660                        "expression": {
5661                          "endPosition": "2258",
5662                          "kind": "IDENTIFIER",
5663                          "name": "val",
5664                          "startPosition": "2255"
5665                        },
5666                        "endPosition": "2281",
5667                        "kind": "INSTANCE_OF",
5668                        "rightOperand": {
5669                          "identifier": "Tree",
5670                          "expression": {
5671                            "endPosition": "2276",
5672                            "kind": "IDENTIFIER",
5673                            "name": "Parser",
5674                            "startPosition": "2270"
5675                          },
5676                          "endPosition": "2281",
5677                          "kind": "MEMBER_SELECT",
5678                          "startPosition": "2270"
5679                        },
5680                        "type": {
5681                          "identifier": "Tree",
5682                          "expression": {
5683                            "endPosition": "2276",
5684                            "kind": "IDENTIFIER",
5685                            "name": "Parser",
5686                            "startPosition": "2270"
5687                          },
5688                          "endPosition": "2281",
5689                          "kind": "MEMBER_SELECT",
5690                          "startPosition": "2270"
5691                        },
5692                        "startPosition": "2255"
5693                      },
5694                      "elseStatement": {
5695                        "condition": {
5696                          "leftOperand": {
5697                            "endPosition": "2350",
5698                            "kind": "IDENTIFIER",
5699                            "name": "val",
5700                            "startPosition": "2347"
5701                          },
5702                          "expression": {
5703                            "endPosition": "2350",
5704                            "kind": "IDENTIFIER",
5705                            "name": "val",
5706                            "startPosition": "2347"
5707                          },
5708                          "endPosition": "2373",
5709                          "kind": "INSTANCE_OF",
5710                          "rightOperand": {
5711                            "identifier": "List",
5712                            "expression": {
5713                              "endPosition": "2368",
5714                              "kind": "IDENTIFIER",
5715                              "name": "Parser",
5716                              "startPosition": "2362"
5717                            },
5718                            "endPosition": "2373",
5719                            "kind": "MEMBER_SELECT",
5720                            "startPosition": "2362"
5721                          },
5722                          "type": {
5723                            "identifier": "List",
5724                            "expression": {
5725                              "endPosition": "2368",
5726                              "kind": "IDENTIFIER",
5727                              "name": "Parser",
5728                              "startPosition": "2362"
5729                            },
5730                            "endPosition": "2373",
5731                            "kind": "MEMBER_SELECT",
5732                            "startPosition": "2362"
5733                          },
5734                          "startPosition": "2347"
5735                        },
5736                        "elseStatement": {
5737                          "endPosition": "2969",
5738                          "kind": "BLOCK",
5739                          "statements": [
5740                            {
5741                              "cases": [
5742                                {
5743                                  "expression": {
5744                                    "endPosition": "2625",
5745                                    "kind": "STRING_LITERAL",
5746                                    "value": "number",
5747                                    "startPosition": "2619"
5748                                  },
5749                                  "endPosition": "2627",
5750                                  "kind": "CASE",
5751                                  "statements": [],
5752                                  "startPosition": "2613"
5753                                },
5754                                {
5755                                  "expression": {
5756                                    "endPosition": "2656",
5757                                    "kind": "STRING_LITERAL",
5758                                    "value": "string",
5759                                    "startPosition": "2650"
5760                                  },
5761                                  "endPosition": "2658",
5762                                  "kind": "CASE",
5763                                  "statements": [],
5764                                  "startPosition": "2644"
5765                                },
5766                                {
5767                                  "expression": {
5768                                    "endPosition": "2688",
5769                                    "kind": "STRING_LITERAL",
5770                                    "value": "boolean",
5771                                    "startPosition": "2681"
5772                                  },
5773                                  "endPosition": "2762",
5774                                  "kind": "CASE",
5775                                  "statements": [
5776                                    {
5777                                      "expression": {
5778                                        "expression": {
5779                                          "endPosition": "2734",
5780                                          "kind": "FUNCTION_INVOCATION",
5781                                          "functionSelect": {
5782                                            "endPosition": "2729",
5783                                            "kind": "IDENTIFIER",
5784                                            "name": "String",
5785                                            "startPosition": "2723"
5786                                          },
5787                                          "arguments": [
5788                                            {
5789                                              "endPosition": "2733",
5790                                              "kind": "IDENTIFIER",
5791                                              "name": "val",
5792                                              "startPosition": "2730"
5793                                            }
5794                                          ],
5795                                          "startPosition": "2723"
5796                                        },
5797                                        "endPosition": "2734",
5798                                        "kind": "ASSIGNMENT",
5799                                        "variable": {
5800                                          "expression": {
5801                                            "endPosition": "2717",
5802                                            "kind": "IDENTIFIER",
5803                                            "name": "result",
5804                                            "startPosition": "2711"
5805                                          },
5806                                          "endPosition": "2720",
5807                                          "kind": "ARRAY_ACCESS",
5808                                          "index": {
5809                                            "endPosition": "2719",
5810                                            "kind": "IDENTIFIER",
5811                                            "name": "i",
5812                                            "startPosition": "2718"
5813                                          },
5814                                          "startPosition": "2711"
5815                                        },
5816                                        "startPosition": "2711"
5817                                      },
5818                                      "endPosition": "2734",
5819                                      "kind": "EXPRESSION_STATEMENT",
5820                                      "startPosition": "2711"
5821                                    },
5822                                    {
5823                                      "endPosition": "2762",
5824                                      "kind": "BREAK",
5825                                      "startPosition": "2756"
5826                                    }
5827                                  ],
5828                                  "startPosition": "2675"
5829                                },
5830                                {
5831                                  "endPosition": "2945",
5832                                  "kind": "CASE",
5833                                  "statements": [
5834                                    {
5835                                      "condition": {
5836                                        "leftOperand": {
5837                                          "leftOperand": {
5838                                            "endPosition": "2815",
5839                                            "kind": "IDENTIFIER",
5840                                            "name": "val",
5841                                            "startPosition": "2812"
5842                                          },
5843                                          "expression": {
5844                                            "endPosition": "2815",
5845                                            "kind": "IDENTIFIER",
5846                                            "name": "val",
5847                                            "startPosition": "2812"
5848                                          },
5849                                          "endPosition": "2841",
5850                                          "kind": "INSTANCE_OF",
5851                                          "rightOperand": {
5852                                            "identifier": "Long",
5853                                            "expression": {
5854                                              "identifier": "lang",
5855                                              "expression": {
5856                                                "endPosition": "2831",
5857                                                "kind": "IDENTIFIER",
5858                                                "name": "java",
5859                                                "startPosition": "2827"
5860                                              },
5861                                              "endPosition": "2836",
5862                                              "kind": "MEMBER_SELECT",
5863                                              "startPosition": "2827"
5864                                            },
5865                                            "endPosition": "2841",
5866                                            "kind": "MEMBER_SELECT",
5867                                            "startPosition": "2827"
5868                                          },
5869                                          "type": {
5870                                            "identifier": "Long",
5871                                            "expression": {
5872                                              "identifier": "lang",
5873                                              "expression": {
5874                                                "endPosition": "2831",
5875                                                "kind": "IDENTIFIER",
5876                                                "name": "java",
5877                                                "startPosition": "2827"
5878                                              },
5879                                              "endPosition": "2836",
5880                                              "kind": "MEMBER_SELECT",
5881                                              "startPosition": "2827"
5882                                            },
5883                                            "endPosition": "2841",
5884                                            "kind": "MEMBER_SELECT",
5885                                            "startPosition": "2827"
5886                                          },
5887                                          "startPosition": "2812"
5888                                        },
5889                                        "endPosition": "2871",
5890                                        "kind": "CONDITIONAL_OR",
5891                                        "rightOperand": {
5892                                          "leftOperand": {
5893                                            "endPosition": "2848",
5894                                            "kind": "IDENTIFIER",
5895                                            "name": "val",
5896                                            "startPosition": "2845"
5897                                          },
5898                                          "expression": {
5899                                            "endPosition": "2848",
5900                                            "kind": "IDENTIFIER",
5901                                            "name": "val",
5902                                            "startPosition": "2845"
5903                                          },
5904                                          "endPosition": "2871",
5905                                          "kind": "INSTANCE_OF",
5906                                          "rightOperand": {
5907                                            "identifier": "Enum",
5908                                            "expression": {
5909                                              "endPosition": "2866",
5910                                              "kind": "IDENTIFIER",
5911                                              "name": "Parser",
5912                                              "startPosition": "2860"
5913                                            },
5914                                            "endPosition": "2871",
5915                                            "kind": "MEMBER_SELECT",
5916                                            "startPosition": "2860"
5917                                          },
5918                                          "type": {
5919                                            "identifier": "Enum",
5920                                            "expression": {
5921                                              "endPosition": "2866",
5922                                              "kind": "IDENTIFIER",
5923                                              "name": "Parser",
5924                                              "startPosition": "2860"
5925                                            },
5926                                            "endPosition": "2871",
5927                                            "kind": "MEMBER_SELECT",
5928                                            "startPosition": "2860"
5929                                          },
5930                                          "startPosition": "2845"
5931                                        },
5932                                        "startPosition": "2812"
5933                                      },
5934                                      "endPosition": "2945",
5935                                      "kind": "IF",
5936                                      "startPosition": "2808",
5937                                      "thenStatement": {
5938                                        "endPosition": "2945",
5939                                        "kind": "BLOCK",
5940                                        "statements": [
5941                                          {
5942                                            "expression": {
5943                                              "expression": {
5944                                                "endPosition": "2922",
5945                                                "kind": "FUNCTION_INVOCATION",
5946                                                "functionSelect": {
5947                                                  "endPosition": "2917",
5948                                                  "kind": "IDENTIFIER",
5949                                                  "name": "String",
5950                                                  "startPosition": "2911"
5951                                                },
5952                                                "arguments": [
5953                                                  {
5954                                                    "endPosition": "2921",
5955                                                    "kind": "IDENTIFIER",
5956                                                    "name": "val",
5957                                                    "startPosition": "2918"
5958                                                  }
5959                                                ],
5960                                                "startPosition": "2911"
5961                                              },
5962                                              "endPosition": "2922",
5963                                              "kind": "ASSIGNMENT",
5964                                              "variable": {
5965                                                "expression": {
5966                                                  "endPosition": "2905",
5967                                                  "kind": "IDENTIFIER",
5968                                                  "name": "result",
5969                                                  "startPosition": "2899"
5970                                                },
5971                                                "endPosition": "2908",
5972                                                "kind": "ARRAY_ACCESS",
5973                                                "index": {
5974                                                  "endPosition": "2907",
5975                                                  "kind": "IDENTIFIER",
5976                                                  "name": "i",
5977                                                  "startPosition": "2906"
5978                                                },
5979                                                "startPosition": "2899"
5980                                              },
5981                                              "startPosition": "2899"
5982                                            },
5983                                            "endPosition": "2922",
5984                                            "kind": "EXPRESSION_STATEMENT",
5985                                            "startPosition": "2899"
5986                                          }
5987                                        ],
5988                                        "startPosition": "2873"
5989                                      }
5990                                    }
5991                                  ],
5992                                  "startPosition": "2779"
5993                                }
5994                              ],
5995                              "expression": {
5996                                "expression": {
5997                                  "endPosition": "2593",
5998                                  "kind": "IDENTIFIER",
5999                                  "name": "val",
6000                                  "startPosition": "2590"
6001                                },
6002                                "endPosition": "2593",
6003                                "kind": "TYPEOF",
6004                                "startPosition": "2583"
6005                              },
6006                              "endPosition": "2959",
6007                              "kind": "SWITCH",
6008                              "startPosition": "2575"
6009                            }
6010                          ],
6011                          "startPosition": "2561"
6012                        },
6013                        "endPosition": "2969",
6014                        "kind": "IF",
6015                        "startPosition": "2343",
6016                        "thenStatement": {
6017                          "endPosition": "2555",
6018                          "kind": "BLOCK",
6019                          "statements": [
6020                            {
6021                              "endPosition": "2420",
6022                              "kind": "VARIABLE",
6023                              "name": "arr",
6024                              "startPosition": "2393",
6025                              "initializer": {
6026                                "constructorExpression": {
6027                                  "endPosition": "2420",
6028                                  "kind": "FUNCTION_INVOCATION",
6029                                  "functionSelect": {
6030                                    "endPosition": "2408",
6031                                    "kind": "IDENTIFIER",
6032                                    "name": "Array",
6033                                    "startPosition": "2403"
6034                                  },
6035                                  "arguments": [
6036                                    {
6037                                      "endPosition": "2419",
6038                                      "kind": "FUNCTION_INVOCATION",
6039                                      "functionSelect": {
6040                                        "identifier": "size",
6041                                        "expression": {
6042                                          "endPosition": "2412",
6043                                          "kind": "IDENTIFIER",
6044                                          "name": "val",
6045                                          "startPosition": "2409"
6046                                        },
6047                                        "endPosition": "2417",
6048                                        "kind": "MEMBER_SELECT",
6049                                        "startPosition": "2409"
6050                                      },
6051                                      "arguments": [],
6052                                      "startPosition": "2409"
6053                                    }
6054                                  ],
6055                                  "startPosition": "2403"
6056                                },
6057                                "endPosition": "2420",
6058                                "kind": "NEW",
6059                                "startPosition": "2399"
6060                              }
6061                            },
6062                            {
6063                              "endPosition": "2444",
6064                              "kind": "VARIABLE",
6065                              "name": "j",
6066                              "startPosition": "2443"
6067                            },
6068                            {
6069                              "expression": {
6070                                "endPosition": "2451",
6071                                "kind": "IDENTIFIER",
6072                                "name": "val",
6073                                "startPosition": "2448"
6074                              },
6075                              "endPosition": "2515",
6076                              "kind": "FOR_IN_LOOP",
6077                              "forEach": "false",
6078                              "variable": {
6079                                "endPosition": "2444",
6080                                "kind": "IDENTIFIER",
6081                                "name": "j",
6082                                "startPosition": "2443"
6083                              },
6084                              "statement": {
6085                                "endPosition": "2515",
6086                                "kind": "BLOCK",
6087                                "statements": [
6088                                  {
6089                                    "expression": {
6090                                      "expression": {
6091                                        "endPosition": "2500",
6092                                        "kind": "FUNCTION_INVOCATION",
6093                                        "functionSelect": {
6094                                          "identifier": "convert",
6095                                          "expression": {
6096                                            "endPosition": "2484",
6097                                            "kind": "IDENTIFIER",
6098                                            "name": "this",
6099                                            "startPosition": "2480"
6100                                          },
6101                                          "endPosition": "2492",
6102                                          "kind": "MEMBER_SELECT",
6103                                          "startPosition": "2480"
6104                                        },
6105                                        "arguments": [
6106                                          {
6107                                            "expression": {
6108                                              "endPosition": "2496",
6109                                              "kind": "IDENTIFIER",
6110                                              "name": "val",
6111                                              "startPosition": "2493"
6112                                            },
6113                                            "endPosition": "2499",
6114                                            "kind": "ARRAY_ACCESS",
6115                                            "index": {
6116                                              "endPosition": "2498",
6117                                              "kind": "IDENTIFIER",
6118                                              "name": "j",
6119                                              "startPosition": "2497"
6120                                            },
6121                                            "startPosition": "2493"
6122                                          }
6123                                        ],
6124                                        "startPosition": "2480"
6125                                      },
6126                                      "endPosition": "2500",
6127                                      "kind": "ASSIGNMENT",
6128                                      "variable": {
6129                                        "expression": {
6130                                          "endPosition": "2474",
6131                                          "kind": "IDENTIFIER",
6132                                          "name": "arr",
6133                                          "startPosition": "2471"
6134                                        },
6135                                        "endPosition": "2477",
6136                                        "kind": "ARRAY_ACCESS",
6137                                        "index": {
6138                                          "endPosition": "2476",
6139                                          "kind": "IDENTIFIER",
6140                                          "name": "j",
6141                                          "startPosition": "2475"
6142                                        },
6143                                        "startPosition": "2471"
6144                                      },
6145                                      "startPosition": "2471"
6146                                    },
6147                                    "endPosition": "2500",
6148                                    "kind": "EXPRESSION_STATEMENT",
6149                                    "startPosition": "2471"
6150                                  }
6151                                ],
6152                                "startPosition": "2453"
6153                              },
6154                              "startPosition": "2434"
6155                            },
6156                            {
6157                              "expression": {
6158                                "expression": {
6159                                  "endPosition": "2544",
6160                                  "kind": "IDENTIFIER",
6161                                  "name": "arr",
6162                                  "startPosition": "2541"
6163                                },
6164                                "endPosition": "2544",
6165                                "kind": "ASSIGNMENT",
6166                                "variable": {
6167                                  "expression": {
6168                                    "endPosition": "2535",
6169                                    "kind": "IDENTIFIER",
6170                                    "name": "result",
6171                                    "startPosition": "2529"
6172                                  },
6173                                  "endPosition": "2538",
6174                                  "kind": "ARRAY_ACCESS",
6175                                  "index": {
6176                                    "endPosition": "2537",
6177                                    "kind": "IDENTIFIER",
6178                                    "name": "i",
6179                                    "startPosition": "2536"
6180                                  },
6181                                  "startPosition": "2529"
6182                                },
6183                                "startPosition": "2529"
6184                              },
6185                              "endPosition": "2544",
6186                              "kind": "EXPRESSION_STATEMENT",
6187                              "startPosition": "2529"
6188                            }
6189                          ],
6190                          "startPosition": "2375"
6191                        }
6192                      },
6193                      "endPosition": "2969",
6194                      "kind": "IF",
6195                      "startPosition": "2251",
6196                      "thenStatement": {
6197                        "endPosition": "2337",
6198                        "kind": "BLOCK",
6199                        "statements": [
6200                          {
6201                            "expression": {
6202                              "expression": {
6203                                "endPosition": "2326",
6204                                "kind": "FUNCTION_INVOCATION",
6205                                "functionSelect": {
6206                                  "identifier": "convert",
6207                                  "expression": {
6208                                    "endPosition": "2313",
6209                                    "kind": "IDENTIFIER",
6210                                    "name": "this",
6211                                    "startPosition": "2309"
6212                                  },
6213                                  "endPosition": "2321",
6214                                  "kind": "MEMBER_SELECT",
6215                                  "startPosition": "2309"
6216                                },
6217                                "arguments": [
6218                                  {
6219                                    "endPosition": "2325",
6220                                    "kind": "IDENTIFIER",
6221                                    "name": "val",
6222                                    "startPosition": "2322"
6223                                  }
6224                                ],
6225                                "startPosition": "2309"
6226                              },
6227                              "endPosition": "2326",
6228                              "kind": "ASSIGNMENT",
6229                              "variable": {
6230                                "expression": {
6231                                  "endPosition": "2303",
6232                                  "kind": "IDENTIFIER",
6233                                  "name": "result",
6234                                  "startPosition": "2297"
6235                                },
6236                                "endPosition": "2306",
6237                                "kind": "ARRAY_ACCESS",
6238                                "index": {
6239                                  "endPosition": "2305",
6240                                  "kind": "IDENTIFIER",
6241                                  "name": "i",
6242                                  "startPosition": "2304"
6243                                },
6244                                "startPosition": "2297"
6245                              },
6246                              "startPosition": "2297"
6247                            },
6248                            "endPosition": "2326",
6249                            "kind": "EXPRESSION_STATEMENT",
6250                            "startPosition": "2297"
6251                          }
6252                        ],
6253                        "startPosition": "2283"
6254                      }
6255                    }
6256                  ],
6257                  "startPosition": "2215"
6258                },
6259                "startPosition": "2196"
6260              },
6261              {
6262                "expression": {
6263                  "endPosition": "2993",
6264                  "kind": "IDENTIFIER",
6265                  "name": "result",
6266                  "startPosition": "2987"
6267                },
6268                "endPosition": "2994",
6269                "kind": "RETURN",
6270                "startPosition": "2980"
6271              }
6272            ],
6273            "startPosition": "2016"
6274          },
6275          "strict": "false",
6276          "startPosition": "2016",
6277          "parameters": [
6278            {
6279              "endPosition": "2014",
6280              "kind": "IDENTIFIER",
6281              "name": "tree",
6282              "startPosition": "2010"
6283            }
6284          ]
6285        },
6286        "endPosition": "2016",
6287        "kind": "ASSIGNMENT",
6288        "variable": {
6289          "identifier": "convert",
6290          "expression": {
6291            "identifier": "prototype",
6292            "expression": {
6293              "endPosition": "1980",
6294              "kind": "IDENTIFIER",
6295              "name": "Parser",
6296              "startPosition": "1974"
6297            },
6298            "endPosition": "1990",
6299            "kind": "MEMBER_SELECT",
6300            "startPosition": "1974"
6301          },
6302          "endPosition": "1998",
6303          "kind": "MEMBER_SELECT",
6304          "startPosition": "1974"
6305        },
6306        "startPosition": "1974"
6307      },
6308      "endPosition": "2996",
6309      "kind": "EXPRESSION_STATEMENT",
6310      "startPosition": "1974"
6311    },
6312    {
6313      "endPosition": "3767",
6314      "kind": "FUNCTION",
6315      "name": "processFiles",
6316      "body": {
6317        "endPosition": "3724",
6318        "kind": "BLOCK",
6319        "statements": [
6320          {
6321            "endPosition": "3070",
6322            "kind": "VARIABLE",
6323            "name": "File",
6324            "startPosition": "3038",
6325            "initializer": {
6326              "endPosition": "3070",
6327              "kind": "FUNCTION_INVOCATION",
6328              "functionSelect": {
6329                "identifier": "type",
6330                "expression": {
6331                  "endPosition": "3049",
6332                  "kind": "IDENTIFIER",
6333                  "name": "Java",
6334                  "startPosition": "3045"
6335                },
6336                "endPosition": "3054",
6337                "kind": "MEMBER_SELECT",
6338                "startPosition": "3045"
6339              },
6340              "arguments": [
6341                {
6342                  "endPosition": "3068",
6343                  "kind": "STRING_LITERAL",
6344                  "value": "java.io.File",
6345                  "startPosition": "3056"
6346                }
6347              ],
6348              "startPosition": "3045"
6349            }
6350          },
6351          {
6352            "endPosition": "3126",
6353            "kind": "VARIABLE",
6354            "name": "files",
6355            "startPosition": "3080",
6356            "initializer": {
6357              "endPosition": "3126",
6358              "kind": "FUNCTION_INVOCATION",
6359              "functionSelect": {
6360                "identifier": "listFiles",
6361                "expression": {
6362                  "constructorExpression": {
6363                    "endPosition": "3114",
6364                    "kind": "FUNCTION_INVOCATION",
6365                    "functionSelect": {
6366                      "endPosition": "3096",
6367                      "kind": "IDENTIFIER",
6368                      "name": "File",
6369                      "startPosition": "3092"
6370                    },
6371                    "arguments": [
6372                      {
6373                        "leftOperand": {
6374                          "endPosition": "3104",
6375                          "kind": "IDENTIFIER",
6376                          "name": "__DIR__",
6377                          "startPosition": "3097"
6378                        },
6379                        "endPosition": "3113",
6380                        "kind": "PLUS",
6381                        "rightOperand": {
6382                          "endPosition": "3113",
6383                          "kind": "IDENTIFIER",
6384                          "name": "subdir",
6385                          "startPosition": "3107"
6386                        },
6387                        "startPosition": "3097"
6388                      }
6389                    ],
6390                    "startPosition": "3092"
6391                  },
6392                  "endPosition": "3114",
6393                  "kind": "NEW",
6394                  "startPosition": "3088"
6395                },
6396                "endPosition": "3124",
6397                "kind": "MEMBER_SELECT",
6398                "startPosition": "3088"
6399              },
6400              "arguments": [],
6401              "startPosition": "3088"
6402            }
6403          },
6404          {
6405            "expression": {
6406              "endPosition": "3160",
6407              "kind": "FUNCTION_INVOCATION",
6408              "functionSelect": {
6409                "identifier": "sort",
6410                "expression": {
6411                  "identifier": "Arrays",
6412                  "expression": {
6413                    "identifier": "util",
6414                    "expression": {
6415                      "endPosition": "3136",
6416                      "kind": "IDENTIFIER",
6417                      "name": "java",
6418                      "startPosition": "3132"
6419                    },
6420                    "endPosition": "3141",
6421                    "kind": "MEMBER_SELECT",
6422                    "startPosition": "3132"
6423                  },
6424                  "endPosition": "3148",
6425                  "kind": "MEMBER_SELECT",
6426                  "startPosition": "3132"
6427                },
6428                "endPosition": "3153",
6429                "kind": "MEMBER_SELECT",
6430                "startPosition": "3132"
6431              },
6432              "arguments": [
6433                {
6434                  "endPosition": "3159",
6435                  "kind": "IDENTIFIER",
6436                  "name": "files",
6437                  "startPosition": "3154"
6438                }
6439              ],
6440              "startPosition": "3132"
6441            },
6442            "endPosition": "3160",
6443            "kind": "EXPRESSION_STATEMENT",
6444            "startPosition": "3132"
6445          },
6446          {
6447            "endPosition": "3184",
6448            "kind": "VARIABLE",
6449            "name": "file",
6450            "startPosition": "3180"
6451          },
6452          {
6453            "expression": {
6454              "endPosition": "3193",
6455              "kind": "IDENTIFIER",
6456              "name": "files",
6457              "startPosition": "3188"
6458            },
6459            "endPosition": "3724",
6460            "kind": "FOR_IN_LOOP",
6461            "forEach": "true",
6462            "variable": {
6463              "endPosition": "3184",
6464              "kind": "IDENTIFIER",
6465              "name": "file",
6466              "startPosition": "3180"
6467            },
6468            "statement": {
6469              "endPosition": "3724",
6470              "kind": "BLOCK",
6471              "statements": [
6472                {
6473                  "condition": {
6474                    "endPosition": "3234",
6475                    "kind": "FUNCTION_INVOCATION",
6476                    "functionSelect": {
6477                      "identifier": "endsWith",
6478                      "expression": {
6479                        "identifier": "name",
6480                        "expression": {
6481                          "endPosition": "3213",
6482                          "kind": "IDENTIFIER",
6483                          "name": "file",
6484                          "startPosition": "3209"
6485                        },
6486                        "endPosition": "3218",
6487                        "kind": "MEMBER_SELECT",
6488                        "startPosition": "3209"
6489                      },
6490                      "endPosition": "3227",
6491                      "kind": "MEMBER_SELECT",
6492                      "startPosition": "3209"
6493                    },
6494                    "arguments": [
6495                      {
6496                        "endPosition": "3232",
6497                        "kind": "STRING_LITERAL",
6498                        "value": ".js",
6499                        "startPosition": "3229"
6500                      }
6501                    ],
6502                    "startPosition": "3209"
6503                  },
6504                  "endPosition": "3718",
6505                  "kind": "IF",
6506                  "startPosition": "3205",
6507                  "thenStatement": {
6508                    "endPosition": "3718",
6509                    "kind": "BLOCK",
6510                    "statements": [
6511                      {
6512                        "endPosition": "3278",
6513                        "kind": "VARIABLE",
6514                        "name": "script",
6515                        "startPosition": "3254",
6516                        "initializer": {
6517                          "endPosition": "3278",
6518                          "kind": "FUNCTION_INVOCATION",
6519                          "functionSelect": {
6520                            "endPosition": "3272",
6521                            "kind": "IDENTIFIER",
6522                            "name": "readFully",
6523                            "startPosition": "3263"
6524                          },
6525                          "arguments": [
6526                            {
6527                              "endPosition": "3277",
6528                              "kind": "IDENTIFIER",
6529                              "name": "file",
6530                              "startPosition": "3273"
6531                            }
6532                          ],
6533                          "startPosition": "3263"
6534                        }
6535                      },
6536                      {
6537                        "endPosition": "3317",
6538                        "kind": "VARIABLE",
6539                        "name": "parser",
6540                        "startPosition": "3296",
6541                        "initializer": {
6542                          "constructorExpression": {
6543                            "endPosition": "3317",
6544                            "kind": "FUNCTION_INVOCATION",
6545                            "functionSelect": {
6546                              "endPosition": "3315",
6547                              "kind": "IDENTIFIER",
6548                              "name": "Parser",
6549                              "startPosition": "3309"
6550                            },
6551                            "arguments": [],
6552                            "startPosition": "3309"
6553                          },
6554                          "endPosition": "3317",
6555                          "kind": "NEW",
6556                          "startPosition": "3305"
6557                        }
6558                      },
6559                      {
6560                        "endPosition": "3578",
6561                        "kind": "VARIABLE",
6562                        "name": "tree",
6563                        "startPosition": "3335",
6564                        "initializer": {
6565                          "endPosition": "3578",
6566                          "kind": "FUNCTION_INVOCATION",
6567                          "functionSelect": {
6568                            "identifier": "parse",
6569                            "expression": {
6570                              "endPosition": "3348",
6571                              "kind": "IDENTIFIER",
6572                              "name": "parser",
6573                              "startPosition": "3342"
6574                            },
6575                            "endPosition": "3354",
6576                            "kind": "MEMBER_SELECT",
6577                            "startPosition": "3342"
6578                          },
6579                          "arguments": [
6580                            {
6581                              "leftOperand": {
6582                                "leftOperand": {
6583                                  "endPosition": "3361",
6584                                  "kind": "IDENTIFIER",
6585                                  "name": "subdir",
6586                                  "startPosition": "3355"
6587                                },
6588                                "endPosition": "3366",
6589                                "kind": "PLUS",
6590                                "rightOperand": {
6591                                  "endPosition": "3366",
6592                                  "kind": "STRING_LITERAL",
6593                                  "value": "/",
6594                                  "startPosition": "3365"
6595                                },
6596                                "startPosition": "3355"
6597                              },
6598                              "endPosition": "3379",
6599                              "kind": "PLUS",
6600                              "rightOperand": {
6601                                "identifier": "name",
6602                                "expression": {
6603                                  "endPosition": "3374",
6604                                  "kind": "IDENTIFIER",
6605                                  "name": "file",
6606                                  "startPosition": "3370"
6607                                },
6608                                "endPosition": "3379",
6609                                "kind": "MEMBER_SELECT",
6610                                "startPosition": "3370"
6611                              },
6612                              "startPosition": "3355"
6613                            },
6614                            {
6615                              "endPosition": "3387",
6616                              "kind": "IDENTIFIER",
6617                              "name": "script",
6618                              "startPosition": "3381"
6619                            },
6620                            {
6621                              "endPosition": "3426",
6622                              "kind": "FUNCTION_EXPRESSION",
6623                              "body": {
6624                                "endPosition": "3559",
6625                                "kind": "BLOCK",
6626                                "statements": [
6627                                  {
6628                                    "expression": {
6629                                      "endPosition": "3526",
6630                                      "kind": "FUNCTION_INVOCATION",
6631                                      "functionSelect": {
6632                                        "endPosition": "3453",
6633                                        "kind": "IDENTIFIER",
6634                                        "name": "print",
6635                                        "startPosition": "3448"
6636                                      },
6637                                      "arguments": [
6638                                        {
6639                                          "endPosition": "3525",
6640                                          "kind": "FUNCTION_INVOCATION",
6641                                          "functionSelect": {
6642                                            "identifier": "replace",
6643                                            "expression": {
6644                                              "endPosition": "3505",
6645                                              "kind": "FUNCTION_INVOCATION",
6646                                              "functionSelect": {
6647                                                "identifier": "stringify",
6648                                                "expression": {
6649                                                  "endPosition": "3458",
6650                                                  "kind": "IDENTIFIER",
6651                                                  "name": "JSON",
6652                                                  "startPosition": "3454"
6653                                                },
6654                                                "endPosition": "3468",
6655                                                "kind": "MEMBER_SELECT",
6656                                                "startPosition": "3454"
6657                                              },
6658                                              "arguments": [
6659                                                {
6660                                                  "endPosition": "3495",
6661                                                  "kind": "FUNCTION_INVOCATION",
6662                                                  "functionSelect": {
6663                                                    "identifier": "convert",
6664                                                    "expression": {
6665                                                      "endPosition": "3475",
6666                                                      "kind": "IDENTIFIER",
6667                                                      "name": "parser",
6668                                                      "startPosition": "3469"
6669                                                    },
6670                                                    "endPosition": "3483",
6671                                                    "kind": "MEMBER_SELECT",
6672                                                    "startPosition": "3469"
6673                                                  },
6674                                                  "arguments": [
6675                                                    {
6676                                                      "endPosition": "3494",
6677                                                      "kind": "IDENTIFIER",
6678                                                      "name": "diagnostic",
6679                                                      "startPosition": "3484"
6680                                                    }
6681                                                  ],
6682                                                  "startPosition": "3469"
6683                                                },
6684                                                {
6685                                                  "endPosition": "3501",
6686                                                  "kind": "NULL_LITERAL",
6687                                                  "startPosition": "3497"
6688                                                },
6689                                                {
6690                                                  "endPosition": "3504",
6691                                                  "kind": "NUMBER_LITERAL",
6692                                                  "value": "2",
6693                                                  "startPosition": "3503"
6694                                                }
6695                                              ],
6696                                              "startPosition": "3454"
6697                                            },
6698                                            "endPosition": "3513",
6699                                            "kind": "MEMBER_SELECT",
6700                                            "startPosition": "3454"
6701                                          },
6702                                          "arguments": [
6703                                            {
6704                                              "endPosition": "3520",
6705                                              "kind": "REGEXP_LITERAL",
6706                                              "options": "g",
6707                                              "pattern": "\\\\r",
6708                                              "startPosition": "3514"
6709                                            },
6710                                            {
6711                                              "endPosition": "3523",
6712                                              "kind": "STRING_LITERAL",
6713                                              "value": "",
6714                                              "startPosition": "3523"
6715                                            }
6716                                          ],
6717                                          "startPosition": "3513"
6718                                        }
6719                                      ],
6720                                      "startPosition": "3448"
6721                                    },
6722                                    "endPosition": "3526",
6723                                    "kind": "EXPRESSION_STATEMENT",
6724                                    "startPosition": "3448"
6725                                  },
6726                                  {
6727                                    "expression": {
6728                                      "endPosition": "3558",
6729                                      "kind": "FUNCTION_INVOCATION",
6730                                      "functionSelect": {
6731                                        "endPosition": "3553",
6732                                        "kind": "IDENTIFIER",
6733                                        "name": "print",
6734                                        "startPosition": "3548"
6735                                      },
6736                                      "arguments": [
6737                                        {
6738                                          "endPosition": "3556",
6739                                          "kind": "STRING_LITERAL",
6740                                          "value": ",",
6741                                          "startPosition": "3555"
6742                                        }
6743                                      ],
6744                                      "startPosition": "3548"
6745                                    },
6746                                    "endPosition": "3558",
6747                                    "kind": "EXPRESSION_STATEMENT",
6748                                    "startPosition": "3548"
6749                                  }
6750                                ],
6751                                "startPosition": "3426"
6752                              },
6753                              "strict": "false",
6754                              "startPosition": "3426",
6755                              "parameters": [
6756                                {
6757                                  "endPosition": "3424",
6758                                  "kind": "IDENTIFIER",
6759                                  "name": "diagnostic",
6760                                  "startPosition": "3414"
6761                                }
6762                              ]
6763                            }
6764                          ],
6765                          "startPosition": "3342"
6766                        }
6767                      },
6768                      {
6769                        "condition": {
6770                          "leftOperand": {
6771                            "endPosition": "3601",
6772                            "kind": "IDENTIFIER",
6773                            "name": "tree",
6774                            "startPosition": "3597"
6775                          },
6776                          "endPosition": "3609",
6777                          "kind": "NOT_EQUAL_TO",
6778                          "rightOperand": {
6779                            "endPosition": "3609",
6780                            "kind": "NULL_LITERAL",
6781                            "startPosition": "3605"
6782                          },
6783                          "startPosition": "3597"
6784                        },
6785                        "endPosition": "3708",
6786                        "kind": "IF",
6787                        "startPosition": "3593",
6788                        "thenStatement": {
6789                          "endPosition": "3708",
6790                          "kind": "BLOCK",
6791                          "statements": [
6792                            {
6793                              "expression": {
6794                                "endPosition": "3665",
6795                                "kind": "FUNCTION_INVOCATION",
6796                                "functionSelect": {
6797                                  "endPosition": "3634",
6798                                  "kind": "IDENTIFIER",
6799                                  "name": "print",
6800                                  "startPosition": "3629"
6801                                },
6802                                "arguments": [
6803                                  {
6804                                    "endPosition": "3664",
6805                                    "kind": "FUNCTION_INVOCATION",
6806                                    "functionSelect": {
6807                                      "identifier": "stringify",
6808                                      "expression": {
6809                                        "endPosition": "3639",
6810                                        "kind": "IDENTIFIER",
6811                                        "name": "JSON",
6812                                        "startPosition": "3635"
6813                                      },
6814                                      "endPosition": "3649",
6815                                      "kind": "MEMBER_SELECT",
6816                                      "startPosition": "3635"
6817                                    },
6818                                    "arguments": [
6819                                      {
6820                                        "endPosition": "3654",
6821                                        "kind": "IDENTIFIER",
6822                                        "name": "tree",
6823                                        "startPosition": "3650"
6824                                      },
6825                                      {
6826                                        "endPosition": "3660",
6827                                        "kind": "NULL_LITERAL",
6828                                        "startPosition": "3656"
6829                                      },
6830                                      {
6831                                        "endPosition": "3663",
6832                                        "kind": "NUMBER_LITERAL",
6833                                        "value": "2",
6834                                        "startPosition": "3662"
6835                                      }
6836                                    ],
6837                                    "startPosition": "3635"
6838                                  }
6839                                ],
6840                                "startPosition": "3629"
6841                              },
6842                              "endPosition": "3665",
6843                              "kind": "EXPRESSION_STATEMENT",
6844                              "startPosition": "3629"
6845                            },
6846                            {
6847                              "expression": {
6848                                "endPosition": "3693",
6849                                "kind": "FUNCTION_INVOCATION",
6850                                "functionSelect": {
6851                                  "endPosition": "3688",
6852                                  "kind": "IDENTIFIER",
6853                                  "name": "print",
6854                                  "startPosition": "3683"
6855                                },
6856                                "arguments": [
6857                                  {
6858                                    "endPosition": "3691",
6859                                    "kind": "STRING_LITERAL",
6860                                    "value": ",",
6861                                    "startPosition": "3690"
6862                                  }
6863                                ],
6864                                "startPosition": "3683"
6865                              },
6866                              "endPosition": "3693",
6867                              "kind": "EXPRESSION_STATEMENT",
6868                              "startPosition": "3683"
6869                            }
6870                          ],
6871                          "startPosition": "3611"
6872                        }
6873                      }
6874                    ],
6875                    "startPosition": "3236"
6876                  }
6877                }
6878              ],
6879              "startPosition": "3195"
6880            },
6881            "startPosition": "3166"
6882          }
6883        ],
6884        "startPosition": "3028"
6885      },
6886      "strict": "false",
6887      "startPosition": "2998",
6888      "parameters": [
6889        {
6890          "endPosition": "3026",
6891          "kind": "IDENTIFIER",
6892          "name": "subdir",
6893          "startPosition": "3020"
6894        }
6895      ]
6896    },
6897    {
6898      "endPosition": "4070",
6899      "kind": "FUNCTION",
6900      "name": "main",
6901      "body": {
6902        "endPosition": "4068",
6903        "kind": "BLOCK",
6904        "statements": [
6905          {
6906            "expression": {
6907              "endPosition": "3800",
6908              "kind": "FUNCTION_INVOCATION",
6909              "functionSelect": {
6910                "endPosition": "3795",
6911                "kind": "IDENTIFIER",
6912                "name": "print",
6913                "startPosition": "3790"
6914              },
6915              "arguments": [
6916                {
6917                  "endPosition": "3798",
6918                  "kind": "STRING_LITERAL",
6919                  "value": "[",
6920                  "startPosition": "3797"
6921                }
6922              ],
6923              "startPosition": "3790"
6924            },
6925            "endPosition": "3800",
6926            "kind": "EXPRESSION_STATEMENT",
6927            "startPosition": "3790"
6928          },
6929          {
6930            "expression": {
6931              "endPosition": "3834",
6932              "kind": "FUNCTION_INVOCATION",
6933              "functionSelect": {
6934                "endPosition": "3819",
6935                "kind": "IDENTIFIER",
6936                "name": "processFiles",
6937                "startPosition": "3807"
6938              },
6939              "arguments": [
6940                {
6941                  "endPosition": "3832",
6942                  "kind": "STRING_LITERAL",
6943                  "value": "parsertests",
6944                  "startPosition": "3821"
6945                }
6946              ],
6947              "startPosition": "3807"
6948            },
6949            "endPosition": "3834",
6950            "kind": "EXPRESSION_STATEMENT",
6951            "startPosition": "3807"
6952          },
6953          {
6954            "expression": {
6955              "endPosition": "3875",
6956              "kind": "FUNCTION_INVOCATION",
6957              "functionSelect": {
6958                "endPosition": "3852",
6959                "kind": "IDENTIFIER",
6960                "name": "processFiles",
6961                "startPosition": "3840"
6962              },
6963              "arguments": [
6964                {
6965                  "endPosition": "3873",
6966                  "kind": "STRING_LITERAL",
6967                  "value": "parsernegativetests",
6968                  "startPosition": "3854"
6969                }
6970              ],
6971              "startPosition": "3840"
6972            },
6973            "endPosition": "3875",
6974            "kind": "EXPRESSION_STATEMENT",
6975            "startPosition": "3840"
6976          },
6977          {
6978            "endPosition": "3944",
6979            "kind": "VARIABLE",
6980            "name": "script",
6981            "startPosition": "3916",
6982            "initializer": {
6983              "endPosition": "3944",
6984              "kind": "FUNCTION_INVOCATION",
6985              "functionSelect": {
6986                "endPosition": "3934",
6987                "kind": "IDENTIFIER",
6988                "name": "readFully",
6989                "startPosition": "3925"
6990              },
6991              "arguments": [
6992                {
6993                  "endPosition": "3943",
6994                  "kind": "IDENTIFIER",
6995                  "name": "__FILE__",
6996                  "startPosition": "3935"
6997                }
6998              ],
6999              "startPosition": "3925"
7000            }
7001          },
7002          {
7003            "endPosition": "4009",
7004            "kind": "VARIABLE",
7005            "name": "tree",
7006            "startPosition": "3954",
7007            "initializer": {
7008              "endPosition": "4009",
7009              "kind": "FUNCTION_INVOCATION",
7010              "functionSelect": {
7011                "identifier": "parse",
7012                "expression": {
7013                  "constructorExpression": {
7014                    "endPosition": "3973",
7015                    "kind": "FUNCTION_INVOCATION",
7016                    "functionSelect": {
7017                      "endPosition": "3971",
7018                      "kind": "IDENTIFIER",
7019                      "name": "Parser",
7020                      "startPosition": "3965"
7021                    },
7022                    "arguments": [],
7023                    "startPosition": "3965"
7024                  },
7025                  "endPosition": "3973",
7026                  "kind": "NEW",
7027                  "startPosition": "3961"
7028                },
7029                "endPosition": "3979",
7030                "kind": "MEMBER_SELECT",
7031                "startPosition": "3961"
7032              },
7033              "arguments": [
7034                {
7035                  "endPosition": "3993",
7036                  "kind": "STRING_LITERAL",
7037                  "value": "parserapi.js",
7038                  "startPosition": "3981"
7039                },
7040                {
7041                  "endPosition": "4002",
7042                  "kind": "IDENTIFIER",
7043                  "name": "script",
7044                  "startPosition": "3996"
7045                },
7046                {
7047                  "endPosition": "4008",
7048                  "kind": "NULL_LITERAL",
7049                  "startPosition": "4004"
7050                }
7051              ],
7052              "startPosition": "3961"
7053            }
7054          },
7055          {
7056            "expression": {
7057              "endPosition": "4051",
7058              "kind": "FUNCTION_INVOCATION",
7059              "functionSelect": {
7060                "endPosition": "4020",
7061                "kind": "IDENTIFIER",
7062                "name": "print",
7063                "startPosition": "4015"
7064              },
7065              "arguments": [
7066                {
7067                  "endPosition": "4050",
7068                  "kind": "FUNCTION_INVOCATION",
7069                  "functionSelect": {
7070                    "identifier": "stringify",
7071                    "expression": {
7072                      "endPosition": "4025",
7073                      "kind": "IDENTIFIER",
7074                      "name": "JSON",
7075                      "startPosition": "4021"
7076                    },
7077                    "endPosition": "4035",
7078                    "kind": "MEMBER_SELECT",
7079                    "startPosition": "4021"
7080                  },
7081                  "arguments": [
7082                    {
7083                      "endPosition": "4040",
7084                      "kind": "IDENTIFIER",
7085                      "name": "tree",
7086                      "startPosition": "4036"
7087                    },
7088                    {
7089                      "endPosition": "4046",
7090                      "kind": "NULL_LITERAL",
7091                      "startPosition": "4042"
7092                    },
7093                    {
7094                      "endPosition": "4049",
7095                      "kind": "NUMBER_LITERAL",
7096                      "value": "2",
7097                      "startPosition": "4048"
7098                    }
7099                  ],
7100                  "startPosition": "4021"
7101                }
7102              ],
7103              "startPosition": "4015"
7104            },
7105            "endPosition": "4051",
7106            "kind": "EXPRESSION_STATEMENT",
7107            "startPosition": "4015"
7108          },
7109          {
7110            "expression": {
7111              "endPosition": "4067",
7112              "kind": "FUNCTION_INVOCATION",
7113              "functionSelect": {
7114                "endPosition": "4062",
7115                "kind": "IDENTIFIER",
7116                "name": "print",
7117                "startPosition": "4057"
7118              },
7119              "arguments": [
7120                {
7121                  "endPosition": "4065",
7122                  "kind": "STRING_LITERAL",
7123                  "value": "]",
7124                  "startPosition": "4064"
7125                }
7126              ],
7127              "startPosition": "4057"
7128            },
7129            "endPosition": "4067",
7130            "kind": "EXPRESSION_STATEMENT",
7131            "startPosition": "4057"
7132          }
7133        ],
7134        "startPosition": "3784"
7135      },
7136      "strict": "false",
7137      "startPosition": "3768",
7138      "parameters": []
7139    },
7140    {
7141      "expression": {
7142        "endPosition": "4078",
7143        "kind": "FUNCTION_INVOCATION",
7144        "functionSelect": {
7145          "endPosition": "4076",
7146          "kind": "IDENTIFIER",
7147          "name": "main",
7148          "startPosition": "4072"
7149        },
7150        "arguments": [],
7151        "startPosition": "4072"
7152      },
7153      "endPosition": "4078",
7154      "kind": "EXPRESSION_STATEMENT",
7155      "startPosition": "4072"
7156    }
7157  ],
7158  "sourceName": "parserapi.js",
7159  "strict": "false",
7160  "startPosition": "1136"
7161}
7162]
7163