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