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