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