parserapi.js.EXPECTED revision 1204:9597425b6b38
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": "1380",
1368      "kind": "FUNCTION",
1369      "name": "test",
1370      "body": {
1371        "endPosition": "1377",
1372        "kind": "BLOCK",
1373        "statements": [
1374          {
1375            "expression": {
1376              "endPosition": "1377",
1377              "kind": "STRING_LITERAL",
1378              "value": "use strict",
1379              "startPosition": "1367"
1380            },
1381            "endPosition": "1377",
1382            "kind": "EXPRESSION_STATEMENT",
1383            "startPosition": "1367"
1384          }
1385        ],
1386        "startPosition": "1364"
1387      },
1388      "strict": "true",
1389      "startPosition": "1348",
1390      "parameters": []
1391    },
1392    {
1393      "endPosition": "1282",
1394      "kind": "VARIABLE",
1395      "name": "hello",
1396      "startPosition": "1245",
1397      "initializer": {
1398        "endPosition": "1264",
1399        "kind": "FUNCTION_EXPRESSION",
1400        "body": {
1401          "endPosition": "1280",
1402          "kind": "BLOCK",
1403          "statements": [
1404            {
1405              "expression": {
1406                "endPosition": "1280",
1407                "kind": "FUNCTION_INVOCATION",
1408                "functionSelect": {
1409                  "endPosition": "1271",
1410                  "kind": "IDENTIFIER",
1411                  "name": "print",
1412                  "startPosition": "1266"
1413                },
1414                "arguments": [
1415                  {
1416                    "endPosition": "1278",
1417                    "kind": "STRING_LITERAL",
1418                    "value": "hello",
1419                    "startPosition": "1273"
1420                  }
1421                ],
1422                "startPosition": "1266"
1423              },
1424              "endPosition": "1280",
1425              "kind": "EXPRESSION_STATEMENT",
1426              "startPosition": "1266"
1427            }
1428          ],
1429          "startPosition": "1264"
1430        },
1431        "strict": "false",
1432        "startPosition": "1264",
1433        "parameters": []
1434      }
1435    },
1436    {
1437      "endPosition": "1331",
1438      "kind": "VARIABLE",
1439      "name": "hello",
1440      "startPosition": "1288",
1441      "initializer": {
1442        "endPosition": "1313",
1443        "kind": "FUNCTION_EXPRESSION",
1444        "name": "hello",
1445        "body": {
1446          "endPosition": "1329",
1447          "kind": "BLOCK",
1448          "statements": [
1449            {
1450              "expression": {
1451                "endPosition": "1329",
1452                "kind": "FUNCTION_INVOCATION",
1453                "functionSelect": {
1454                  "endPosition": "1320",
1455                  "kind": "IDENTIFIER",
1456                  "name": "print",
1457                  "startPosition": "1315"
1458                },
1459                "arguments": [
1460                  {
1461                    "endPosition": "1327",
1462                    "kind": "STRING_LITERAL",
1463                    "value": "hello",
1464                    "startPosition": "1322"
1465                  }
1466                ],
1467                "startPosition": "1315"
1468              },
1469              "endPosition": "1329",
1470              "kind": "EXPRESSION_STATEMENT",
1471              "startPosition": "1315"
1472            }
1473          ],
1474          "startPosition": "1313"
1475        },
1476        "strict": "false",
1477        "startPosition": "1313",
1478        "parameters": []
1479      }
1480    },
1481    {
1482      "expression": {
1483        "endPosition": "1344",
1484        "kind": "FUNCTION_EXPRESSION",
1485        "body": {
1486          "endPosition": "1345",
1487          "kind": "BLOCK",
1488          "statements": [],
1489          "startPosition": "1344"
1490        },
1491        "strict": "false",
1492        "startPosition": "1344",
1493        "parameters": []
1494      },
1495      "endPosition": "1347",
1496      "kind": "EXPRESSION_STATEMENT",
1497      "startPosition": "1333"
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      "endPosition": "1165",
3980      "kind": "FUNCTION",
3981      "name": "f",
3982      "body": {
3983        "endPosition": "1162",
3984        "kind": "BLOCK",
3985        "statements": [
3986          {
3987            "expression": {
3988              "endPosition": "1162",
3989              "kind": "STRING_LITERAL",
3990              "value": "use strict",
3991              "startPosition": "1152"
3992            },
3993            "endPosition": "1162",
3994            "kind": "EXPRESSION_STATEMENT",
3995            "startPosition": "1152"
3996          }
3997        ],
3998        "startPosition": "1149"
3999      },
4000      "strict": "true",
4001      "startPosition": "1136",
4002      "parameters": []
4003    },
4004    {
4005      "expression": {
4006        "endPosition": "1133",
4007        "kind": "STRING_LITERAL",
4008        "value": "use strict",
4009        "startPosition": "1123"
4010      },
4011      "endPosition": "1133",
4012      "kind": "EXPRESSION_STATEMENT",
4013      "startPosition": "1123"
4014    }
4015  ],
4016  "sourceName": "parsertests/useStrict.js",
4017  "strict": "true",
4018  "startPosition": "1122"
4019}
4020,
4021{
4022  "endPosition": "1143",
4023  "kind": "COMPILATION_UNIT",
4024  "sourceElements": [
4025    {
4026      "endPosition": "1148",
4027      "kind": "VARIABLE",
4028      "name": "a",
4029      "startPosition": "1147"
4030    },
4031    {
4032      "endPosition": "1155",
4033      "kind": "VARIABLE",
4034      "name": "a",
4035      "startPosition": "1154"
4036    },
4037    {
4038      "endPosition": "1158",
4039      "kind": "VARIABLE",
4040      "name": "b",
4041      "startPosition": "1157"
4042    },
4043    {
4044      "endPosition": "1200",
4045      "kind": "VARIABLE",
4046      "name": "a",
4047      "startPosition": "1190",
4048      "initializer": {
4049        "endPosition": "1200",
4050        "kind": "STRING_LITERAL",
4051        "value": "hello",
4052        "startPosition": "1195"
4053      }
4054    },
4055    {
4056      "endPosition": "1212",
4057      "kind": "VARIABLE",
4058      "name": "a",
4059      "startPosition": "1207",
4060      "initializer": {
4061        "endPosition": "1212",
4062        "kind": "NUMBER_LITERAL",
4063        "value": "1",
4064        "startPosition": "1211"
4065      }
4066    },
4067    {
4068      "endPosition": "1219",
4069      "kind": "VARIABLE",
4070      "name": "b",
4071      "startPosition": "1214",
4072      "initializer": {
4073        "endPosition": "1219",
4074        "kind": "NUMBER_LITERAL",
4075        "value": "2",
4076        "startPosition": "1218"
4077      }
4078    },
4079    {
4080      "endPosition": "1226",
4081      "kind": "VARIABLE",
4082      "name": "c",
4083      "startPosition": "1221",
4084      "initializer": {
4085        "endPosition": "1226",
4086        "kind": "NUMBER_LITERAL",
4087        "value": "3",
4088        "startPosition": "1225"
4089      }
4090    }
4091  ],
4092  "sourceName": "parsertests/varDecl.js",
4093  "strict": "false",
4094  "startPosition": "1143"
4095}
4096,
4097{
4098  "endPosition": "1111",
4099  "kind": "COMPILATION_UNIT",
4100  "sourceElements": [
4101    {
4102      "endPosition": "1133",
4103      "kind": "WITH",
4104      "scope": {
4105        "endPosition": "1122",
4106        "kind": "IDENTIFIER",
4107        "name": "scope",
4108        "startPosition": "1117"
4109      },
4110      "statement": {
4111        "endPosition": "1133",
4112        "kind": "BLOCK",
4113        "statements": [
4114          {
4115            "expression": {
4116              "expression": {
4117                "endPosition": "1131",
4118                "kind": "IDENTIFIER",
4119                "name": "y",
4120                "startPosition": "1130"
4121              },
4122              "endPosition": "1131",
4123              "kind": "ASSIGNMENT",
4124              "variable": {
4125                "endPosition": "1127",
4126                "kind": "IDENTIFIER",
4127                "name": "x",
4128                "startPosition": "1126"
4129              },
4130              "startPosition": "1126"
4131            },
4132            "endPosition": "1131",
4133            "kind": "EXPRESSION_STATEMENT",
4134            "startPosition": "1126"
4135          }
4136        ],
4137        "startPosition": "1124"
4138      },
4139      "startPosition": "1111"
4140    }
4141  ],
4142  "sourceName": "parsertests/withStat.js",
4143  "strict": "false",
4144  "startPosition": "1111"
4145}
4146,
4147{
4148  "fileName": "parsernegativetests/caseoutofswitch.js",
4149  "code": "case (1090, 4)",
4150  "columnNumber": "0",
4151  "kind": "ERROR",
4152  "position": "1090",
4153  "message": "parsernegativetests/caseoutofswitch.js:29:0 Expected an operand but found case\ncase 23:\n^",
4154  "lineNumber": "29"
4155}
4156,
4157{
4158  "fileName": "parsernegativetests/caseoutofswitch.js",
4159  "code": "default (1112, 7)",
4160  "columnNumber": "0",
4161  "kind": "ERROR",
4162  "position": "1112",
4163  "message": "parsernegativetests/caseoutofswitch.js:31:0 Expected an operand but found default\ndefault:\n^",
4164  "lineNumber": "31"
4165}
4166,
4167{
4168  "endPosition": "1090",
4169  "kind": "COMPILATION_UNIT",
4170  "sourceElements": [
4171    {
4172      "expression": {
4173        "endPosition": "1098",
4174        "kind": "ERROR",
4175        "startPosition": "1090"
4176      },
4177      "endPosition": "1098",
4178      "kind": "EXPRESSION_STATEMENT",
4179      "startPosition": "1090"
4180    },
4181    {
4182      "expression": {
4183        "endPosition": "1110",
4184        "kind": "FUNCTION_INVOCATION",
4185        "functionSelect": {
4186          "endPosition": "1104",
4187          "kind": "IDENTIFIER",
4188          "name": "print",
4189          "startPosition": "1099"
4190        },
4191        "arguments": [
4192          {
4193            "endPosition": "1108",
4194            "kind": "STRING_LITERAL",
4195            "value": "23",
4196            "startPosition": "1106"
4197          }
4198        ],
4199        "startPosition": "1099"
4200      },
4201      "endPosition": "1110",
4202      "kind": "EXPRESSION_STATEMENT",
4203      "startPosition": "1099"
4204    },
4205    {
4206      "expression": {
4207        "endPosition": "1120",
4208        "kind": "ERROR",
4209        "startPosition": "1112"
4210      },
4211      "endPosition": "1120",
4212      "kind": "EXPRESSION_STATEMENT",
4213      "startPosition": "1112"
4214    },
4215    {
4216      "expression": {
4217        "endPosition": "1135",
4218        "kind": "FUNCTION_INVOCATION",
4219        "functionSelect": {
4220          "endPosition": "1126",
4221          "kind": "IDENTIFIER",
4222          "name": "print",
4223          "startPosition": "1121"
4224        },
4225        "arguments": [
4226          {
4227            "endPosition": "1133",
4228            "kind": "STRING_LITERAL",
4229            "value": "hello",
4230            "startPosition": "1128"
4231          }
4232        ],
4233        "startPosition": "1121"
4234      },
4235      "endPosition": "1135",
4236      "kind": "EXPRESSION_STATEMENT",
4237      "startPosition": "1121"
4238    }
4239  ],
4240  "sourceName": "parsernegativetests/caseoutofswitch.js",
4241  "strict": "false",
4242  "startPosition": "1090"
4243}
4244,
4245{
4246  "fileName": "parsernegativetests/illegalbreak.js",
4247  "code": "break (1090, 5)",
4248  "columnNumber": "0",
4249  "kind": "ERROR",
4250  "position": "1090",
4251  "message": "parsernegativetests/illegalbreak.js:29:0 Illegal break statement\nbreak;\n^",
4252  "lineNumber": "29"
4253}
4254,
4255{
4256  "fileName": "parsernegativetests/illegalbreak.js",
4257  "code": "ident (1103, 3)",
4258  "columnNumber": "6",
4259  "kind": "ERROR",
4260  "position": "1103",
4261  "message": "parsernegativetests/illegalbreak.js:30:6 Undefined Label \"foo\"\nbreak foo;\n      ^",
4262  "lineNumber": "30"
4263}
4264,
4265{
4266  "endPosition": "1090",
4267  "kind": "COMPILATION_UNIT",
4268  "sourceElements": [
4269    {
4270      "expression": {
4271        "endPosition": "1096",
4272        "kind": "ERROR",
4273        "startPosition": "1095"
4274      },
4275      "endPosition": "1096",
4276      "kind": "EXPRESSION_STATEMENT",
4277      "startPosition": "1095"
4278    },
4279    {
4280      "expression": {
4281        "endPosition": "1107",
4282        "kind": "ERROR",
4283        "startPosition": "1106"
4284      },
4285      "endPosition": "1107",
4286      "kind": "EXPRESSION_STATEMENT",
4287      "startPosition": "1106"
4288    }
4289  ],
4290  "sourceName": "parsernegativetests/illegalbreak.js",
4291  "strict": "false",
4292  "startPosition": "1090"
4293}
4294,
4295{
4296  "fileName": "parsernegativetests/illegalcontinue.js",
4297  "code": "continue (1090, 8)",
4298  "columnNumber": "0",
4299  "kind": "ERROR",
4300  "position": "1090",
4301  "message": "parsernegativetests/illegalcontinue.js:29:0 Illegal continue statement\ncontinue;\n^",
4302  "lineNumber": "29"
4303}
4304,
4305{
4306  "fileName": "parsernegativetests/illegalcontinue.js",
4307  "code": "ident (1109, 3)",
4308  "columnNumber": "9",
4309  "kind": "ERROR",
4310  "position": "1109",
4311  "message": "parsernegativetests/illegalcontinue.js:30:9 Undefined Label \"foo\"\ncontinue foo;\n         ^",
4312  "lineNumber": "30"
4313}
4314,
4315{
4316  "endPosition": "1090",
4317  "kind": "COMPILATION_UNIT",
4318  "sourceElements": [
4319    {
4320      "expression": {
4321        "endPosition": "1099",
4322        "kind": "ERROR",
4323        "startPosition": "1098"
4324      },
4325      "endPosition": "1099",
4326      "kind": "EXPRESSION_STATEMENT",
4327      "startPosition": "1098"
4328    },
4329    {
4330      "expression": {
4331        "endPosition": "1113",
4332        "kind": "ERROR",
4333        "startPosition": "1112"
4334      },
4335      "endPosition": "1113",
4336      "kind": "EXPRESSION_STATEMENT",
4337      "startPosition": "1112"
4338    }
4339  ],
4340  "sourceName": "parsernegativetests/illegalcontinue.js",
4341  "strict": "false",
4342  "startPosition": "1090"
4343}
4344,
4345{
4346  "fileName": "parsernegativetests/illegallvalue.js",
4347  "code": "decimal (1090, 2)",
4348  "columnNumber": "0",
4349  "kind": "ERROR",
4350  "position": "1090",
4351  "message": "parsernegativetests/illegallvalue.js:29:0 Invalid left hand side for assignment\n44 = 54;\n^",
4352  "lineNumber": "29"
4353}
4354,
4355{
4356  "fileName": "parsernegativetests/illegallvalue.js",
4357  "code": "decimal (1099, 3)",
4358  "columnNumber": "0",
4359  "kind": "ERROR",
4360  "position": "1099",
4361  "message": "parsernegativetests/illegallvalue.js:30:0 Invalid left hand side for assignment\n233 += 33;\n^",
4362  "lineNumber": "30"
4363}
4364,
4365{
4366  "fileName": "parsernegativetests/illegallvalue.js",
4367  "code": "decimal (1110, 4)",
4368  "columnNumber": "0",
4369  "kind": "ERROR",
4370  "position": "1110",
4371  "message": "parsernegativetests/illegallvalue.js:31:0 Invalid left hand side for assignment\n3423 -= 234;\n^",
4372  "lineNumber": "31"
4373}
4374,
4375{
4376  "endPosition": "1090",
4377  "kind": "COMPILATION_UNIT",
4378  "sourceElements": [
4379    {
4380      "expression": {
4381        "endPosition": "1098",
4382        "kind": "ERROR",
4383        "startPosition": "1097"
4384      },
4385      "endPosition": "1098",
4386      "kind": "EXPRESSION_STATEMENT",
4387      "startPosition": "1097"
4388    },
4389    {
4390      "expression": {
4391        "endPosition": "1109",
4392        "kind": "ERROR",
4393        "startPosition": "1108"
4394      },
4395      "endPosition": "1109",
4396      "kind": "EXPRESSION_STATEMENT",
4397      "startPosition": "1108"
4398    },
4399    {
4400      "expression": {
4401        "endPosition": "1122",
4402        "kind": "ERROR",
4403        "startPosition": "1121"
4404      },
4405      "endPosition": "1122",
4406      "kind": "EXPRESSION_STATEMENT",
4407      "startPosition": "1121"
4408    }
4409  ],
4410  "sourceName": "parsernegativetests/illegallvalue.js",
4411  "strict": "false",
4412  "startPosition": "1090"
4413}
4414,
4415{
4416  "fileName": "parsernegativetests/illegaloperator.js",
4417  "code": "* (1093, 1)",
4418  "columnNumber": "3",
4419  "kind": "ERROR",
4420  "position": "1093",
4421  "message": "parsernegativetests/illegaloperator.js:29:3 Expected an operand but found *\nx ** y\n   ^",
4422  "lineNumber": "29"
4423}
4424,
4425{
4426  "endPosition": "1090",
4427  "kind": "COMPILATION_UNIT",
4428  "sourceElements": [
4429    {
4430      "expression": {
4431        "endPosition": "1096",
4432        "kind": "ERROR",
4433        "startPosition": "1093"
4434      },
4435      "endPosition": "1096",
4436      "kind": "EXPRESSION_STATEMENT",
4437      "startPosition": "1093"
4438    }
4439  ],
4440  "sourceName": "parsernegativetests/illegaloperator.js",
4441  "strict": "false",
4442  "startPosition": "1090"
4443}
4444,
4445{
4446  "fileName": "parsernegativetests/keywordident.js",
4447  "code": "var (1094, 3)",
4448  "columnNumber": "4",
4449  "kind": "ERROR",
4450  "position": "1094",
4451  "message": "parsernegativetests/keywordident.js:29:4 Expected ident but found var\nvar var = 23;\n    ^",
4452  "lineNumber": "29"
4453}
4454,
4455{
4456  "endPosition": "1090",
4457  "kind": "COMPILATION_UNIT",
4458  "sourceElements": [
4459    {
4460      "expression": {
4461        "endPosition": "1103",
4462        "kind": "ERROR",
4463        "startPosition": "1094"
4464      },
4465      "endPosition": "1103",
4466      "kind": "EXPRESSION_STATEMENT",
4467      "startPosition": "1094"
4468    },
4469    {
4470      "endPosition": "1115",
4471      "kind": "VARIABLE",
4472      "name": "x",
4473      "startPosition": "1108",
4474      "initializer": {
4475        "endPosition": "1115",
4476        "kind": "NUMBER_LITERAL",
4477        "value": "223",
4478        "startPosition": "1112"
4479      }
4480    }
4481  ],
4482  "sourceName": "parsernegativetests/keywordident.js",
4483  "strict": "false",
4484  "startPosition": "1090"
4485}
4486,
4487{
4488  "fileName": "parsernegativetests/parenmissing.js",
4489  "code": "; (1096, 1)",
4490  "columnNumber": "6",
4491  "kind": "ERROR",
4492  "position": "1096",
4493  "message": "parsernegativetests/parenmissing.js:29:6 Expected ) but found ;\n(1 + 2;\n      ^",
4494  "lineNumber": "29"
4495}
4496,
4497{
4498  "fileName": "parsernegativetests/parenmissing.js",
4499  "code": ") (1103, 1)",
4500  "columnNumber": "5",
4501  "kind": "ERROR",
4502  "position": "1103",
4503  "message": "parsernegativetests/parenmissing.js:30:5 Expected ; but found )\nx * y);\n     ^",
4504  "lineNumber": "30"
4505}
4506,
4507{
4508  "endPosition": "1090",
4509  "kind": "COMPILATION_UNIT",
4510  "sourceElements": [
4511    {
4512      "expression": {
4513        "endPosition": "1097",
4514        "kind": "ERROR",
4515        "startPosition": "1096"
4516      },
4517      "endPosition": "1097",
4518      "kind": "EXPRESSION_STATEMENT",
4519      "startPosition": "1096"
4520    },
4521    {
4522      "expression": {
4523        "leftOperand": {
4524          "endPosition": "1099",
4525          "kind": "IDENTIFIER",
4526          "name": "x",
4527          "startPosition": "1098"
4528        },
4529        "endPosition": "1103",
4530        "kind": "MULTIPLY",
4531        "rightOperand": {
4532          "endPosition": "1103",
4533          "kind": "IDENTIFIER",
4534          "name": "y",
4535          "startPosition": "1102"
4536        },
4537        "startPosition": "1098"
4538      },
4539      "endPosition": "1103",
4540      "kind": "EXPRESSION_STATEMENT",
4541      "startPosition": "1098"
4542    },
4543    {
4544      "expression": {
4545        "endPosition": "1105",
4546        "kind": "ERROR",
4547        "startPosition": "1103"
4548      },
4549      "endPosition": "1105",
4550      "kind": "EXPRESSION_STATEMENT",
4551      "startPosition": "1103"
4552    }
4553  ],
4554  "sourceName": "parsernegativetests/parenmissing.js",
4555  "strict": "false",
4556  "startPosition": "1090"
4557}
4558,
4559{
4560  "fileName": "parsernegativetests/repeatedproperty.js",
4561  "code": "ident (1111, 3)",
4562  "columnNumber": "21",
4563  "kind": "ERROR",
4564  "position": "1111",
4565  "message": "parsernegativetests/repeatedproperty.js:29:21 Property \"foo\" already defined\nvar obj = { foo: 34, get foo() { return 'hello' } };\n                     ^",
4566  "lineNumber": "29"
4567}
4568,
4569{
4570  "fileName": "parsernegativetests/repeatedproperty.js",
4571  "code": "ident (1165, 3)",
4572  "columnNumber": "22",
4573  "kind": "ERROR",
4574  "position": "1165",
4575  "message": "parsernegativetests/repeatedproperty.js:30:22 Property \"foo\" already defined\nvar obj1 = { foo: 34, set foo(x) { } };\n                      ^",
4576  "lineNumber": "30"
4577}
4578,
4579{
4580  "fileName": "parsernegativetests/repeatedproperty.js",
4581  "code": "ident (1205, 3)",
4582  "columnNumber": "22",
4583  "kind": "ERROR",
4584  "position": "1205",
4585  "message": "parsernegativetests/repeatedproperty.js:31:22 Property \"foo\" already defined\nvar obj2 = { foo: 34, set foo(x) { } };\n                      ^",
4586  "lineNumber": "31"
4587}
4588,
4589{
4590  "fileName": "parsernegativetests/repeatedproperty.js",
4591  "code": "ident (1251, 3)",
4592  "columnNumber": "28",
4593  "kind": "ERROR",
4594  "position": "1251",
4595  "message": "parsernegativetests/repeatedproperty.js:32:28 Property \"bar\" already defined\nvar obj3 = { get bar() { }, get bar() {} };\n                            ^",
4596  "lineNumber": "32"
4597}
4598,
4599{
4600  "fileName": "parsernegativetests/repeatedproperty.js",
4601  "code": "ident (1296, 3)",
4602  "columnNumber": "29",
4603  "kind": "ERROR",
4604  "position": "1296",
4605  "message": "parsernegativetests/repeatedproperty.js:33:29 Property \"bar\" already defined\nvar obj4 = { set bar(x) { }, set bar(x) {} };\n                             ^",
4606  "lineNumber": "33"
4607}
4608,
4609{
4610  "endPosition": "1090",
4611  "kind": "COMPILATION_UNIT",
4612  "sourceElements": [
4613    {
4614      "expression": {
4615        "endPosition": "1141",
4616        "kind": "ERROR",
4617        "startPosition": "1140"
4618      },
4619      "endPosition": "1141",
4620      "kind": "EXPRESSION_STATEMENT",
4621      "startPosition": "1140"
4622    },
4623    {
4624      "expression": {
4625        "endPosition": "1181",
4626        "kind": "ERROR",
4627        "startPosition": "1180"
4628      },
4629      "endPosition": "1181",
4630      "kind": "EXPRESSION_STATEMENT",
4631      "startPosition": "1180"
4632    },
4633    {
4634      "expression": {
4635        "endPosition": "1221",
4636        "kind": "ERROR",
4637        "startPosition": "1220"
4638      },
4639      "endPosition": "1221",
4640      "kind": "EXPRESSION_STATEMENT",
4641      "startPosition": "1220"
4642    },
4643    {
4644      "expression": {
4645        "endPosition": "1265",
4646        "kind": "ERROR",
4647        "startPosition": "1264"
4648      },
4649      "endPosition": "1265",
4650      "kind": "EXPRESSION_STATEMENT",
4651      "startPosition": "1264"
4652    },
4653    {
4654      "expression": {
4655        "endPosition": "1311",
4656        "kind": "ERROR",
4657        "startPosition": "1310"
4658      },
4659      "endPosition": "1311",
4660      "kind": "EXPRESSION_STATEMENT",
4661      "startPosition": "1310"
4662    }
4663  ],
4664  "sourceName": "parsernegativetests/repeatedproperty.js",
4665  "strict": "false",
4666  "startPosition": "1090"
4667}
4668,
4669{
4670  "fileName": "parsernegativetests/strict_repeatedproperty.js",
4671  "code": "ident (1126, 3)",
4672  "columnNumber": "21",
4673  "kind": "ERROR",
4674  "position": "1126",
4675  "message": "parsernegativetests/strict_repeatedproperty.js:31:21 Property \"foo\" already defined\nvar obj = { foo: 34, foo: 'hello' };\n                     ^",
4676  "lineNumber": "31"
4677}
4678,
4679{
4680  "endPosition": "1090",
4681  "kind": "COMPILATION_UNIT",
4682  "sourceElements": [
4683    {
4684      "expression": {
4685        "endPosition": "1101",
4686        "kind": "STRING_LITERAL",
4687        "value": "use strict",
4688        "startPosition": "1091"
4689      },
4690      "endPosition": "1101",
4691      "kind": "EXPRESSION_STATEMENT",
4692      "startPosition": "1091"
4693    },
4694    {
4695      "expression": {
4696        "endPosition": "1140",
4697        "kind": "ERROR",
4698        "startPosition": "1139"
4699      },
4700      "endPosition": "1140",
4701      "kind": "EXPRESSION_STATEMENT",
4702      "startPosition": "1139"
4703    }
4704  ],
4705  "sourceName": "parsernegativetests/strict_repeatedproperty.js",
4706  "strict": "true",
4707  "startPosition": "1090"
4708}
4709,
4710{
4711  "fileName": "parsernegativetests/strict_repeatparam.js",
4712  "code": "ident (1119, 1)",
4713  "columnNumber": "14",
4714  "kind": "ERROR",
4715  "position": "1119",
4716  "message": "parsernegativetests/strict_repeatparam.js:31:14 strict mode function cannot have duplicate parameter name \"x\"\nfunction func(x, x) {}\n              ^",
4717  "lineNumber": "31"
4718}
4719,
4720{
4721  "endPosition": "1090",
4722  "kind": "COMPILATION_UNIT",
4723  "sourceElements": [
4724    {
4725      "expression": {
4726        "endPosition": "1101",
4727        "kind": "STRING_LITERAL",
4728        "value": "use strict",
4729        "startPosition": "1091"
4730      },
4731      "endPosition": "1101",
4732      "kind": "EXPRESSION_STATEMENT",
4733      "startPosition": "1091"
4734    },
4735    {
4736      "expression": {
4737        "endPosition": "1127",
4738        "kind": "ERROR",
4739        "startPosition": "1128"
4740      },
4741      "endPosition": "1127",
4742      "kind": "EXPRESSION_STATEMENT",
4743      "startPosition": "1128"
4744    }
4745  ],
4746  "sourceName": "parsernegativetests/strict_repeatparam.js",
4747  "strict": "true",
4748  "startPosition": "1090"
4749}
4750,
4751{
4752  "fileName": "parsernegativetests/strict_with.js",
4753  "code": "with (1105, 4)",
4754  "columnNumber": "0",
4755  "kind": "ERROR",
4756  "position": "1105",
4757  "message": "parsernegativetests/strict_with.js:31:0 \"with\" statement cannot be used in strict mode\nwith({}) {}\n^",
4758  "lineNumber": "31"
4759}
4760,
4761{
4762  "fileName": "parsernegativetests/strict_with.js",
4763  "code": ") (1112, 1)",
4764  "columnNumber": "7",
4765  "kind": "ERROR",
4766  "position": "1112",
4767  "message": "parsernegativetests/strict_with.js:31:7 Expected ; but found )\nwith({}) {}\n       ^",
4768  "lineNumber": "31"
4769}
4770,
4771{
4772  "endPosition": "1090",
4773  "kind": "COMPILATION_UNIT",
4774  "sourceElements": [
4775    {
4776      "expression": {
4777        "endPosition": "1101",
4778        "kind": "STRING_LITERAL",
4779        "value": "use strict",
4780        "startPosition": "1091"
4781      },
4782      "endPosition": "1101",
4783      "kind": "EXPRESSION_STATEMENT",
4784      "startPosition": "1091"
4785    },
4786    {
4787      "expression": {
4788        "endPosition": "1112",
4789        "kind": "ERROR",
4790        "startPosition": "1109"
4791      },
4792      "endPosition": "1112",
4793      "kind": "EXPRESSION_STATEMENT",
4794      "startPosition": "1109"
4795    },
4796    {
4797      "expression": {
4798        "endPosition": "1116",
4799        "kind": "ERROR",
4800        "startPosition": "1112"
4801      },
4802      "endPosition": "1116",
4803      "kind": "EXPRESSION_STATEMENT",
4804      "startPosition": "1112"
4805    }
4806  ],
4807  "sourceName": "parsernegativetests/strict_with.js",
4808  "strict": "true",
4809  "startPosition": "1090"
4810}
4811,
4812{
4813  "fileName": "parsernegativetests/toplevelreturn.js",
4814  "code": "return (1090, 6)",
4815  "columnNumber": "0",
4816  "kind": "ERROR",
4817  "position": "1090",
4818  "message": "parsernegativetests/toplevelreturn.js:29:0 Invalid return statement\nreturn;\n^",
4819  "lineNumber": "29"
4820}
4821,
4822{
4823  "fileName": "parsernegativetests/toplevelreturn.js",
4824  "code": "return (1098, 6)",
4825  "columnNumber": "0",
4826  "kind": "ERROR",
4827  "position": "1098",
4828  "message": "parsernegativetests/toplevelreturn.js:30:0 Invalid return statement\nreturn 23;\n^",
4829  "lineNumber": "30"
4830}
4831,
4832{
4833  "endPosition": "1090",
4834  "kind": "COMPILATION_UNIT",
4835  "sourceElements": [
4836    {
4837      "expression": {
4838        "endPosition": "1097",
4839        "kind": "ERROR",
4840        "startPosition": "1090"
4841      },
4842      "endPosition": "1097",
4843      "kind": "EXPRESSION_STATEMENT",
4844      "startPosition": "1090"
4845    },
4846    {
4847      "expression": {
4848        "endPosition": "1108",
4849        "kind": "ERROR",
4850        "startPosition": "1098"
4851      },
4852      "endPosition": "1108",
4853      "kind": "EXPRESSION_STATEMENT",
4854      "startPosition": "1098"
4855    }
4856  ],
4857  "sourceName": "parsernegativetests/toplevelreturn.js",
4858  "strict": "false",
4859  "startPosition": "1090"
4860}
4861,
4862{
4863  "endPosition": "1136",
4864  "kind": "COMPILATION_UNIT",
4865  "sourceElements": [
4866    {
4867      "endPosition": "1240",
4868      "kind": "FUNCTION",
4869      "name": "Parser",
4870      "body": {
4871        "endPosition": "1218",
4872        "kind": "BLOCK",
4873        "statements": [
4874          {
4875            "expression": {
4876              "expression": {
4877                "endPosition": "1217",
4878                "kind": "FUNCTION_INVOCATION",
4879                "functionSelect": {
4880                  "identifier": "create",
4881                  "expression": {
4882                    "endPosition": "1208",
4883                    "kind": "IDENTIFIER",
4884                    "name": "Parser",
4885                    "startPosition": "1202"
4886                  },
4887                  "endPosition": "1215",
4888                  "kind": "MEMBER_SELECT",
4889                  "startPosition": "1202"
4890                },
4891                "arguments": [],
4892                "startPosition": "1202"
4893              },
4894              "endPosition": "1217",
4895              "kind": "ASSIGNMENT",
4896              "variable": {
4897                "identifier": "_parser",
4898                "expression": {
4899                  "endPosition": "1191",
4900                  "kind": "IDENTIFIER",
4901                  "name": "this",
4902                  "startPosition": "1187"
4903                },
4904                "endPosition": "1199",
4905                "kind": "MEMBER_SELECT",
4906                "startPosition": "1187"
4907              },
4908              "startPosition": "1187"
4909            },
4910            "endPosition": "1217",
4911            "kind": "EXPRESSION_STATEMENT",
4912            "startPosition": "1187"
4913          }
4914        ],
4915        "startPosition": "1154"
4916      },
4917      "strict": "false",
4918      "startPosition": "1136",
4919      "parameters": []
4920    },
4921    {
4922      "endPosition": "3598",
4923      "kind": "FUNCTION",
4924      "name": "processFiles",
4925      "body": {
4926        "endPosition": "3555",
4927        "kind": "BLOCK",
4928        "statements": [
4929          {
4930            "endPosition": "2938",
4931            "kind": "VARIABLE",
4932            "name": "File",
4933            "startPosition": "2906",
4934            "initializer": {
4935              "endPosition": "2938",
4936              "kind": "FUNCTION_INVOCATION",
4937              "functionSelect": {
4938                "identifier": "type",
4939                "expression": {
4940                  "endPosition": "2917",
4941                  "kind": "IDENTIFIER",
4942                  "name": "Java",
4943                  "startPosition": "2913"
4944                },
4945                "endPosition": "2922",
4946                "kind": "MEMBER_SELECT",
4947                "startPosition": "2913"
4948              },
4949              "arguments": [
4950                {
4951                  "endPosition": "2936",
4952                  "kind": "STRING_LITERAL",
4953                  "value": "java.io.File",
4954                  "startPosition": "2924"
4955                }
4956              ],
4957              "startPosition": "2913"
4958            }
4959          },
4960          {
4961            "endPosition": "2993",
4962            "kind": "VARIABLE",
4963            "name": "files",
4964            "startPosition": "2947",
4965            "initializer": {
4966              "endPosition": "2993",
4967              "kind": "FUNCTION_INVOCATION",
4968              "functionSelect": {
4969                "identifier": "listFiles",
4970                "expression": {
4971                  "constructorExpression": {
4972                    "endPosition": "2981",
4973                    "kind": "FUNCTION_INVOCATION",
4974                    "functionSelect": {
4975                      "endPosition": "2963",
4976                      "kind": "IDENTIFIER",
4977                      "name": "File",
4978                      "startPosition": "2959"
4979                    },
4980                    "arguments": [
4981                      {
4982                        "leftOperand": {
4983                          "endPosition": "2971",
4984                          "kind": "IDENTIFIER",
4985                          "name": "__DIR__",
4986                          "startPosition": "2964"
4987                        },
4988                        "endPosition": "2980",
4989                        "kind": "PLUS",
4990                        "rightOperand": {
4991                          "endPosition": "2980",
4992                          "kind": "IDENTIFIER",
4993                          "name": "subdir",
4994                          "startPosition": "2974"
4995                        },
4996                        "startPosition": "2964"
4997                      }
4998                    ],
4999                    "startPosition": "2959"
5000                  },
5001                  "endPosition": "2981",
5002                  "kind": "NEW",
5003                  "startPosition": "2955"
5004                },
5005                "endPosition": "2991",
5006                "kind": "MEMBER_SELECT",
5007                "startPosition": "2955"
5008              },
5009              "arguments": [],
5010              "startPosition": "2955"
5011            }
5012          },
5013          {
5014            "expression": {
5015              "endPosition": "3026",
5016              "kind": "FUNCTION_INVOCATION",
5017              "functionSelect": {
5018                "identifier": "sort",
5019                "expression": {
5020                  "identifier": "Arrays",
5021                  "expression": {
5022                    "identifier": "util",
5023                    "expression": {
5024                      "endPosition": "3002",
5025                      "kind": "IDENTIFIER",
5026                      "name": "java",
5027                      "startPosition": "2998"
5028                    },
5029                    "endPosition": "3007",
5030                    "kind": "MEMBER_SELECT",
5031                    "startPosition": "2998"
5032                  },
5033                  "endPosition": "3014",
5034                  "kind": "MEMBER_SELECT",
5035                  "startPosition": "2998"
5036                },
5037                "endPosition": "3019",
5038                "kind": "MEMBER_SELECT",
5039                "startPosition": "2998"
5040              },
5041              "arguments": [
5042                {
5043                  "endPosition": "3025",
5044                  "kind": "IDENTIFIER",
5045                  "name": "files",
5046                  "startPosition": "3020"
5047                }
5048              ],
5049              "startPosition": "2998"
5050            },
5051            "endPosition": "3026",
5052            "kind": "EXPRESSION_STATEMENT",
5053            "startPosition": "2998"
5054          },
5055          {
5056            "endPosition": "3049",
5057            "kind": "VARIABLE",
5058            "name": "file",
5059            "startPosition": "3045"
5060          },
5061          {
5062            "expression": {
5063              "endPosition": "3058",
5064              "kind": "IDENTIFIER",
5065              "name": "files",
5066              "startPosition": "3053"
5067            },
5068            "endPosition": "3555",
5069            "kind": "FOR_IN_LOOP",
5070            "forEach": "true",
5071            "variable": {
5072              "endPosition": "3049",
5073              "kind": "IDENTIFIER",
5074              "name": "file",
5075              "startPosition": "3045"
5076            },
5077            "statement": {
5078              "endPosition": "3555",
5079              "kind": "BLOCK",
5080              "statements": [
5081                {
5082                  "condition": {
5083                    "endPosition": "3098",
5084                    "kind": "FUNCTION_INVOCATION",
5085                    "functionSelect": {
5086                      "identifier": "endsWith",
5087                      "expression": {
5088                        "identifier": "name",
5089                        "expression": {
5090                          "endPosition": "3077",
5091                          "kind": "IDENTIFIER",
5092                          "name": "file",
5093                          "startPosition": "3073"
5094                        },
5095                        "endPosition": "3082",
5096                        "kind": "MEMBER_SELECT",
5097                        "startPosition": "3073"
5098                      },
5099                      "endPosition": "3091",
5100                      "kind": "MEMBER_SELECT",
5101                      "startPosition": "3073"
5102                    },
5103                    "arguments": [
5104                      {
5105                        "endPosition": "3096",
5106                        "kind": "STRING_LITERAL",
5107                        "value": ".js",
5108                        "startPosition": "3093"
5109                      }
5110                    ],
5111                    "startPosition": "3073"
5112                  },
5113                  "endPosition": "3550",
5114                  "kind": "IF",
5115                  "startPosition": "3069",
5116                  "thenStatement": {
5117                    "endPosition": "3550",
5118                    "kind": "BLOCK",
5119                    "statements": [
5120                      {
5121                        "endPosition": "3141",
5122                        "kind": "VARIABLE",
5123                        "name": "script",
5124                        "startPosition": "3117",
5125                        "initializer": {
5126                          "endPosition": "3141",
5127                          "kind": "FUNCTION_INVOCATION",
5128                          "functionSelect": {
5129                            "endPosition": "3135",
5130                            "kind": "IDENTIFIER",
5131                            "name": "readFully",
5132                            "startPosition": "3126"
5133                          },
5134                          "arguments": [
5135                            {
5136                              "endPosition": "3140",
5137                              "kind": "IDENTIFIER",
5138                              "name": "file",
5139                              "startPosition": "3136"
5140                            }
5141                          ],
5142                          "startPosition": "3126"
5143                        }
5144                      },
5145                      {
5146                        "endPosition": "3179",
5147                        "kind": "VARIABLE",
5148                        "name": "parser",
5149                        "startPosition": "3158",
5150                        "initializer": {
5151                          "constructorExpression": {
5152                            "endPosition": "3179",
5153                            "kind": "FUNCTION_INVOCATION",
5154                            "functionSelect": {
5155                              "endPosition": "3177",
5156                              "kind": "IDENTIFIER",
5157                              "name": "Parser",
5158                              "startPosition": "3171"
5159                            },
5160                            "arguments": [],
5161                            "startPosition": "3171"
5162                          },
5163                          "endPosition": "3179",
5164                          "kind": "NEW",
5165                          "startPosition": "3167"
5166                        }
5167                      },
5168                      {
5169                        "endPosition": "3415",
5170                        "kind": "VARIABLE",
5171                        "name": "tree",
5172                        "startPosition": "3196",
5173                        "initializer": {
5174                          "endPosition": "3415",
5175                          "kind": "FUNCTION_INVOCATION",
5176                          "functionSelect": {
5177                            "identifier": "parse",
5178                            "expression": {
5179                              "endPosition": "3209",
5180                              "kind": "IDENTIFIER",
5181                              "name": "parser",
5182                              "startPosition": "3203"
5183                            },
5184                            "endPosition": "3215",
5185                            "kind": "MEMBER_SELECT",
5186                            "startPosition": "3203"
5187                          },
5188                          "arguments": [
5189                            {
5190                              "leftOperand": {
5191                                "leftOperand": {
5192                                  "endPosition": "3222",
5193                                  "kind": "IDENTIFIER",
5194                                  "name": "subdir",
5195                                  "startPosition": "3216"
5196                                },
5197                                "endPosition": "3227",
5198                                "kind": "PLUS",
5199                                "rightOperand": {
5200                                  "endPosition": "3227",
5201                                  "kind": "STRING_LITERAL",
5202                                  "value": "/",
5203                                  "startPosition": "3226"
5204                                },
5205                                "startPosition": "3216"
5206                              },
5207                              "endPosition": "3240",
5208                              "kind": "PLUS",
5209                              "rightOperand": {
5210                                "identifier": "name",
5211                                "expression": {
5212                                  "endPosition": "3235",
5213                                  "kind": "IDENTIFIER",
5214                                  "name": "file",
5215                                  "startPosition": "3231"
5216                                },
5217                                "endPosition": "3240",
5218                                "kind": "MEMBER_SELECT",
5219                                "startPosition": "3231"
5220                              },
5221                              "startPosition": "3216"
5222                            },
5223                            {
5224                              "endPosition": "3248",
5225                              "kind": "IDENTIFIER",
5226                              "name": "script",
5227                              "startPosition": "3242"
5228                            },
5229                            {
5230                              "endPosition": "3286",
5231                              "kind": "FUNCTION_EXPRESSION",
5232                              "body": {
5233                                "endPosition": "3397",
5234                                "kind": "BLOCK",
5235                                "statements": [
5236                                  {
5237                                    "expression": {
5238                                      "endPosition": "3365",
5239                                      "kind": "FUNCTION_INVOCATION",
5240                                      "functionSelect": {
5241                                        "endPosition": "3312",
5242                                        "kind": "IDENTIFIER",
5243                                        "name": "print",
5244                                        "startPosition": "3307"
5245                                      },
5246                                      "arguments": [
5247                                        {
5248                                          "endPosition": "3364",
5249                                          "kind": "FUNCTION_INVOCATION",
5250                                          "functionSelect": {
5251                                            "identifier": "stringify",
5252                                            "expression": {
5253                                              "endPosition": "3317",
5254                                              "kind": "IDENTIFIER",
5255                                              "name": "JSON",
5256                                              "startPosition": "3313"
5257                                            },
5258                                            "endPosition": "3327",
5259                                            "kind": "MEMBER_SELECT",
5260                                            "startPosition": "3313"
5261                                          },
5262                                          "arguments": [
5263                                            {
5264                                              "endPosition": "3354",
5265                                              "kind": "FUNCTION_INVOCATION",
5266                                              "functionSelect": {
5267                                                "identifier": "convert",
5268                                                "expression": {
5269                                                  "endPosition": "3334",
5270                                                  "kind": "IDENTIFIER",
5271                                                  "name": "parser",
5272                                                  "startPosition": "3328"
5273                                                },
5274                                                "endPosition": "3342",
5275                                                "kind": "MEMBER_SELECT",
5276                                                "startPosition": "3328"
5277                                              },
5278                                              "arguments": [
5279                                                {
5280                                                  "endPosition": "3353",
5281                                                  "kind": "IDENTIFIER",
5282                                                  "name": "diagnostic",
5283                                                  "startPosition": "3343"
5284                                                }
5285                                              ],
5286                                              "startPosition": "3328"
5287                                            },
5288                                            {
5289                                              "endPosition": "3360",
5290                                              "kind": "NULL_LITERAL",
5291                                              "startPosition": "3356"
5292                                            },
5293                                            {
5294                                              "endPosition": "3363",
5295                                              "kind": "NUMBER_LITERAL",
5296                                              "value": "2",
5297                                              "startPosition": "3362"
5298                                            }
5299                                          ],
5300                                          "startPosition": "3313"
5301                                        }
5302                                      ],
5303                                      "startPosition": "3307"
5304                                    },
5305                                    "endPosition": "3365",
5306                                    "kind": "EXPRESSION_STATEMENT",
5307                                    "startPosition": "3307"
5308                                  },
5309                                  {
5310                                    "expression": {
5311                                      "endPosition": "3396",
5312                                      "kind": "FUNCTION_INVOCATION",
5313                                      "functionSelect": {
5314                                        "endPosition": "3391",
5315                                        "kind": "IDENTIFIER",
5316                                        "name": "print",
5317                                        "startPosition": "3386"
5318                                      },
5319                                      "arguments": [
5320                                        {
5321                                          "endPosition": "3394",
5322                                          "kind": "STRING_LITERAL",
5323                                          "value": ",",
5324                                          "startPosition": "3393"
5325                                        }
5326                                      ],
5327                                      "startPosition": "3386"
5328                                    },
5329                                    "endPosition": "3396",
5330                                    "kind": "EXPRESSION_STATEMENT",
5331                                    "startPosition": "3386"
5332                                  }
5333                                ],
5334                                "startPosition": "3286"
5335                              },
5336                              "strict": "false",
5337                              "startPosition": "3286",
5338                              "parameters": [
5339                                {
5340                                  "endPosition": "3284",
5341                                  "kind": "IDENTIFIER",
5342                                  "name": "diagnostic",
5343                                  "startPosition": "3274"
5344                                }
5345                              ]
5346                            }
5347                          ],
5348                          "startPosition": "3203"
5349                        }
5350                      },
5351                      {
5352                        "condition": {
5353                          "leftOperand": {
5354                            "endPosition": "3437",
5355                            "kind": "IDENTIFIER",
5356                            "name": "tree",
5357                            "startPosition": "3433"
5358                          },
5359                          "endPosition": "3445",
5360                          "kind": "NOT_EQUAL_TO",
5361                          "rightOperand": {
5362                            "endPosition": "3445",
5363                            "kind": "NULL_LITERAL",
5364                            "startPosition": "3441"
5365                          },
5366                          "startPosition": "3433"
5367                        },
5368                        "endPosition": "3541",
5369                        "kind": "IF",
5370                        "startPosition": "3429",
5371                        "thenStatement": {
5372                          "endPosition": "3541",
5373                          "kind": "BLOCK",
5374                          "statements": [
5375                            {
5376                              "expression": {
5377                                "endPosition": "3500",
5378                                "kind": "FUNCTION_INVOCATION",
5379                                "functionSelect": {
5380                                  "endPosition": "3469",
5381                                  "kind": "IDENTIFIER",
5382                                  "name": "print",
5383                                  "startPosition": "3464"
5384                                },
5385                                "arguments": [
5386                                  {
5387                                    "endPosition": "3499",
5388                                    "kind": "FUNCTION_INVOCATION",
5389                                    "functionSelect": {
5390                                      "identifier": "stringify",
5391                                      "expression": {
5392                                        "endPosition": "3474",
5393                                        "kind": "IDENTIFIER",
5394                                        "name": "JSON",
5395                                        "startPosition": "3470"
5396                                      },
5397                                      "endPosition": "3484",
5398                                      "kind": "MEMBER_SELECT",
5399                                      "startPosition": "3470"
5400                                    },
5401                                    "arguments": [
5402                                      {
5403                                        "endPosition": "3489",
5404                                        "kind": "IDENTIFIER",
5405                                        "name": "tree",
5406                                        "startPosition": "3485"
5407                                      },
5408                                      {
5409                                        "endPosition": "3495",
5410                                        "kind": "NULL_LITERAL",
5411                                        "startPosition": "3491"
5412                                      },
5413                                      {
5414                                        "endPosition": "3498",
5415                                        "kind": "NUMBER_LITERAL",
5416                                        "value": "2",
5417                                        "startPosition": "3497"
5418                                      }
5419                                    ],
5420                                    "startPosition": "3470"
5421                                  }
5422                                ],
5423                                "startPosition": "3464"
5424                              },
5425                              "endPosition": "3500",
5426                              "kind": "EXPRESSION_STATEMENT",
5427                              "startPosition": "3464"
5428                            },
5429                            {
5430                              "expression": {
5431                                "endPosition": "3527",
5432                                "kind": "FUNCTION_INVOCATION",
5433                                "functionSelect": {
5434                                  "endPosition": "3522",
5435                                  "kind": "IDENTIFIER",
5436                                  "name": "print",
5437                                  "startPosition": "3517"
5438                                },
5439                                "arguments": [
5440                                  {
5441                                    "endPosition": "3525",
5442                                    "kind": "STRING_LITERAL",
5443                                    "value": ",",
5444                                    "startPosition": "3524"
5445                                  }
5446                                ],
5447                                "startPosition": "3517"
5448                              },
5449                              "endPosition": "3527",
5450                              "kind": "EXPRESSION_STATEMENT",
5451                              "startPosition": "3517"
5452                            }
5453                          ],
5454                          "startPosition": "3447"
5455                        }
5456                      }
5457                    ],
5458                    "startPosition": "3100"
5459                  }
5460                }
5461              ],
5462              "startPosition": "3060"
5463            },
5464            "startPosition": "3031"
5465          }
5466        ],
5467        "startPosition": "2897"
5468      },
5469      "strict": "false",
5470      "startPosition": "2867",
5471      "parameters": [
5472        {
5473          "endPosition": "2895",
5474          "kind": "IDENTIFIER",
5475          "name": "subdir",
5476          "startPosition": "2889"
5477        }
5478      ]
5479    },
5480    {
5481      "endPosition": "3901",
5482      "kind": "FUNCTION",
5483      "name": "main",
5484      "body": {
5485        "endPosition": "3899",
5486        "kind": "BLOCK",
5487        "statements": [
5488          {
5489            "expression": {
5490              "endPosition": "3631",
5491              "kind": "FUNCTION_INVOCATION",
5492              "functionSelect": {
5493                "endPosition": "3626",
5494                "kind": "IDENTIFIER",
5495                "name": "print",
5496                "startPosition": "3621"
5497              },
5498              "arguments": [
5499                {
5500                  "endPosition": "3629",
5501                  "kind": "STRING_LITERAL",
5502                  "value": "[",
5503                  "startPosition": "3628"
5504                }
5505              ],
5506              "startPosition": "3621"
5507            },
5508            "endPosition": "3631",
5509            "kind": "EXPRESSION_STATEMENT",
5510            "startPosition": "3621"
5511          },
5512          {
5513            "expression": {
5514              "endPosition": "3665",
5515              "kind": "FUNCTION_INVOCATION",
5516              "functionSelect": {
5517                "endPosition": "3650",
5518                "kind": "IDENTIFIER",
5519                "name": "processFiles",
5520                "startPosition": "3638"
5521              },
5522              "arguments": [
5523                {
5524                  "endPosition": "3663",
5525                  "kind": "STRING_LITERAL",
5526                  "value": "parsertests",
5527                  "startPosition": "3652"
5528                }
5529              ],
5530              "startPosition": "3638"
5531            },
5532            "endPosition": "3665",
5533            "kind": "EXPRESSION_STATEMENT",
5534            "startPosition": "3638"
5535          },
5536          {
5537            "expression": {
5538              "endPosition": "3706",
5539              "kind": "FUNCTION_INVOCATION",
5540              "functionSelect": {
5541                "endPosition": "3683",
5542                "kind": "IDENTIFIER",
5543                "name": "processFiles",
5544                "startPosition": "3671"
5545              },
5546              "arguments": [
5547                {
5548                  "endPosition": "3704",
5549                  "kind": "STRING_LITERAL",
5550                  "value": "parsernegativetests",
5551                  "startPosition": "3685"
5552                }
5553              ],
5554              "startPosition": "3671"
5555            },
5556            "endPosition": "3706",
5557            "kind": "EXPRESSION_STATEMENT",
5558            "startPosition": "3671"
5559          },
5560          {
5561            "endPosition": "3775",
5562            "kind": "VARIABLE",
5563            "name": "script",
5564            "startPosition": "3747",
5565            "initializer": {
5566              "endPosition": "3775",
5567              "kind": "FUNCTION_INVOCATION",
5568              "functionSelect": {
5569                "endPosition": "3765",
5570                "kind": "IDENTIFIER",
5571                "name": "readFully",
5572                "startPosition": "3756"
5573              },
5574              "arguments": [
5575                {
5576                  "endPosition": "3774",
5577                  "kind": "IDENTIFIER",
5578                  "name": "__FILE__",
5579                  "startPosition": "3766"
5580                }
5581              ],
5582              "startPosition": "3756"
5583            }
5584          },
5585          {
5586            "endPosition": "3840",
5587            "kind": "VARIABLE",
5588            "name": "tree",
5589            "startPosition": "3785",
5590            "initializer": {
5591              "endPosition": "3840",
5592              "kind": "FUNCTION_INVOCATION",
5593              "functionSelect": {
5594                "identifier": "parse",
5595                "expression": {
5596                  "constructorExpression": {
5597                    "endPosition": "3804",
5598                    "kind": "FUNCTION_INVOCATION",
5599                    "functionSelect": {
5600                      "endPosition": "3802",
5601                      "kind": "IDENTIFIER",
5602                      "name": "Parser",
5603                      "startPosition": "3796"
5604                    },
5605                    "arguments": [],
5606                    "startPosition": "3796"
5607                  },
5608                  "endPosition": "3804",
5609                  "kind": "NEW",
5610                  "startPosition": "3792"
5611                },
5612                "endPosition": "3810",
5613                "kind": "MEMBER_SELECT",
5614                "startPosition": "3792"
5615              },
5616              "arguments": [
5617                {
5618                  "endPosition": "3824",
5619                  "kind": "STRING_LITERAL",
5620                  "value": "parserapi.js",
5621                  "startPosition": "3812"
5622                },
5623                {
5624                  "endPosition": "3833",
5625                  "kind": "IDENTIFIER",
5626                  "name": "script",
5627                  "startPosition": "3827"
5628                },
5629                {
5630                  "endPosition": "3839",
5631                  "kind": "NULL_LITERAL",
5632                  "startPosition": "3835"
5633                }
5634              ],
5635              "startPosition": "3792"
5636            }
5637          },
5638          {
5639            "expression": {
5640              "endPosition": "3882",
5641              "kind": "FUNCTION_INVOCATION",
5642              "functionSelect": {
5643                "endPosition": "3851",
5644                "kind": "IDENTIFIER",
5645                "name": "print",
5646                "startPosition": "3846"
5647              },
5648              "arguments": [
5649                {
5650                  "endPosition": "3881",
5651                  "kind": "FUNCTION_INVOCATION",
5652                  "functionSelect": {
5653                    "identifier": "stringify",
5654                    "expression": {
5655                      "endPosition": "3856",
5656                      "kind": "IDENTIFIER",
5657                      "name": "JSON",
5658                      "startPosition": "3852"
5659                    },
5660                    "endPosition": "3866",
5661                    "kind": "MEMBER_SELECT",
5662                    "startPosition": "3852"
5663                  },
5664                  "arguments": [
5665                    {
5666                      "endPosition": "3871",
5667                      "kind": "IDENTIFIER",
5668                      "name": "tree",
5669                      "startPosition": "3867"
5670                    },
5671                    {
5672                      "endPosition": "3877",
5673                      "kind": "NULL_LITERAL",
5674                      "startPosition": "3873"
5675                    },
5676                    {
5677                      "endPosition": "3880",
5678                      "kind": "NUMBER_LITERAL",
5679                      "value": "2",
5680                      "startPosition": "3879"
5681                    }
5682                  ],
5683                  "startPosition": "3852"
5684                }
5685              ],
5686              "startPosition": "3846"
5687            },
5688            "endPosition": "3882",
5689            "kind": "EXPRESSION_STATEMENT",
5690            "startPosition": "3846"
5691          },
5692          {
5693            "expression": {
5694              "endPosition": "3898",
5695              "kind": "FUNCTION_INVOCATION",
5696              "functionSelect": {
5697                "endPosition": "3893",
5698                "kind": "IDENTIFIER",
5699                "name": "print",
5700                "startPosition": "3888"
5701              },
5702              "arguments": [
5703                {
5704                  "endPosition": "3896",
5705                  "kind": "STRING_LITERAL",
5706                  "value": "]",
5707                  "startPosition": "3895"
5708                }
5709              ],
5710              "startPosition": "3888"
5711            },
5712            "endPosition": "3898",
5713            "kind": "EXPRESSION_STATEMENT",
5714            "startPosition": "3888"
5715          }
5716        ],
5717        "startPosition": "3615"
5718      },
5719      "strict": "false",
5720      "startPosition": "3599",
5721      "parameters": []
5722    },
5723    {
5724      "expression": {
5725        "expression": {
5726          "endPosition": "1305",
5727          "kind": "FUNCTION_INVOCATION",
5728          "functionSelect": {
5729            "identifier": "type",
5730            "expression": {
5731              "endPosition": "1265",
5732              "kind": "IDENTIFIER",
5733              "name": "Java",
5734              "startPosition": "1261"
5735            },
5736            "endPosition": "1270",
5737            "kind": "MEMBER_SELECT",
5738            "startPosition": "1261"
5739          },
5740          "arguments": [
5741            {
5742              "endPosition": "1303",
5743              "kind": "STRING_LITERAL",
5744              "value": "jdk.nashorn.api.tree.Diagnostic",
5745              "startPosition": "1272"
5746            }
5747          ],
5748          "startPosition": "1261"
5749        },
5750        "endPosition": "1305",
5751        "kind": "ASSIGNMENT",
5752        "variable": {
5753          "identifier": "Diagnostic",
5754          "expression": {
5755            "endPosition": "1247",
5756            "kind": "IDENTIFIER",
5757            "name": "Parser",
5758            "startPosition": "1241"
5759          },
5760          "endPosition": "1258",
5761          "kind": "MEMBER_SELECT",
5762          "startPosition": "1241"
5763        },
5764        "startPosition": "1241"
5765      },
5766      "endPosition": "1305",
5767      "kind": "EXPRESSION_STATEMENT",
5768      "startPosition": "1241"
5769    },
5770    {
5771      "expression": {
5772        "expression": {
5773          "endPosition": "1390",
5774          "kind": "FUNCTION_INVOCATION",
5775          "functionSelect": {
5776            "identifier": "type",
5777            "expression": {
5778              "endPosition": "1338",
5779              "kind": "IDENTIFIER",
5780              "name": "Java",
5781              "startPosition": "1334"
5782            },
5783            "endPosition": "1343",
5784            "kind": "MEMBER_SELECT",
5785            "startPosition": "1334"
5786          },
5787          "arguments": [
5788            {
5789              "endPosition": "1388",
5790              "kind": "STRING_LITERAL",
5791              "value": "jdk.nashorn.api.tree.SimpleTreeVisitorES5_1",
5792              "startPosition": "1345"
5793            }
5794          ],
5795          "startPosition": "1334"
5796        },
5797        "endPosition": "1390",
5798        "kind": "ASSIGNMENT",
5799        "variable": {
5800          "identifier": "SimpleTreeVisitor",
5801          "expression": {
5802            "endPosition": "1313",
5803            "kind": "IDENTIFIER",
5804            "name": "Parser",
5805            "startPosition": "1307"
5806          },
5807          "endPosition": "1331",
5808          "kind": "MEMBER_SELECT",
5809          "startPosition": "1307"
5810        },
5811        "startPosition": "1307"
5812      },
5813      "endPosition": "1390",
5814      "kind": "EXPRESSION_STATEMENT",
5815      "startPosition": "1307"
5816    },
5817    {
5818      "expression": {
5819        "expression": {
5820          "endPosition": "1444",
5821          "kind": "FUNCTION_INVOCATION",
5822          "functionSelect": {
5823            "identifier": "type",
5824            "expression": {
5825              "endPosition": "1410",
5826              "kind": "IDENTIFIER",
5827              "name": "Java",
5828              "startPosition": "1406"
5829            },
5830            "endPosition": "1415",
5831            "kind": "MEMBER_SELECT",
5832            "startPosition": "1406"
5833          },
5834          "arguments": [
5835            {
5836              "endPosition": "1442",
5837              "kind": "STRING_LITERAL",
5838              "value": "jdk.nashorn.api.tree.Tree",
5839              "startPosition": "1417"
5840            }
5841          ],
5842          "startPosition": "1406"
5843        },
5844        "endPosition": "1444",
5845        "kind": "ASSIGNMENT",
5846        "variable": {
5847          "identifier": "Tree",
5848          "expression": {
5849            "endPosition": "1398",
5850            "kind": "IDENTIFIER",
5851            "name": "Parser",
5852            "startPosition": "1392"
5853          },
5854          "endPosition": "1403",
5855          "kind": "MEMBER_SELECT",
5856          "startPosition": "1392"
5857        },
5858        "startPosition": "1392"
5859      },
5860      "endPosition": "1444",
5861      "kind": "EXPRESSION_STATEMENT",
5862      "startPosition": "1392"
5863    },
5864    {
5865      "expression": {
5866        "expression": {
5867          "endPosition": "1487",
5868          "kind": "FUNCTION_INVOCATION",
5869          "functionSelect": {
5870            "identifier": "type",
5871            "expression": {
5872              "endPosition": "1464",
5873              "kind": "IDENTIFIER",
5874              "name": "Java",
5875              "startPosition": "1460"
5876            },
5877            "endPosition": "1469",
5878            "kind": "MEMBER_SELECT",
5879            "startPosition": "1460"
5880          },
5881          "arguments": [
5882            {
5883              "endPosition": "1485",
5884              "kind": "STRING_LITERAL",
5885              "value": "java.util.List",
5886              "startPosition": "1471"
5887            }
5888          ],
5889          "startPosition": "1460"
5890        },
5891        "endPosition": "1487",
5892        "kind": "ASSIGNMENT",
5893        "variable": {
5894          "identifier": "List",
5895          "expression": {
5896            "endPosition": "1452",
5897            "kind": "IDENTIFIER",
5898            "name": "Parser",
5899            "startPosition": "1446"
5900          },
5901          "endPosition": "1457",
5902          "kind": "MEMBER_SELECT",
5903          "startPosition": "1446"
5904        },
5905        "startPosition": "1446"
5906      },
5907      "endPosition": "1487",
5908      "kind": "EXPRESSION_STATEMENT",
5909      "startPosition": "1446"
5910    },
5911    {
5912      "expression": {
5913        "expression": {
5914          "endPosition": "1530",
5915          "kind": "FUNCTION_INVOCATION",
5916          "functionSelect": {
5917            "identifier": "type",
5918            "expression": {
5919              "endPosition": "1507",
5920              "kind": "IDENTIFIER",
5921              "name": "Java",
5922              "startPosition": "1503"
5923            },
5924            "endPosition": "1512",
5925            "kind": "MEMBER_SELECT",
5926            "startPosition": "1503"
5927          },
5928          "arguments": [
5929            {
5930              "endPosition": "1528",
5931              "kind": "STRING_LITERAL",
5932              "value": "java.lang.Enum",
5933              "startPosition": "1514"
5934            }
5935          ],
5936          "startPosition": "1503"
5937        },
5938        "endPosition": "1530",
5939        "kind": "ASSIGNMENT",
5940        "variable": {
5941          "identifier": "Enum",
5942          "expression": {
5943            "endPosition": "1495",
5944            "kind": "IDENTIFIER",
5945            "name": "Parser",
5946            "startPosition": "1489"
5947          },
5948          "endPosition": "1500",
5949          "kind": "MEMBER_SELECT",
5950          "startPosition": "1489"
5951        },
5952        "startPosition": "1489"
5953      },
5954      "endPosition": "1530",
5955      "kind": "EXPRESSION_STATEMENT",
5956      "startPosition": "1489"
5957    },
5958    {
5959      "expression": {
5960        "expression": {
5961          "endPosition": "1657",
5962          "kind": "FUNCTION_EXPRESSION",
5963          "body": {
5964            "endPosition": "1803",
5965            "kind": "BLOCK",
5966            "statements": [
5967              {
5968                "endPosition": "1716",
5969                "kind": "VARIABLE",
5970                "name": "tree",
5971                "startPosition": "1667",
5972                "initializer": {
5973                  "endPosition": "1716",
5974                  "kind": "FUNCTION_INVOCATION",
5975                  "functionSelect": {
5976                    "identifier": "parse",
5977                    "expression": {
5978                      "identifier": "_parser",
5979                      "expression": {
5980                        "endPosition": "1678",
5981                        "kind": "IDENTIFIER",
5982                        "name": "this",
5983                        "startPosition": "1674"
5984                      },
5985                      "endPosition": "1686",
5986                      "kind": "MEMBER_SELECT",
5987                      "startPosition": "1674"
5988                    },
5989                    "endPosition": "1692",
5990                    "kind": "MEMBER_SELECT",
5991                    "startPosition": "1674"
5992                  },
5993                  "arguments": [
5994                    {
5995                      "endPosition": "1697",
5996                      "kind": "IDENTIFIER",
5997                      "name": "name",
5998                      "startPosition": "1693"
5999                    },
6000                    {
6001                      "endPosition": "1705",
6002                      "kind": "IDENTIFIER",
6003                      "name": "script",
6004                      "startPosition": "1699"
6005                    },
6006                    {
6007                      "endPosition": "1715",
6008                      "kind": "IDENTIFIER",
6009                      "name": "listener",
6010                      "startPosition": "1707"
6011                    }
6012                  ],
6013                  "startPosition": "1674"
6014                }
6015              },
6016              {
6017                "expression": {
6018                  "endPosition": "1771",
6019                  "kind": "FUNCTION_INVOCATION",
6020                  "functionSelect": {
6021                    "identifier": "accept",
6022                    "expression": {
6023                      "endPosition": "1726",
6024                      "kind": "IDENTIFIER",
6025                      "name": "tree",
6026                      "startPosition": "1722"
6027                    },
6028                    "endPosition": "1733",
6029                    "kind": "MEMBER_SELECT",
6030                    "startPosition": "1722"
6031                  },
6032                  "arguments": [
6033                    {
6034                      "constructorExpression": {
6035                        "endPosition": "1764",
6036                        "kind": "FUNCTION_INVOCATION",
6037                        "functionSelect": {
6038                          "identifier": "SimpleTreeVisitor",
6039                          "expression": {
6040                            "endPosition": "1744",
6041                            "kind": "IDENTIFIER",
6042                            "name": "Parser",
6043                            "startPosition": "1738"
6044                          },
6045                          "endPosition": "1762",
6046                          "kind": "MEMBER_SELECT",
6047                          "startPosition": "1738"
6048                        },
6049                        "arguments": [],
6050                        "startPosition": "1744"
6051                      },
6052                      "endPosition": "1764",
6053                      "kind": "NEW",
6054                      "startPosition": "1734"
6055                    },
6056                    {
6057                      "endPosition": "1770",
6058                      "kind": "NULL_LITERAL",
6059                      "startPosition": "1766"
6060                    }
6061                  ],
6062                  "startPosition": "1722"
6063                },
6064                "endPosition": "1771",
6065                "kind": "EXPRESSION_STATEMENT",
6066                "startPosition": "1722"
6067              },
6068              {
6069                "expression": {
6070                  "endPosition": "1802",
6071                  "kind": "FUNCTION_INVOCATION",
6072                  "functionSelect": {
6073                    "identifier": "convert",
6074                    "expression": {
6075                      "endPosition": "1788",
6076                      "kind": "IDENTIFIER",
6077                      "name": "this",
6078                      "startPosition": "1784"
6079                    },
6080                    "endPosition": "1796",
6081                    "kind": "MEMBER_SELECT",
6082                    "startPosition": "1784"
6083                  },
6084                  "arguments": [
6085                    {
6086                      "endPosition": "1801",
6087                      "kind": "IDENTIFIER",
6088                      "name": "tree",
6089                      "startPosition": "1797"
6090                    }
6091                  ],
6092                  "startPosition": "1784"
6093                },
6094                "endPosition": "1803",
6095                "kind": "RETURN",
6096                "startPosition": "1777"
6097              }
6098            ],
6099            "startPosition": "1657"
6100          },
6101          "strict": "false",
6102          "startPosition": "1657",
6103          "parameters": [
6104            {
6105              "endPosition": "1637",
6106              "kind": "IDENTIFIER",
6107              "name": "name",
6108              "startPosition": "1633"
6109            },
6110            {
6111              "endPosition": "1645",
6112              "kind": "IDENTIFIER",
6113              "name": "script",
6114              "startPosition": "1639"
6115            },
6116            {
6117              "endPosition": "1655",
6118              "kind": "IDENTIFIER",
6119              "name": "listener",
6120              "startPosition": "1647"
6121            }
6122          ]
6123        },
6124        "endPosition": "1657",
6125        "kind": "ASSIGNMENT",
6126        "variable": {
6127          "identifier": "parse",
6128          "expression": {
6129            "identifier": "prototype",
6130            "expression": {
6131              "endPosition": "1605",
6132              "kind": "IDENTIFIER",
6133              "name": "Parser",
6134              "startPosition": "1599"
6135            },
6136            "endPosition": "1615",
6137            "kind": "MEMBER_SELECT",
6138            "startPosition": "1599"
6139          },
6140          "endPosition": "1621",
6141          "kind": "MEMBER_SELECT",
6142          "startPosition": "1599"
6143        },
6144        "startPosition": "1599"
6145      },
6146      "endPosition": "1805",
6147      "kind": "EXPRESSION_STATEMENT",
6148      "startPosition": "1599"
6149    },
6150    {
6151      "expression": {
6152        "expression": {
6153          "endPosition": "1834",
6154          "kind": "FUNCTION_EXPRESSION",
6155          "body": {
6156            "endPosition": "1897",
6157            "kind": "BLOCK",
6158            "statements": [
6159              {
6160                "expression": {
6161                  "endPosition": "1896",
6162                  "kind": "FUNCTION_INVOCATION",
6163                  "functionSelect": {
6164                    "identifier": "create",
6165                    "expression": {
6166                      "endPosition": "1887",
6167                      "kind": "FUNCTION_INVOCATION",
6168                      "functionSelect": {
6169                        "identifier": "type",
6170                        "expression": {
6171                          "endPosition": "1851",
6172                          "kind": "IDENTIFIER",
6173                          "name": "Java",
6174                          "startPosition": "1847"
6175                        },
6176                        "endPosition": "1856",
6177                        "kind": "MEMBER_SELECT",
6178                        "startPosition": "1847"
6179                      },
6180                      "arguments": [
6181                        {
6182                          "endPosition": "1885",
6183                          "kind": "STRING_LITERAL",
6184                          "value": "jdk.nashorn.api.tree.Parser",
6185                          "startPosition": "1858"
6186                        }
6187                      ],
6188                      "startPosition": "1847"
6189                    },
6190                    "endPosition": "1894",
6191                    "kind": "MEMBER_SELECT",
6192                    "startPosition": "1847"
6193                  },
6194                  "arguments": [],
6195                  "startPosition": "1894"
6196                },
6197                "endPosition": "1897",
6198                "kind": "RETURN",
6199                "startPosition": "1840"
6200              }
6201            ],
6202            "startPosition": "1834"
6203          },
6204          "strict": "false",
6205          "startPosition": "1834",
6206          "parameters": []
6207        },
6208        "endPosition": "1834",
6209        "kind": "ASSIGNMENT",
6210        "variable": {
6211          "identifier": "create",
6212          "expression": {
6213            "endPosition": "1813",
6214            "kind": "IDENTIFIER",
6215            "name": "Parser",
6216            "startPosition": "1807"
6217          },
6218          "endPosition": "1820",
6219          "kind": "MEMBER_SELECT",
6220          "startPosition": "1807"
6221        },
6222        "startPosition": "1807"
6223      },
6224      "endPosition": "1971",
6225      "kind": "EXPRESSION_STATEMENT",
6226      "startPosition": "1807"
6227    },
6228    {
6229      "expression": {
6230        "expression": {
6231          "endPosition": "2014",
6232          "kind": "FUNCTION_EXPRESSION",
6233          "body": {
6234            "endPosition": "2863",
6235            "kind": "BLOCK",
6236            "statements": [
6237              {
6238                "condition": {
6239                  "leftOperand": {
6240                    "expression": {
6241                      "endPosition": "2029",
6242                      "kind": "IDENTIFIER",
6243                      "name": "tree",
6244                      "startPosition": "2025"
6245                    },
6246                    "endPosition": "2029",
6247                    "kind": "LOGICAL_COMPLEMENT",
6248                    "startPosition": "2024"
6249                  },
6250                  "endPosition": "2055",
6251                  "kind": "CONDITIONAL_OR",
6252                  "rightOperand": {
6253                    "leftOperand": {
6254                      "expression": {
6255                        "endPosition": "2044",
6256                        "kind": "IDENTIFIER",
6257                        "name": "tree",
6258                        "startPosition": "2040"
6259                      },
6260                      "endPosition": "2044",
6261                      "kind": "TYPEOF",
6262                      "startPosition": "2033"
6263                    },
6264                    "endPosition": "2055",
6265                    "kind": "NOT_EQUAL_TO",
6266                    "rightOperand": {
6267                      "endPosition": "2055",
6268                      "kind": "STRING_LITERAL",
6269                      "value": "object",
6270                      "startPosition": "2049"
6271                    },
6272                    "startPosition": "2033"
6273                  },
6274                  "startPosition": "2024"
6275                },
6276                "endPosition": "2086",
6277                "kind": "IF",
6278                "startPosition": "2020",
6279                "thenStatement": {
6280                  "endPosition": "2086",
6281                  "kind": "BLOCK",
6282                  "statements": [
6283                    {
6284                      "expression": {
6285                        "endPosition": "2079",
6286                        "kind": "IDENTIFIER",
6287                        "name": "tree",
6288                        "startPosition": "2075"
6289                      },
6290                      "endPosition": "2080",
6291                      "kind": "RETURN",
6292                      "startPosition": "2068"
6293                    }
6294                  ],
6295                  "startPosition": "2058"
6296                }
6297              },
6298              {
6299                "endPosition": "2133",
6300                "kind": "VARIABLE",
6301                "name": "obj",
6302                "startPosition": "2096",
6303                "initializer": {
6304                  "endPosition": "2133",
6305                  "kind": "FUNCTION_INVOCATION",
6306                  "functionSelect": {
6307                    "identifier": "bindProperties",
6308                    "expression": {
6309                      "endPosition": "2108",
6310                      "kind": "IDENTIFIER",
6311                      "name": "Object",
6312                      "startPosition": "2102"
6313                    },
6314                    "endPosition": "2123",
6315                    "kind": "MEMBER_SELECT",
6316                    "startPosition": "2102"
6317                  },
6318                  "arguments": [
6319                    {
6320                      "endPosition": "2126",
6321                      "kind": "OBJECT_LITERAL",
6322                      "startPosition": "2124",
6323                      "properties": []
6324                    },
6325                    {
6326                      "endPosition": "2132",
6327                      "kind": "IDENTIFIER",
6328                      "name": "tree",
6329                      "startPosition": "2128"
6330                    }
6331                  ],
6332                  "startPosition": "2102"
6333                }
6334              },
6335              {
6336                "endPosition": "2154",
6337                "kind": "VARIABLE",
6338                "name": "result",
6339                "startPosition": "2143",
6340                "initializer": {
6341                  "endPosition": "2154",
6342                  "kind": "OBJECT_LITERAL",
6343                  "startPosition": "2152",
6344                  "properties": []
6345                }
6346              },
6347              {
6348                "endPosition": "2170",
6349                "kind": "VARIABLE",
6350                "name": "i",
6351                "startPosition": "2169"
6352              },
6353              {
6354                "expression": {
6355                  "endPosition": "2177",
6356                  "kind": "IDENTIFIER",
6357                  "name": "obj",
6358                  "startPosition": "2174"
6359                },
6360                "endPosition": "2845",
6361                "kind": "FOR_IN_LOOP",
6362                "forEach": "false",
6363                "variable": {
6364                  "endPosition": "2170",
6365                  "kind": "IDENTIFIER",
6366                  "name": "i",
6367                  "startPosition": "2169"
6368                },
6369                "statement": {
6370                  "endPosition": "2845",
6371                  "kind": "BLOCK",
6372                  "statements": [
6373                    {
6374                      "endPosition": "2204",
6375                      "kind": "VARIABLE",
6376                      "name": "val",
6377                      "startPosition": "2192",
6378                      "initializer": {
6379                        "expression": {
6380                          "endPosition": "2201",
6381                          "kind": "IDENTIFIER",
6382                          "name": "obj",
6383                          "startPosition": "2198"
6384                        },
6385                        "endPosition": "2204",
6386                        "kind": "ARRAY_ACCESS",
6387                        "index": {
6388                          "endPosition": "2203",
6389                          "kind": "IDENTIFIER",
6390                          "name": "i",
6391                          "startPosition": "2202"
6392                        },
6393                        "startPosition": "2198"
6394                      }
6395                    },
6396                    {
6397                      "condition": {
6398                        "leftOperand": {
6399                          "endPosition": "2220",
6400                          "kind": "IDENTIFIER",
6401                          "name": "val",
6402                          "startPosition": "2217"
6403                        },
6404                        "expression": {
6405                          "endPosition": "2220",
6406                          "kind": "IDENTIFIER",
6407                          "name": "val",
6408                          "startPosition": "2217"
6409                        },
6410                        "endPosition": "2243",
6411                        "kind": "INSTANCE_OF",
6412                        "rightOperand": {
6413                          "identifier": "Tree",
6414                          "expression": {
6415                            "endPosition": "2238",
6416                            "kind": "IDENTIFIER",
6417                            "name": "Parser",
6418                            "startPosition": "2232"
6419                          },
6420                          "endPosition": "2243",
6421                          "kind": "MEMBER_SELECT",
6422                          "startPosition": "2232"
6423                        },
6424                        "type": {
6425                          "identifier": "Tree",
6426                          "expression": {
6427                            "endPosition": "2238",
6428                            "kind": "IDENTIFIER",
6429                            "name": "Parser",
6430                            "startPosition": "2232"
6431                          },
6432                          "endPosition": "2243",
6433                          "kind": "MEMBER_SELECT",
6434                          "startPosition": "2232"
6435                        },
6436                        "startPosition": "2217"
6437                      },
6438                      "elseStatement": {
6439                        "condition": {
6440                          "leftOperand": {
6441                            "endPosition": "2309",
6442                            "kind": "IDENTIFIER",
6443                            "name": "val",
6444                            "startPosition": "2306"
6445                          },
6446                          "expression": {
6447                            "endPosition": "2309",
6448                            "kind": "IDENTIFIER",
6449                            "name": "val",
6450                            "startPosition": "2306"
6451                          },
6452                          "endPosition": "2332",
6453                          "kind": "INSTANCE_OF",
6454                          "rightOperand": {
6455                            "identifier": "List",
6456                            "expression": {
6457                              "endPosition": "2327",
6458                              "kind": "IDENTIFIER",
6459                              "name": "Parser",
6460                              "startPosition": "2321"
6461                            },
6462                            "endPosition": "2332",
6463                            "kind": "MEMBER_SELECT",
6464                            "startPosition": "2321"
6465                          },
6466                          "type": {
6467                            "identifier": "List",
6468                            "expression": {
6469                              "endPosition": "2327",
6470                              "kind": "IDENTIFIER",
6471                              "name": "Parser",
6472                              "startPosition": "2321"
6473                            },
6474                            "endPosition": "2332",
6475                            "kind": "MEMBER_SELECT",
6476                            "startPosition": "2321"
6477                          },
6478                          "startPosition": "2306"
6479                        },
6480                        "elseStatement": {
6481                          "endPosition": "2840",
6482                          "kind": "BLOCK",
6483                          "statements": [
6484                            {
6485                              "cases": [
6486                                {
6487                                  "expression": {
6488                                    "endPosition": "2574",
6489                                    "kind": "STRING_LITERAL",
6490                                    "value": "number",
6491                                    "startPosition": "2568"
6492                                  },
6493                                  "endPosition": "2576",
6494                                  "kind": "CASE",
6495                                  "statements": [],
6496                                  "startPosition": "2562"
6497                                },
6498                                {
6499                                  "expression": {
6500                                    "endPosition": "2603",
6501                                    "kind": "STRING_LITERAL",
6502                                    "value": "string",
6503                                    "startPosition": "2597"
6504                                  },
6505                                  "endPosition": "2605",
6506                                  "kind": "CASE",
6507                                  "statements": [],
6508                                  "startPosition": "2591"
6509                                },
6510                                {
6511                                  "expression": {
6512                                    "endPosition": "2633",
6513                                    "kind": "STRING_LITERAL",
6514                                    "value": "boolean",
6515                                    "startPosition": "2626"
6516                                  },
6517                                  "endPosition": "2678",
6518                                  "kind": "CASE",
6519                                  "statements": [
6520                                    {
6521                                      "expression": {
6522                                        "expression": {
6523                                          "endPosition": "2677",
6524                                          "kind": "FUNCTION_INVOCATION",
6525                                          "functionSelect": {
6526                                            "endPosition": "2672",
6527                                            "kind": "IDENTIFIER",
6528                                            "name": "String",
6529                                            "startPosition": "2666"
6530                                          },
6531                                          "arguments": [
6532                                            {
6533                                              "endPosition": "2676",
6534                                              "kind": "IDENTIFIER",
6535                                              "name": "val",
6536                                              "startPosition": "2673"
6537                                            }
6538                                          ],
6539                                          "startPosition": "2666"
6540                                        },
6541                                        "endPosition": "2677",
6542                                        "kind": "ASSIGNMENT",
6543                                        "variable": {
6544                                          "expression": {
6545                                            "endPosition": "2660",
6546                                            "kind": "IDENTIFIER",
6547                                            "name": "result",
6548                                            "startPosition": "2654"
6549                                          },
6550                                          "endPosition": "2663",
6551                                          "kind": "ARRAY_ACCESS",
6552                                          "index": {
6553                                            "endPosition": "2662",
6554                                            "kind": "IDENTIFIER",
6555                                            "name": "i",
6556                                            "startPosition": "2661"
6557                                          },
6558                                          "startPosition": "2654"
6559                                        },
6560                                        "startPosition": "2654"
6561                                      },
6562                                      "endPosition": "2677",
6563                                      "kind": "EXPRESSION_STATEMENT",
6564                                      "startPosition": "2654"
6565                                    }
6566                                  ],
6567                                  "startPosition": "2620"
6568                                },
6569                                {
6570                                  "endPosition": "2820",
6571                                  "kind": "CASE",
6572                                  "statements": [
6573                                    {
6574                                      "condition": {
6575                                        "leftOperand": {
6576                                          "endPosition": "2727",
6577                                          "kind": "IDENTIFIER",
6578                                          "name": "val",
6579                                          "startPosition": "2724"
6580                                        },
6581                                        "expression": {
6582                                          "endPosition": "2727",
6583                                          "kind": "IDENTIFIER",
6584                                          "name": "val",
6585                                          "startPosition": "2724"
6586                                        },
6587                                        "endPosition": "2750",
6588                                        "kind": "INSTANCE_OF",
6589                                        "rightOperand": {
6590                                          "identifier": "Enum",
6591                                          "expression": {
6592                                            "endPosition": "2745",
6593                                            "kind": "IDENTIFIER",
6594                                            "name": "Parser",
6595                                            "startPosition": "2739"
6596                                          },
6597                                          "endPosition": "2750",
6598                                          "kind": "MEMBER_SELECT",
6599                                          "startPosition": "2739"
6600                                        },
6601                                        "type": {
6602                                          "identifier": "Enum",
6603                                          "expression": {
6604                                            "endPosition": "2745",
6605                                            "kind": "IDENTIFIER",
6606                                            "name": "Parser",
6607                                            "startPosition": "2739"
6608                                          },
6609                                          "endPosition": "2750",
6610                                          "kind": "MEMBER_SELECT",
6611                                          "startPosition": "2739"
6612                                        },
6613                                        "startPosition": "2724"
6614                                      },
6615                                      "endPosition": "2820",
6616                                      "kind": "IF",
6617                                      "startPosition": "2720",
6618                                      "thenStatement": {
6619                                        "endPosition": "2820",
6620                                        "kind": "BLOCK",
6621                                        "statements": [
6622                                          {
6623                                            "expression": {
6624                                              "expression": {
6625                                                "endPosition": "2799",
6626                                                "kind": "FUNCTION_INVOCATION",
6627                                                "functionSelect": {
6628                                                  "endPosition": "2794",
6629                                                  "kind": "IDENTIFIER",
6630                                                  "name": "String",
6631                                                  "startPosition": "2788"
6632                                                },
6633                                                "arguments": [
6634                                                  {
6635                                                    "endPosition": "2798",
6636                                                    "kind": "IDENTIFIER",
6637                                                    "name": "val",
6638                                                    "startPosition": "2795"
6639                                                  }
6640                                                ],
6641                                                "startPosition": "2788"
6642                                              },
6643                                              "endPosition": "2799",
6644                                              "kind": "ASSIGNMENT",
6645                                              "variable": {
6646                                                "expression": {
6647                                                  "endPosition": "2782",
6648                                                  "kind": "IDENTIFIER",
6649                                                  "name": "result",
6650                                                  "startPosition": "2776"
6651                                                },
6652                                                "endPosition": "2785",
6653                                                "kind": "ARRAY_ACCESS",
6654                                                "index": {
6655                                                  "endPosition": "2784",
6656                                                  "kind": "IDENTIFIER",
6657                                                  "name": "i",
6658                                                  "startPosition": "2783"
6659                                                },
6660                                                "startPosition": "2776"
6661                                              },
6662                                              "startPosition": "2776"
6663                                            },
6664                                            "endPosition": "2799",
6665                                            "kind": "EXPRESSION_STATEMENT",
6666                                            "startPosition": "2776"
6667                                          }
6668                                        ],
6669                                        "startPosition": "2752"
6670                                      }
6671                                    }
6672                                  ],
6673                                  "startPosition": "2693"
6674                                }
6675                              ],
6676                              "expression": {
6677                                "expression": {
6678                                  "endPosition": "2544",
6679                                  "kind": "IDENTIFIER",
6680                                  "name": "val",
6681                                  "startPosition": "2541"
6682                                },
6683                                "endPosition": "2544",
6684                                "kind": "TYPEOF",
6685                                "startPosition": "2534"
6686                              },
6687                              "endPosition": "2832",
6688                              "kind": "SWITCH",
6689                              "startPosition": "2526"
6690                            }
6691                          ],
6692                          "startPosition": "2514"
6693                        },
6694                        "endPosition": "2840",
6695                        "kind": "IF",
6696                        "startPosition": "2302",
6697                        "thenStatement": {
6698                          "endPosition": "2508",
6699                          "kind": "BLOCK",
6700                          "statements": [
6701                            {
6702                              "endPosition": "2377",
6703                              "kind": "VARIABLE",
6704                              "name": "arr",
6705                              "startPosition": "2350",
6706                              "initializer": {
6707                                "constructorExpression": {
6708                                  "endPosition": "2377",
6709                                  "kind": "FUNCTION_INVOCATION",
6710                                  "functionSelect": {
6711                                    "endPosition": "2365",
6712                                    "kind": "IDENTIFIER",
6713                                    "name": "Array",
6714                                    "startPosition": "2360"
6715                                  },
6716                                  "arguments": [
6717                                    {
6718                                      "endPosition": "2376",
6719                                      "kind": "FUNCTION_INVOCATION",
6720                                      "functionSelect": {
6721                                        "identifier": "size",
6722                                        "expression": {
6723                                          "endPosition": "2369",
6724                                          "kind": "IDENTIFIER",
6725                                          "name": "val",
6726                                          "startPosition": "2366"
6727                                        },
6728                                        "endPosition": "2374",
6729                                        "kind": "MEMBER_SELECT",
6730                                        "startPosition": "2366"
6731                                      },
6732                                      "arguments": [],
6733                                      "startPosition": "2366"
6734                                    }
6735                                  ],
6736                                  "startPosition": "2360"
6737                                },
6738                                "endPosition": "2377",
6739                                "kind": "NEW",
6740                                "startPosition": "2356"
6741                              }
6742                            },
6743                            {
6744                              "endPosition": "2399",
6745                              "kind": "VARIABLE",
6746                              "name": "j",
6747                              "startPosition": "2398"
6748                            },
6749                            {
6750                              "expression": {
6751                                "endPosition": "2406",
6752                                "kind": "IDENTIFIER",
6753                                "name": "val",
6754                                "startPosition": "2403"
6755                              },
6756                              "endPosition": "2466",
6757                              "kind": "FOR_IN_LOOP",
6758                              "forEach": "false",
6759                              "variable": {
6760                                "endPosition": "2399",
6761                                "kind": "IDENTIFIER",
6762                                "name": "j",
6763                                "startPosition": "2398"
6764                              },
6765                              "statement": {
6766                                "endPosition": "2466",
6767                                "kind": "BLOCK",
6768                                "statements": [
6769                                  {
6770                                    "expression": {
6771                                      "expression": {
6772                                        "endPosition": "2453",
6773                                        "kind": "FUNCTION_INVOCATION",
6774                                        "functionSelect": {
6775                                          "identifier": "convert",
6776                                          "expression": {
6777                                            "endPosition": "2437",
6778                                            "kind": "IDENTIFIER",
6779                                            "name": "this",
6780                                            "startPosition": "2433"
6781                                          },
6782                                          "endPosition": "2445",
6783                                          "kind": "MEMBER_SELECT",
6784                                          "startPosition": "2433"
6785                                        },
6786                                        "arguments": [
6787                                          {
6788                                            "expression": {
6789                                              "endPosition": "2449",
6790                                              "kind": "IDENTIFIER",
6791                                              "name": "val",
6792                                              "startPosition": "2446"
6793                                            },
6794                                            "endPosition": "2452",
6795                                            "kind": "ARRAY_ACCESS",
6796                                            "index": {
6797                                              "endPosition": "2451",
6798                                              "kind": "IDENTIFIER",
6799                                              "name": "j",
6800                                              "startPosition": "2450"
6801                                            },
6802                                            "startPosition": "2446"
6803                                          }
6804                                        ],
6805                                        "startPosition": "2433"
6806                                      },
6807                                      "endPosition": "2453",
6808                                      "kind": "ASSIGNMENT",
6809                                      "variable": {
6810                                        "expression": {
6811                                          "endPosition": "2427",
6812                                          "kind": "IDENTIFIER",
6813                                          "name": "arr",
6814                                          "startPosition": "2424"
6815                                        },
6816                                        "endPosition": "2430",
6817                                        "kind": "ARRAY_ACCESS",
6818                                        "index": {
6819                                          "endPosition": "2429",
6820                                          "kind": "IDENTIFIER",
6821                                          "name": "j",
6822                                          "startPosition": "2428"
6823                                        },
6824                                        "startPosition": "2424"
6825                                      },
6826                                      "startPosition": "2424"
6827                                    },
6828                                    "endPosition": "2453",
6829                                    "kind": "EXPRESSION_STATEMENT",
6830                                    "startPosition": "2424"
6831                                  }
6832                                ],
6833                                "startPosition": "2408"
6834                              },
6835                              "startPosition": "2389"
6836                            },
6837                            {
6838                              "expression": {
6839                                "expression": {
6840                                  "endPosition": "2499",
6841                                  "kind": "IDENTIFIER",
6842                                  "name": "arr",
6843                                  "startPosition": "2496"
6844                                },
6845                                "endPosition": "2499",
6846                                "kind": "ASSIGNMENT",
6847                                "variable": {
6848                                  "expression": {
6849                                    "endPosition": "2490",
6850                                    "kind": "IDENTIFIER",
6851                                    "name": "result",
6852                                    "startPosition": "2484"
6853                                  },
6854                                  "endPosition": "2493",
6855                                  "kind": "ARRAY_ACCESS",
6856                                  "index": {
6857                                    "endPosition": "2492",
6858                                    "kind": "IDENTIFIER",
6859                                    "name": "i",
6860                                    "startPosition": "2491"
6861                                  },
6862                                  "startPosition": "2484"
6863                                },
6864                                "startPosition": "2484"
6865                              },
6866                              "endPosition": "2499",
6867                              "kind": "EXPRESSION_STATEMENT",
6868                              "startPosition": "2484"
6869                            }
6870                          ],
6871                          "startPosition": "2334"
6872                        }
6873                      },
6874                      "endPosition": "2840",
6875                      "kind": "IF",
6876                      "startPosition": "2213",
6877                      "thenStatement": {
6878                        "endPosition": "2296",
6879                        "kind": "BLOCK",
6880                        "statements": [
6881                          {
6882                            "expression": {
6883                              "expression": {
6884                                "endPosition": "2286",
6885                                "kind": "FUNCTION_INVOCATION",
6886                                "functionSelect": {
6887                                  "identifier": "convert",
6888                                  "expression": {
6889                                    "endPosition": "2273",
6890                                    "kind": "IDENTIFIER",
6891                                    "name": "this",
6892                                    "startPosition": "2269"
6893                                  },
6894                                  "endPosition": "2281",
6895                                  "kind": "MEMBER_SELECT",
6896                                  "startPosition": "2269"
6897                                },
6898                                "arguments": [
6899                                  {
6900                                    "endPosition": "2285",
6901                                    "kind": "IDENTIFIER",
6902                                    "name": "val",
6903                                    "startPosition": "2282"
6904                                  }
6905                                ],
6906                                "startPosition": "2269"
6907                              },
6908                              "endPosition": "2286",
6909                              "kind": "ASSIGNMENT",
6910                              "variable": {
6911                                "expression": {
6912                                  "endPosition": "2263",
6913                                  "kind": "IDENTIFIER",
6914                                  "name": "result",
6915                                  "startPosition": "2257"
6916                                },
6917                                "endPosition": "2266",
6918                                "kind": "ARRAY_ACCESS",
6919                                "index": {
6920                                  "endPosition": "2265",
6921                                  "kind": "IDENTIFIER",
6922                                  "name": "i",
6923                                  "startPosition": "2264"
6924                                },
6925                                "startPosition": "2257"
6926                              },
6927                              "startPosition": "2257"
6928                            },
6929                            "endPosition": "2286",
6930                            "kind": "EXPRESSION_STATEMENT",
6931                            "startPosition": "2257"
6932                          }
6933                        ],
6934                        "startPosition": "2245"
6935                      }
6936                    }
6937                  ],
6938                  "startPosition": "2179"
6939                },
6940                "startPosition": "2160"
6941              },
6942              {
6943                "expression": {
6944                  "endPosition": "2862",
6945                  "kind": "IDENTIFIER",
6946                  "name": "result",
6947                  "startPosition": "2856"
6948                },
6949                "endPosition": "2863",
6950                "kind": "RETURN",
6951                "startPosition": "2849"
6952              }
6953            ],
6954            "startPosition": "2014"
6955          },
6956          "strict": "false",
6957          "startPosition": "2014",
6958          "parameters": [
6959            {
6960              "endPosition": "2012",
6961              "kind": "IDENTIFIER",
6962              "name": "tree",
6963              "startPosition": "2008"
6964            }
6965          ]
6966        },
6967        "endPosition": "2014",
6968        "kind": "ASSIGNMENT",
6969        "variable": {
6970          "identifier": "convert",
6971          "expression": {
6972            "identifier": "prototype",
6973            "expression": {
6974              "endPosition": "1978",
6975              "kind": "IDENTIFIER",
6976              "name": "Parser",
6977              "startPosition": "1972"
6978            },
6979            "endPosition": "1988",
6980            "kind": "MEMBER_SELECT",
6981            "startPosition": "1972"
6982          },
6983          "endPosition": "1996",
6984          "kind": "MEMBER_SELECT",
6985          "startPosition": "1972"
6986        },
6987        "startPosition": "1972"
6988      },
6989      "endPosition": "2865",
6990      "kind": "EXPRESSION_STATEMENT",
6991      "startPosition": "1972"
6992    },
6993    {
6994      "expression": {
6995        "endPosition": "3909",
6996        "kind": "FUNCTION_INVOCATION",
6997        "functionSelect": {
6998          "endPosition": "3907",
6999          "kind": "IDENTIFIER",
7000          "name": "main",
7001          "startPosition": "3903"
7002        },
7003        "arguments": [],
7004        "startPosition": "3903"
7005      },
7006      "endPosition": "3909",
7007      "kind": "EXPRESSION_STATEMENT",
7008      "startPosition": "3903"
7009    }
7010  ],
7011  "sourceName": "parserapi.js",
7012  "strict": "false",
7013  "startPosition": "1136"
7014}
7015]
7016