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