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