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