2 Copyright (C) 2013 Mathias Bynens <mathias@qiwi.be>
3 Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
4 Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
5 Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>
6 Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
7 Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>
8 Copyright (C) 2011 Yusuke Suzuki <utatane.tea@gmail.com>
9 Copyright (C) 2011 Arpad Borsos <arpad.borsos@googlemail.com>
11 Redistribution and use in source and binary forms, with or without
12 modification, are permitted provided that the following conditions are met:
14 * Redistributions of source code must retain the above copyright
15 notice, this list of conditions and the following disclaimer.
16 * Redistributions in binary form must reproduce the above copyright
17 notice, this list of conditions and the following disclaimer in the
18 documentation and/or other materials provided with the distribution.
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
24 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 'Primary Expression': {
39 type: 'ExpressionStatement',
41 type: 'ThisExpression',
44 start: { line: 1, column: 0 },
45 end: { line: 1, column: 4 }
50 start: { line: 1, column: 0 },
51 end: { line: 1, column: 4 }
56 start: { line: 1, column: 0 },
57 end: { line: 1, column: 4 }
64 start: { line: 1, column: 0 },
65 end: { line: 1, column: 4 }
73 type: 'ExpressionStatement',
80 start: { line: 1, column: 0 },
81 end: { line: 1, column: 4 }
86 start: { line: 1, column: 0 },
87 end: { line: 1, column: 4 }
92 start: { line: 1, column: 0 },
93 end: { line: 1, column: 4 }
100 start: { line: 1, column: 0 },
101 end: { line: 1, column: 4 }
109 type: 'ExpressionStatement',
116 start: { line: 2, column: 4 },
117 end: { line: 2, column: 6 }
122 start: { line: 2, column: 4 },
123 end: { line: 2, column: 6 }
128 start: { line: 2, column: 4 },
129 end: { line: 2, column: 6 }
136 start: { line: 2, column: 4 },
137 end: { line: 2, column: 6 }
143 type: 'ExpressionStatement',
145 type: 'BinaryExpression',
148 type: 'BinaryExpression',
156 start: { line: 1, column: 1 },
157 end: { line: 1, column: 2 }
166 start: { line: 1, column: 5 },
167 end: { line: 1, column: 6 }
172 start: { line: 1, column: 1 },
173 end: { line: 1, column: 6 }
182 start: { line: 1, column: 11 },
183 end: { line: 1, column: 12 }
188 start: { line: 1, column: 0 },
189 end: { line: 1, column: 12 }
194 start: { line: 1, column: 0 },
195 end: { line: 1, column: 12 }
201 'Grouping Operator': {
204 type: 'ExpressionStatement',
206 type: 'BinaryExpression',
209 type: 'BinaryExpression',
217 start: { line: 1, column: 1 },
218 end: { line: 1, column: 2 }
227 start: { line: 1, column: 7 },
228 end: { line: 1, column: 8 }
233 start: { line: 1, column: 0 },
234 end: { line: 1, column: 11 }
243 start: { line: 1, column: 14 },
244 end: { line: 1, column: 15 }
249 start: { line: 1, column: 0 },
250 end: { line: 1, column: 15 }
255 start: { line: 1, column: 0 },
256 end: { line: 1, column: 15 }
261 type: 'ExpressionStatement',
263 type: 'BinaryExpression',
266 type: 'BinaryExpression',
274 start: { line: 1, column: 0 },
275 end: { line: 1, column: 1 }
284 start: { line: 1, column: 4 },
285 end: { line: 1, column: 5 }
290 start: { line: 1, column: 0 },
291 end: { line: 1, column: 5 }
300 start: { line: 1, column: 10 },
301 end: { line: 1, column: 11 }
306 start: { line: 1, column: 0 },
307 end: { line: 1, column: 12 }
312 start: { line: 1, column: 0 },
313 end: { line: 1, column: 12 }
319 'Array Initializer': {
324 type: 'ExpressionStatement',
326 type: 'AssignmentExpression',
333 start: { line: 1, column: 0 },
334 end: { line: 1, column: 1 }
338 type: 'ArrayExpression',
342 start: { line: 1, column: 4 },
343 end: { line: 1, column: 6 }
348 start: { line: 1, column: 0 },
349 end: { line: 1, column: 6 }
354 start: { line: 1, column: 0 },
355 end: { line: 1, column: 6 }
360 start: { line: 1, column: 0 },
361 end: { line: 1, column: 6 }
368 start: { line: 1, column: 0 },
369 end: { line: 1, column: 1 }
376 start: { line: 1, column: 2 },
377 end: { line: 1, column: 3 }
384 start: { line: 1, column: 4 },
385 end: { line: 1, column: 5 }
392 start: { line: 1, column: 5 },
393 end: { line: 1, column: 6 }
399 type: 'ExpressionStatement',
401 type: 'AssignmentExpression',
408 start: { line: 1, column: 0 },
409 end: { line: 1, column: 1 }
413 type: 'ArrayExpression',
417 start: { line: 1, column: 4 },
418 end: { line: 1, column: 7 }
423 start: { line: 1, column: 0 },
424 end: { line: 1, column: 7 }
429 start: { line: 1, column: 0 },
430 end: { line: 1, column: 7 }
435 type: 'ExpressionStatement',
437 type: 'AssignmentExpression',
444 start: { line: 1, column: 0 },
445 end: { line: 1, column: 1 }
449 type: 'ArrayExpression',
456 start: { line: 1, column: 6 },
457 end: { line: 1, column: 8 }
462 start: { line: 1, column: 4 },
463 end: { line: 1, column: 10 }
468 start: { line: 1, column: 0 },
469 end: { line: 1, column: 10 }
474 start: { line: 1, column: 0 },
475 end: { line: 1, column: 10 }
480 type: 'ExpressionStatement',
482 type: 'AssignmentExpression',
489 start: { line: 1, column: 0 },
490 end: { line: 1, column: 1 }
494 type: 'ArrayExpression',
501 start: { line: 1, column: 6 },
502 end: { line: 1, column: 8 }
507 start: { line: 1, column: 4 },
508 end: { line: 1, column: 11 }
513 start: { line: 1, column: 0 },
514 end: { line: 1, column: 11 }
519 start: { line: 1, column: 0 },
520 end: { line: 1, column: 11 }
525 type: 'ExpressionStatement',
527 type: 'AssignmentExpression',
534 start: { line: 1, column: 0 },
535 end: { line: 1, column: 1 }
539 type: 'ArrayExpression',
549 start: { line: 1, column: 9 },
550 end: { line: 1, column: 11 }
555 start: { line: 1, column: 4 },
556 end: { line: 1, column: 13 }
561 start: { line: 1, column: 0 },
562 end: { line: 1, column: 13 }
567 start: { line: 1, column: 0 },
568 end: { line: 1, column: 13 }
572 'x = [ 1, 2, 3, ]': {
573 type: 'ExpressionStatement',
575 type: 'AssignmentExpression',
582 start: { line: 1, column: 0 },
583 end: { line: 1, column: 1 }
587 type: 'ArrayExpression',
594 start: { line: 1, column: 6 },
595 end: { line: 1, column: 7 }
603 start: { line: 1, column: 9 },
604 end: { line: 1, column: 10 }
612 start: { line: 1, column: 12 },
613 end: { line: 1, column: 13 }
618 start: { line: 1, column: 4 },
619 end: { line: 1, column: 16 }
624 start: { line: 1, column: 0 },
625 end: { line: 1, column: 16 }
630 start: { line: 1, column: 0 },
631 end: { line: 1, column: 16 }
635 'x = [ 1, 2,, 3, ]': {
636 type: 'ExpressionStatement',
638 type: 'AssignmentExpression',
645 start: { line: 1, column: 0 },
646 end: { line: 1, column: 1 }
650 type: 'ArrayExpression',
657 start: { line: 1, column: 6 },
658 end: { line: 1, column: 7 }
666 start: { line: 1, column: 9 },
667 end: { line: 1, column: 10 }
675 start: { line: 1, column: 13 },
676 end: { line: 1, column: 14 }
681 start: { line: 1, column: 4 },
682 end: { line: 1, column: 17 }
687 start: { line: 1, column: 0 },
688 end: { line: 1, column: 17 }
693 start: { line: 1, column: 0 },
694 end: { line: 1, column: 17 }
699 type: 'ExpressionStatement',
701 type: 'AssignmentExpression',
708 start: { line: 1, column: 0 },
709 end: { line: 1, column: 3 }
713 type: 'ArrayExpression',
717 start: { line: 1, column: 6 },
718 end: { line: 1, column: 8 }
723 start: { line: 1, column: 0 },
724 end: { line: 1, column: 8 }
729 start: { line: 1, column: 0 },
730 end: { line: 1, column: 8 }
735 type: 'ExpressionStatement',
737 type: 'AssignmentExpression',
744 start: { line: 1, column: 0 },
745 end: { line: 1, column: 2 }
749 type: 'ArrayExpression',
753 start: { line: 1, column: 5 },
754 end: { line: 1, column: 7 }
759 start: { line: 1, column: 0 },
760 end: { line: 1, column: 7 }
765 start: { line: 1, column: 0 },
766 end: { line: 1, column: 7 }
771 type: 'ExpressionStatement',
773 type: 'AssignmentExpression',
780 start: { line: 1, column: 0 },
781 end: { line: 1, column: 2 }
785 type: 'ArrayExpression',
789 start: { line: 1, column: 5 },
790 end: { line: 1, column: 7 }
795 start: { line: 1, column: 0 },
796 end: { line: 1, column: 7 }
801 start: { line: 1, column: 0 },
802 end: { line: 1, column: 7 }
807 type: 'ExpressionStatement',
809 type: 'AssignmentExpression',
816 start: { line: 1, column: 0 },
817 end: { line: 1, column: 2 }
821 type: 'ArrayExpression',
825 start: { line: 1, column: 5 },
826 end: { line: 1, column: 7 }
831 start: { line: 1, column: 0 },
832 end: { line: 1, column: 7 }
837 start: { line: 1, column: 0 },
838 end: { line: 1, column: 7 }
842 '\u2163\u2161 = []': {
843 type: 'ExpressionStatement',
845 type: 'AssignmentExpression',
849 name: '\u2163\u2161',
852 start: { line: 1, column: 0 },
853 end: { line: 1, column: 2 }
857 type: 'ArrayExpression',
861 start: { line: 1, column: 5 },
862 end: { line: 1, column: 7 }
867 start: { line: 1, column: 0 },
868 end: { line: 1, column: 7 }
873 start: { line: 1, column: 0 },
874 end: { line: 1, column: 7 }
878 '\u2163\u2161\u200A=\u2009[]': {
879 type: 'ExpressionStatement',
881 type: 'AssignmentExpression',
885 name: '\u2163\u2161',
888 start: { line: 1, column: 0 },
889 end: { line: 1, column: 2 }
893 type: 'ArrayExpression',
897 start: { line: 1, column: 5 },
898 end: { line: 1, column: 7 }
903 start: { line: 1, column: 0 },
904 end: { line: 1, column: 7 }
909 start: { line: 1, column: 0 },
910 end: { line: 1, column: 7 }
916 'Object Initializer': {
919 type: 'ExpressionStatement',
921 type: 'AssignmentExpression',
928 start: { line: 1, column: 0 },
929 end: { line: 1, column: 1 }
933 type: 'ObjectExpression',
937 start: { line: 1, column: 4 },
938 end: { line: 1, column: 6 }
943 start: { line: 1, column: 0 },
944 end: { line: 1, column: 6 }
949 start: { line: 1, column: 0 },
950 end: { line: 1, column: 6 }
955 type: 'ExpressionStatement',
957 type: 'AssignmentExpression',
964 start: { line: 1, column: 0 },
965 end: { line: 1, column: 1 }
969 type: 'ObjectExpression',
973 start: { line: 1, column: 4 },
974 end: { line: 1, column: 7 }
979 start: { line: 1, column: 0 },
980 end: { line: 1, column: 7 }
985 start: { line: 1, column: 0 },
986 end: { line: 1, column: 7 }
990 'x = { answer: 42 }': {
991 type: 'ExpressionStatement',
993 type: 'AssignmentExpression',
1000 start: { line: 1, column: 0 },
1001 end: { line: 1, column: 1 }
1005 type: 'ObjectExpression',
1013 start: { line: 1, column: 6 },
1014 end: { line: 1, column: 12 }
1023 start: { line: 1, column: 14 },
1024 end: { line: 1, column: 16 }
1032 start: { line: 1, column: 6 },
1033 end: { line: 1, column: 16 }
1038 start: { line: 1, column: 4 },
1039 end: { line: 1, column: 18 }
1044 start: { line: 1, column: 0 },
1045 end: { line: 1, column: 18 }
1050 start: { line: 1, column: 0 },
1051 end: { line: 1, column: 18 }
1056 type: 'ExpressionStatement',
1058 type: 'AssignmentExpression',
1065 start: { line: 1, column: 0 },
1066 end: { line: 1, column: 1 }
1070 type: 'ObjectExpression',
1078 start: { line: 1, column: 6 },
1079 end: { line: 1, column: 8 }
1088 start: { line: 1, column: 10 },
1089 end: { line: 1, column: 12 }
1097 start: { line: 1, column: 6 },
1098 end: { line: 1, column: 12 }
1103 start: { line: 1, column: 4 },
1104 end: { line: 1, column: 14 }
1109 start: { line: 1, column: 0 },
1110 end: { line: 1, column: 14 }
1115 start: { line: 1, column: 0 },
1116 end: { line: 1, column: 14 }
1120 'x = { true: 42 }': {
1121 type: 'ExpressionStatement',
1123 type: 'AssignmentExpression',
1130 start: { line: 1, column: 0 },
1131 end: { line: 1, column: 1 }
1135 type: 'ObjectExpression',
1143 start: { line: 1, column: 6 },
1144 end: { line: 1, column: 10 }
1153 start: { line: 1, column: 12 },
1154 end: { line: 1, column: 14 }
1162 start: { line: 1, column: 6 },
1163 end: { line: 1, column: 14 }
1168 start: { line: 1, column: 4 },
1169 end: { line: 1, column: 16 }
1174 start: { line: 1, column: 0 },
1175 end: { line: 1, column: 16 }
1180 start: { line: 1, column: 0 },
1181 end: { line: 1, column: 16 }
1185 'x = { false: 42 }': {
1186 type: 'ExpressionStatement',
1188 type: 'AssignmentExpression',
1195 start: { line: 1, column: 0 },
1196 end: { line: 1, column: 1 }
1200 type: 'ObjectExpression',
1208 start: { line: 1, column: 6 },
1209 end: { line: 1, column: 11 }
1218 start: { line: 1, column: 13 },
1219 end: { line: 1, column: 15 }
1227 start: { line: 1, column: 6 },
1228 end: { line: 1, column: 15 }
1233 start: { line: 1, column: 4 },
1234 end: { line: 1, column: 17 }
1239 start: { line: 1, column: 0 },
1240 end: { line: 1, column: 17 }
1245 start: { line: 1, column: 0 },
1246 end: { line: 1, column: 17 }
1250 'x = { null: 42 }': {
1251 type: 'ExpressionStatement',
1253 type: 'AssignmentExpression',
1260 start: { line: 1, column: 0 },
1261 end: { line: 1, column: 1 }
1265 type: 'ObjectExpression',
1273 start: { line: 1, column: 6 },
1274 end: { line: 1, column: 10 }
1283 start: { line: 1, column: 12 },
1284 end: { line: 1, column: 14 }
1292 start: { line: 1, column: 6 },
1293 end: { line: 1, column: 14 }
1298 start: { line: 1, column: 4 },
1299 end: { line: 1, column: 16 }
1304 start: { line: 1, column: 0 },
1305 end: { line: 1, column: 16 }
1310 start: { line: 1, column: 0 },
1311 end: { line: 1, column: 16 }
1315 'x = { "answer": 42 }': {
1316 type: 'ExpressionStatement',
1318 type: 'AssignmentExpression',
1325 start: { line: 1, column: 0 },
1326 end: { line: 1, column: 1 }
1330 type: 'ObjectExpression',
1339 start: { line: 1, column: 6 },
1340 end: { line: 1, column: 14 }
1349 start: { line: 1, column: 16 },
1350 end: { line: 1, column: 18 }
1358 start: { line: 1, column: 6 },
1359 end: { line: 1, column: 18 }
1364 start: { line: 1, column: 4 },
1365 end: { line: 1, column: 20 }
1370 start: { line: 1, column: 0 },
1371 end: { line: 1, column: 20 }
1376 start: { line: 1, column: 0 },
1377 end: { line: 1, column: 20 }
1381 'x = { x: 1, x: 2 }': {
1382 type: 'ExpressionStatement',
1384 type: 'AssignmentExpression',
1391 start: { line: 1, column: 0 },
1392 end: { line: 1, column: 1 }
1396 type: 'ObjectExpression',
1405 start: { line: 1, column: 6 },
1406 end: { line: 1, column: 7 }
1415 start: { line: 1, column: 9 },
1416 end: { line: 1, column: 10 }
1424 start: { line: 1, column: 6 },
1425 end: { line: 1, column: 10 }
1435 start: { line: 1, column: 12 },
1436 end: { line: 1, column: 13 }
1445 start: { line: 1, column: 15 },
1446 end: { line: 1, column: 16 }
1454 start: { line: 1, column: 12 },
1455 end: { line: 1, column: 16 }
1461 start: { line: 1, column: 4 },
1462 end: { line: 1, column: 18 }
1467 start: { line: 1, column: 0 },
1468 end: { line: 1, column: 18 }
1473 start: { line: 1, column: 0 },
1474 end: { line: 1, column: 18 }
1478 'x = { get width() { return m_width } }': {
1479 type: 'ExpressionStatement',
1481 type: 'AssignmentExpression',
1488 start: { line: 1, column: 0 },
1489 end: { line: 1, column: 1 }
1493 type: 'ObjectExpression',
1501 start: { line: 1, column: 10 },
1502 end: { line: 1, column: 15 }
1506 type: 'FunctionExpression',
1511 type: 'BlockStatement',
1513 type: 'ReturnStatement',
1519 start: { line: 1, column: 27 },
1520 end: { line: 1, column: 34 }
1525 start: { line: 1, column: 20 },
1526 end: { line: 1, column: 35 }
1531 start: { line: 1, column: 18 },
1532 end: { line: 1, column: 36 }
1540 start: { line: 1, column: 18 },
1541 end: { line: 1, column: 36 }
1549 start: { line: 1, column: 6 },
1550 end: { line: 1, column: 36 }
1555 start: { line: 1, column: 4 },
1556 end: { line: 1, column: 38 }
1561 start: { line: 1, column: 0 },
1562 end: { line: 1, column: 38 }
1567 start: { line: 1, column: 0 },
1568 end: { line: 1, column: 38 }
1572 'x = { get undef() {} }': {
1573 type: 'ExpressionStatement',
1575 type: 'AssignmentExpression',
1582 start: { line: 1, column: 0 },
1583 end: { line: 1, column: 1 }
1587 type: 'ObjectExpression',
1595 start: { line: 1, column: 10 },
1596 end: { line: 1, column: 15 }
1600 type: 'FunctionExpression',
1605 type: 'BlockStatement',
1609 start: { line: 1, column: 18 },
1610 end: { line: 1, column: 20 }
1618 start: { line: 1, column: 18 },
1619 end: { line: 1, column: 20 }
1627 start: { line: 1, column: 6 },
1628 end: { line: 1, column: 20 }
1633 start: { line: 1, column: 4 },
1634 end: { line: 1, column: 22 }
1639 start: { line: 1, column: 0 },
1640 end: { line: 1, column: 22 }
1645 start: { line: 1, column: 0 },
1646 end: { line: 1, column: 22 }
1650 'x = { get if() {} }': {
1651 type: 'ExpressionStatement',
1653 type: 'AssignmentExpression',
1660 start: { line: 1, column: 0 },
1661 end: { line: 1, column: 1 }
1665 type: 'ObjectExpression',
1673 start: { line: 1, column: 10 },
1674 end: { line: 1, column: 12 }
1678 type: 'FunctionExpression',
1683 type: 'BlockStatement',
1687 start: { line: 1, column: 15 },
1688 end: { line: 1, column: 17 }
1696 start: { line: 1, column: 15 },
1697 end: { line: 1, column: 17 }
1705 start: { line: 1, column: 6 },
1706 end: { line: 1, column: 17 }
1711 start: { line: 1, column: 4 },
1712 end: { line: 1, column: 19 }
1717 start: { line: 1, column: 0 },
1718 end: { line: 1, column: 19 }
1723 start: { line: 1, column: 0 },
1724 end: { line: 1, column: 19 }
1728 'x = { get true() {} }': {
1729 type: 'ExpressionStatement',
1731 type: 'AssignmentExpression',
1738 start: { line: 1, column: 0 },
1739 end: { line: 1, column: 1 }
1743 type: 'ObjectExpression',
1751 start: { line: 1, column: 10 },
1752 end: { line: 1, column: 14 }
1756 type: 'FunctionExpression',
1761 type: 'BlockStatement',
1765 start: { line: 1, column: 17 },
1766 end: { line: 1, column: 19 }
1774 start: { line: 1, column: 17 },
1775 end: { line: 1, column: 19 }
1783 start: { line: 1, column: 6 },
1784 end: { line: 1, column: 19 }
1789 start: { line: 1, column: 4 },
1790 end: { line: 1, column: 21 }
1795 start: { line: 1, column: 0 },
1796 end: { line: 1, column: 21 }
1801 start: { line: 1, column: 0 },
1802 end: { line: 1, column: 21 }
1806 'x = { get false() {} }': {
1807 type: 'ExpressionStatement',
1809 type: 'AssignmentExpression',
1816 start: { line: 1, column: 0 },
1817 end: { line: 1, column: 1 }
1821 type: 'ObjectExpression',
1829 start: { line: 1, column: 10 },
1830 end: { line: 1, column: 15 }
1834 type: 'FunctionExpression',
1839 type: 'BlockStatement',
1843 start: { line: 1, column: 18 },
1844 end: { line: 1, column: 20 }
1852 start: { line: 1, column: 18 },
1853 end: { line: 1, column: 20 }
1861 start: { line: 1, column: 6 },
1862 end: { line: 1, column: 20 }
1867 start: { line: 1, column: 4 },
1868 end: { line: 1, column: 22 }
1873 start: { line: 1, column: 0 },
1874 end: { line: 1, column: 22 }
1879 start: { line: 1, column: 0 },
1880 end: { line: 1, column: 22 }
1884 'x = { get null() {} }': {
1885 type: 'ExpressionStatement',
1887 type: 'AssignmentExpression',
1894 start: { line: 1, column: 0 },
1895 end: { line: 1, column: 1 }
1899 type: 'ObjectExpression',
1907 start: { line: 1, column: 10 },
1908 end: { line: 1, column: 14 }
1912 type: 'FunctionExpression',
1917 type: 'BlockStatement',
1921 start: { line: 1, column: 17 },
1922 end: { line: 1, column: 19 }
1930 start: { line: 1, column: 17 },
1931 end: { line: 1, column: 19 }
1939 start: { line: 1, column: 6 },
1940 end: { line: 1, column: 19 }
1945 start: { line: 1, column: 4 },
1946 end: { line: 1, column: 21 }
1951 start: { line: 1, column: 0 },
1952 end: { line: 1, column: 21 }
1957 start: { line: 1, column: 0 },
1958 end: { line: 1, column: 21 }
1962 'x = { get "undef"() {} }': {
1963 type: 'ExpressionStatement',
1965 type: 'AssignmentExpression',
1972 start: { line: 1, column: 0 },
1973 end: { line: 1, column: 1 }
1977 type: 'ObjectExpression',
1986 start: { line: 1, column: 10 },
1987 end: { line: 1, column: 17 }
1991 type: 'FunctionExpression',
1996 type: 'BlockStatement',
2000 start: { line: 1, column: 20 },
2001 end: { line: 1, column: 22 }
2009 start: { line: 1, column: 20 },
2010 end: { line: 1, column: 22 }
2018 start: { line: 1, column: 6 },
2019 end: { line: 1, column: 22 }
2024 start: { line: 1, column: 4 },
2025 end: { line: 1, column: 24 }
2030 start: { line: 1, column: 0 },
2031 end: { line: 1, column: 24 }
2036 start: { line: 1, column: 0 },
2037 end: { line: 1, column: 24 }
2041 'x = { get 10() {} }': {
2042 type: 'ExpressionStatement',
2044 type: 'AssignmentExpression',
2051 start: { line: 1, column: 0 },
2052 end: { line: 1, column: 1 }
2056 type: 'ObjectExpression',
2065 start: { line: 1, column: 10 },
2066 end: { line: 1, column: 12 }
2070 type: 'FunctionExpression',
2075 type: 'BlockStatement',
2079 start: { line: 1, column: 15 },
2080 end: { line: 1, column: 17 }
2088 start: { line: 1, column: 15 },
2089 end: { line: 1, column: 17 }
2097 start: { line: 1, column: 6 },
2098 end: { line: 1, column: 17 }
2103 start: { line: 1, column: 4 },
2104 end: { line: 1, column: 19 }
2109 start: { line: 1, column: 0 },
2110 end: { line: 1, column: 19 }
2115 start: { line: 1, column: 0 },
2116 end: { line: 1, column: 19 }
2120 'x = { set width(w) { m_width = w } }': {
2121 type: 'ExpressionStatement',
2123 type: 'AssignmentExpression',
2130 start: { line: 1, column: 0 },
2131 end: { line: 1, column: 1 }
2135 type: 'ObjectExpression',
2143 start: { line: 1, column: 10 },
2144 end: { line: 1, column: 15 }
2148 type: 'FunctionExpression',
2155 start: { line: 1, column: 16 },
2156 end: { line: 1, column: 17 }
2161 type: 'BlockStatement',
2163 type: 'ExpressionStatement',
2165 type: 'AssignmentExpression',
2172 start: { line: 1, column: 21 },
2173 end: { line: 1, column: 28 }
2181 start: { line: 1, column: 31 },
2182 end: { line: 1, column: 32 }
2187 start: { line: 1, column: 21 },
2188 end: { line: 1, column: 32 }
2193 start: { line: 1, column: 21 },
2194 end: { line: 1, column: 33 }
2199 start: { line: 1, column: 19 },
2200 end: { line: 1, column: 34 }
2208 start: { line: 1, column: 19 },
2209 end: { line: 1, column: 34 }
2217 start: { line: 1, column: 6 },
2218 end: { line: 1, column: 34 }
2223 start: { line: 1, column: 4 },
2224 end: { line: 1, column: 36 }
2229 start: { line: 1, column: 0 },
2230 end: { line: 1, column: 36 }
2235 start: { line: 1, column: 0 },
2236 end: { line: 1, column: 36 }
2240 'x = { set if(w) { m_if = w } }': {
2241 type: 'ExpressionStatement',
2243 type: 'AssignmentExpression',
2250 start: { line: 1, column: 0 },
2251 end: { line: 1, column: 1 }
2255 type: 'ObjectExpression',
2263 start: { line: 1, column: 10 },
2264 end: { line: 1, column: 12 }
2268 type: 'FunctionExpression',
2275 start: { line: 1, column: 13 },
2276 end: { line: 1, column: 14 }
2281 type: 'BlockStatement',
2283 type: 'ExpressionStatement',
2285 type: 'AssignmentExpression',
2292 start: { line: 1, column: 18 },
2293 end: { line: 1, column: 22 }
2301 start: { line: 1, column: 25 },
2302 end: { line: 1, column: 26 }
2307 start: { line: 1, column: 18 },
2308 end: { line: 1, column: 26 }
2313 start: { line: 1, column: 18 },
2314 end: { line: 1, column: 27 }
2319 start: { line: 1, column: 16 },
2320 end: { line: 1, column: 28 }
2328 start: { line: 1, column: 16 },
2329 end: { line: 1, column: 28 }
2337 start: { line: 1, column: 6 },
2338 end: { line: 1, column: 28 }
2343 start: { line: 1, column: 4 },
2344 end: { line: 1, column: 30 }
2349 start: { line: 1, column: 0 },
2350 end: { line: 1, column: 30 }
2355 start: { line: 1, column: 0 },
2356 end: { line: 1, column: 30 }
2360 'x = { set true(w) { m_true = w } }': {
2361 type: 'ExpressionStatement',
2363 type: 'AssignmentExpression',
2370 start: { line: 1, column: 0 },
2371 end: { line: 1, column: 1 }
2375 type: 'ObjectExpression',
2383 start: { line: 1, column: 10 },
2384 end: { line: 1, column: 14 }
2388 type: 'FunctionExpression',
2395 start: { line: 1, column: 15 },
2396 end: { line: 1, column: 16 }
2401 type: 'BlockStatement',
2403 type: 'ExpressionStatement',
2405 type: 'AssignmentExpression',
2412 start: { line: 1, column: 20 },
2413 end: { line: 1, column: 26 }
2421 start: { line: 1, column: 29 },
2422 end: { line: 1, column: 30 }
2427 start: { line: 1, column: 20 },
2428 end: { line: 1, column: 30 }
2433 start: { line: 1, column: 20 },
2434 end: { line: 1, column: 31 }
2439 start: { line: 1, column: 18 },
2440 end: { line: 1, column: 32 }
2448 start: { line: 1, column: 18 },
2449 end: { line: 1, column: 32 }
2457 start: { line: 1, column: 6 },
2458 end: { line: 1, column: 32 }
2463 start: { line: 1, column: 4 },
2464 end: { line: 1, column: 34 }
2469 start: { line: 1, column: 0 },
2470 end: { line: 1, column: 34 }
2475 start: { line: 1, column: 0 },
2476 end: { line: 1, column: 34 }
2480 'x = { set false(w) { m_false = w } }': {
2481 type: 'ExpressionStatement',
2483 type: 'AssignmentExpression',
2490 start: { line: 1, column: 0 },
2491 end: { line: 1, column: 1 }
2495 type: 'ObjectExpression',
2503 start: { line: 1, column: 10 },
2504 end: { line: 1, column: 15 }
2508 type: 'FunctionExpression',
2515 start: { line: 1, column: 16 },
2516 end: { line: 1, column: 17 }
2521 type: 'BlockStatement',
2523 type: 'ExpressionStatement',
2525 type: 'AssignmentExpression',
2532 start: { line: 1, column: 21 },
2533 end: { line: 1, column: 28 }
2541 start: { line: 1, column: 31 },
2542 end: { line: 1, column: 32 }
2547 start: { line: 1, column: 21 },
2548 end: { line: 1, column: 32 }
2553 start: { line: 1, column: 21 },
2554 end: { line: 1, column: 33 }
2559 start: { line: 1, column: 19 },
2560 end: { line: 1, column: 34 }
2568 start: { line: 1, column: 19 },
2569 end: { line: 1, column: 34 }
2577 start: { line: 1, column: 6 },
2578 end: { line: 1, column: 34 }
2583 start: { line: 1, column: 4 },
2584 end: { line: 1, column: 36 }
2589 start: { line: 1, column: 0 },
2590 end: { line: 1, column: 36 }
2595 start: { line: 1, column: 0 },
2596 end: { line: 1, column: 36 }
2600 'x = { set null(w) { m_null = w } }': {
2601 type: 'ExpressionStatement',
2603 type: 'AssignmentExpression',
2610 start: { line: 1, column: 0 },
2611 end: { line: 1, column: 1 }
2615 type: 'ObjectExpression',
2623 start: { line: 1, column: 10 },
2624 end: { line: 1, column: 14 }
2628 type: 'FunctionExpression',
2635 start: { line: 1, column: 15 },
2636 end: { line: 1, column: 16 }
2641 type: 'BlockStatement',
2643 type: 'ExpressionStatement',
2645 type: 'AssignmentExpression',
2652 start: { line: 1, column: 20 },
2653 end: { line: 1, column: 26 }
2661 start: { line: 1, column: 29 },
2662 end: { line: 1, column: 30 }
2667 start: { line: 1, column: 20 },
2668 end: { line: 1, column: 30 }
2673 start: { line: 1, column: 20 },
2674 end: { line: 1, column: 31 }
2679 start: { line: 1, column: 18 },
2680 end: { line: 1, column: 32 }
2688 start: { line: 1, column: 18 },
2689 end: { line: 1, column: 32 }
2697 start: { line: 1, column: 6 },
2698 end: { line: 1, column: 32 }
2703 start: { line: 1, column: 4 },
2704 end: { line: 1, column: 34 }
2709 start: { line: 1, column: 0 },
2710 end: { line: 1, column: 34 }
2715 start: { line: 1, column: 0 },
2716 end: { line: 1, column: 34 }
2720 'x = { set "null"(w) { m_null = w } }': {
2721 type: 'ExpressionStatement',
2723 type: 'AssignmentExpression',
2730 start: { line: 1, column: 0 },
2731 end: { line: 1, column: 1 }
2735 type: 'ObjectExpression',
2744 start: { line: 1, column: 10 },
2745 end: { line: 1, column: 16 }
2749 type: 'FunctionExpression',
2756 start: { line: 1, column: 17 },
2757 end: { line: 1, column: 18 }
2762 type: 'BlockStatement',
2764 type: 'ExpressionStatement',
2766 type: 'AssignmentExpression',
2773 start: { line: 1, column: 22 },
2774 end: { line: 1, column: 28 }
2782 start: { line: 1, column: 31 },
2783 end: { line: 1, column: 32 }
2788 start: { line: 1, column: 22 },
2789 end: { line: 1, column: 32 }
2794 start: { line: 1, column: 22 },
2795 end: { line: 1, column: 33 }
2800 start: { line: 1, column: 20 },
2801 end: { line: 1, column: 34 }
2809 start: { line: 1, column: 20 },
2810 end: { line: 1, column: 34 }
2818 start: { line: 1, column: 6 },
2819 end: { line: 1, column: 34 }
2824 start: { line: 1, column: 4 },
2825 end: { line: 1, column: 36 }
2830 start: { line: 1, column: 0 },
2831 end: { line: 1, column: 36 }
2836 start: { line: 1, column: 0 },
2837 end: { line: 1, column: 36 }
2841 'x = { set 10(w) { m_null = w } }': {
2842 type: 'ExpressionStatement',
2844 type: 'AssignmentExpression',
2851 start: { line: 1, column: 0 },
2852 end: { line: 1, column: 1 }
2856 type: 'ObjectExpression',
2865 start: { line: 1, column: 10 },
2866 end: { line: 1, column: 12 }
2870 type: 'FunctionExpression',
2877 start: { line: 1, column: 13 },
2878 end: { line: 1, column: 14 }
2883 type: 'BlockStatement',
2885 type: 'ExpressionStatement',
2887 type: 'AssignmentExpression',
2894 start: { line: 1, column: 18 },
2895 end: { line: 1, column: 24 }
2903 start: { line: 1, column: 27 },
2904 end: { line: 1, column: 28 }
2909 start: { line: 1, column: 18 },
2910 end: { line: 1, column: 28 }
2915 start: { line: 1, column: 18 },
2916 end: { line: 1, column: 29 }
2921 start: { line: 1, column: 16 },
2922 end: { line: 1, column: 30 }
2930 start: { line: 1, column: 16 },
2931 end: { line: 1, column: 30 }
2939 start: { line: 1, column: 6 },
2940 end: { line: 1, column: 30 }
2945 start: { line: 1, column: 4 },
2946 end: { line: 1, column: 32 }
2951 start: { line: 1, column: 0 },
2952 end: { line: 1, column: 32 }
2957 start: { line: 1, column: 0 },
2958 end: { line: 1, column: 32 }
2962 'x = { get: 42 }': {
2963 type: 'ExpressionStatement',
2965 type: 'AssignmentExpression',
2972 start: { line: 1, column: 0 },
2973 end: { line: 1, column: 1 }
2977 type: 'ObjectExpression',
2985 start: { line: 1, column: 6 },
2986 end: { line: 1, column: 9 }
2995 start: { line: 1, column: 11 },
2996 end: { line: 1, column: 13 }
3004 start: { line: 1, column: 6 },
3005 end: { line: 1, column: 13 }
3010 start: { line: 1, column: 4 },
3011 end: { line: 1, column: 15 }
3016 start: { line: 1, column: 0 },
3017 end: { line: 1, column: 15 }
3022 start: { line: 1, column: 0 },
3023 end: { line: 1, column: 15 }
3027 'x = { set: 43 }': {
3028 type: 'ExpressionStatement',
3030 type: 'AssignmentExpression',
3037 start: { line: 1, column: 0 },
3038 end: { line: 1, column: 1 }
3042 type: 'ObjectExpression',
3050 start: { line: 1, column: 6 },
3051 end: { line: 1, column: 9 }
3060 start: { line: 1, column: 11 },
3061 end: { line: 1, column: 13 }
3069 start: { line: 1, column: 6 },
3070 end: { line: 1, column: 13 }
3075 start: { line: 1, column: 4 },
3076 end: { line: 1, column: 15 }
3081 start: { line: 1, column: 0 },
3082 end: { line: 1, column: 15 }
3087 start: { line: 1, column: 0 },
3088 end: { line: 1, column: 15 }
3092 'x = { __proto__: 2 }': {
3093 type: 'ExpressionStatement',
3095 type: 'AssignmentExpression',
3102 start: { line: 1, column: 0 },
3103 end: { line: 1, column: 1 }
3107 type: 'ObjectExpression',
3115 start: { line: 1, column: 6 },
3116 end: { line: 1, column: 15 }
3125 start: { line: 1, column: 17 },
3126 end: { line: 1, column: 18 }
3134 start: { line: 1, column: 6 },
3135 end: { line: 1, column: 18 }
3140 start: { line: 1, column: 4 },
3141 end: { line: 1, column: 20 }
3146 start: { line: 1, column: 0 },
3147 end: { line: 1, column: 20 }
3152 start: { line: 1, column: 0 },
3153 end: { line: 1, column: 20 }
3157 'x = {"__proto__": 2 }': {
3158 type: 'ExpressionStatement',
3160 type: 'AssignmentExpression',
3167 start: { line: 1, column: 0 },
3168 end: { line: 1, column: 1 }
3172 type: 'ObjectExpression',
3181 start: { line: 1, column: 5 },
3182 end: { line: 1, column: 16 }
3191 start: { line: 1, column: 18 },
3192 end: { line: 1, column: 19 }
3200 start: { line: 1, column: 5 },
3201 end: { line: 1, column: 19 }
3206 start: { line: 1, column: 4 },
3207 end: { line: 1, column: 21 }
3212 start: { line: 1, column: 0 },
3213 end: { line: 1, column: 21 }
3218 start: { line: 1, column: 0 },
3219 end: { line: 1, column: 21 }
3223 'x = { get width() { return m_width }, set width(width) { m_width = width; } }': {
3224 type: 'ExpressionStatement',
3226 type: 'AssignmentExpression',
3233 start: { line: 1, column: 0 },
3234 end: { line: 1, column: 1 }
3238 type: 'ObjectExpression',
3246 start: { line: 1, column: 10 },
3247 end: { line: 1, column: 15 }
3251 type: 'FunctionExpression',
3256 type: 'BlockStatement',
3258 type: 'ReturnStatement',
3264 start: { line: 1, column: 27 },
3265 end: { line: 1, column: 34 }
3270 start: { line: 1, column: 20 },
3271 end: { line: 1, column: 35 }
3276 start: { line: 1, column: 18 },
3277 end: { line: 1, column: 36 }
3285 start: { line: 1, column: 18 },
3286 end: { line: 1, column: 36 }
3294 start: { line: 1, column: 6 },
3295 end: { line: 1, column: 36 }
3304 start: { line: 1, column: 42 },
3305 end: { line: 1, column: 47 }
3309 type: 'FunctionExpression',
3316 start: { line: 1, column: 48 },
3317 end: { line: 1, column: 53 }
3322 type: 'BlockStatement',
3324 type: 'ExpressionStatement',
3326 type: 'AssignmentExpression',
3333 start: { line: 1, column: 57 },
3334 end: { line: 1, column: 64 }
3342 start: { line: 1, column: 67 },
3343 end: { line: 1, column: 72 }
3348 start: { line: 1, column: 57 },
3349 end: { line: 1, column: 72 }
3354 start: { line: 1, column: 57 },
3355 end: { line: 1, column: 73 }
3360 start: { line: 1, column: 55 },
3361 end: { line: 1, column: 75 }
3369 start: { line: 1, column: 55 },
3370 end: { line: 1, column: 75 }
3378 start: { line: 1, column: 38 },
3379 end: { line: 1, column: 75 }
3384 start: { line: 1, column: 4 },
3385 end: { line: 1, column: 77 }
3390 start: { line: 1, column: 0 },
3391 end: { line: 1, column: 77 }
3396 start: { line: 1, column: 0 },
3397 end: { line: 1, column: 77 }
3406 '/* block comment */ 42': {
3407 type: 'ExpressionStatement',
3414 start: { line: 1, column: 20 },
3415 end: { line: 1, column: 22 }
3420 start: { line: 1, column: 20 },
3421 end: { line: 1, column: 22 }
3425 '42 /* block comment 1 */ /* block comment 2 */': {
3429 "type": "ExpressionStatement",
3438 "trailingComments": [
3441 "value": " block comment 1 ",
3449 "value": " block comment 2 ",
3470 "value": " block comment 1 ",
3478 "value": " block comment 2 ",
3497 'var p1;/* block comment 1 */ /* block comment 2 */': {
3529 "type": "VariableDeclaration",
3546 "type": "VariableDeclarator",
3562 "type": "Identifier",
3569 "trailingComments": [
3586 "value": " block comment 1 "
3604 "value": " block comment 2 "
3626 "value": " block comment 1 "
3644 "value": " block comment 2 "
3681 "type": "Identifier",
3699 "type": "Punctuator",
3722 "leadingComments": [
3765 '(a + /* assignmenr */b ) * c': {
3769 "type": "ExpressionStatement",
3771 "type": "BinaryExpression",
3774 "type": "BinaryExpression",
3777 "type": "Identifier",
3795 "type": "Identifier",
3811 "leadingComments": [
3814 "value": " assignmenr ",
3848 "type": "Identifier",
3913 "value": " assignmenr ",
3932 '/* assignmenr */\n a = b': {
3936 "type": "ExpressionStatement",
3938 "type": "AssignmentExpression",
3941 "type": "Identifier",
3959 "type": "Identifier",
4005 "leadingComments": [
4008 "value": " assignmenr ",
4044 "value": " assignmenr ",
4063 '42 /*The*/ /*Answer*/': {
4066 type: 'ExpressionStatement',
4073 start: { line: 1, column: 0 },
4074 end: { line: 1, column: 2 }
4079 start: { line: 1, column: 0 },
4080 end: { line: 1, column: 21 }
4085 start: { line: 1, column: 0 },
4086 end: { line: 1, column: 21 }
4093 start: { line: 1, column: 3 },
4094 end: { line: 1, column: 10 }
4101 start: { line: 1, column: 11 },
4102 end: { line: 1, column: 21 }
4107 '42 /*the*/ /*answer*/': {
4110 type: 'ExpressionStatement',
4131 '42 /* the * answer */': {
4132 type: 'ExpressionStatement',
4139 start: { line: 1, column: 0 },
4140 end: { line: 1, column: 2 }
4145 start: { line: 1, column: 0 },
4146 end: { line: 1, column: 21 }
4150 '42 /* The * answer */': {
4153 type: 'ExpressionStatement',
4160 start: { line: 1, column: 0 },
4161 end: { line: 1, column: 2 }
4166 start: { line: 1, column: 0 },
4167 end: { line: 1, column: 21 }
4172 start: { line: 1, column: 0 },
4173 end: { line: 1, column: 21 }
4177 value: ' The * answer ',
4180 start: { line: 1, column: 3 },
4181 end: { line: 1, column: 21 }
4186 '/* multiline\ncomment\nshould\nbe\nignored */ 42': {
4187 type: 'ExpressionStatement',
4194 start: { line: 5, column: 11 },
4195 end: { line: 5, column: 13 }
4200 start: { line: 5, column: 11 },
4201 end: { line: 5, column: 13 }
4208 type: 'ExpressionStatement',
4215 start: { line: 2, column: 4 },
4216 end: { line: 2, column: 6 }
4221 start: { line: 2, column: 4 },
4222 end: { line: 2, column: 6 }
4229 start: { line: 1, column: 0 },
4230 end: { line: 2, column: 3 }
4236 start: { line: 2, column: 4 },
4237 end: { line: 2, column: 6 }
4244 start: { line: 1, column: 0 },
4245 end: { line: 2, column: 3 }
4253 type: 'ExpressionStatement',
4260 start: { line: 2, column: 4 },
4261 end: { line: 2, column: 6 }
4266 start: { line: 2, column: 4 },
4267 end: { line: 2, column: 6 }
4272 start: { line: 2, column: 4 },
4273 end: { line: 2, column: 6 }
4280 start: { line: 1, column: 0 },
4281 end: { line: 2, column: 3 }
4289 type: 'ExpressionStatement',
4296 start: { line: 2, column: 4 },
4297 end: { line: 2, column: 6 }
4302 start: { line: 2, column: 4 },
4303 end: { line: 2, column: 6 }
4310 start: { line: 1, column: 0 },
4311 end: { line: 2, column: 3 }
4317 start: { line: 2, column: 4 },
4318 end: { line: 2, column: 6 }
4325 start: { line: 1, column: 0 },
4326 end: { line: 2, column: 3 }
4334 type: 'ExpressionStatement',
4341 start: { line: 2, column: 4 },
4342 end: { line: 2, column: 6 }
4347 start: { line: 2, column: 4 },
4348 end: { line: 2, column: 6 }
4355 start: { line: 1, column: 0 },
4356 end: { line: 2, column: 3 }
4362 start: { line: 2, column: 4 },
4363 end: { line: 2, column: 6 }
4370 start: { line: 1, column: 0 },
4371 end: { line: 2, column: 3 }
4381 start: { line: 1, column: 8 },
4382 end: { line: 1, column: 8 }
4389 start: { line: 1, column: 0 },
4390 end: { line: 1, column: 8 }
4398 start: { line: 1, column: 0 },
4399 end: { line: 1, column: 8 }
4404 '// line comment\n42': {
4405 type: 'ExpressionStatement',
4412 start: { line: 2, column: 0 },
4413 end: { line: 2, column: 2 }
4418 start: { line: 2, column: 0 },
4419 end: { line: 2, column: 2 }
4423 '42 // line comment': {
4426 type: 'ExpressionStatement',
4433 start: { line: 1, column: 0 },
4434 end: { line: 1, column: 2 }
4436 trailingComments: [{
4438 value: ' line comment',
4441 start: { line: 1, column: 3 },
4442 end: { line: 1, column: 18 }
4448 start: { line: 1, column: 0 },
4449 end: { line: 1, column: 18 }
4454 start: { line: 1, column: 0 },
4455 end: { line: 1, column: 18 }
4459 value: ' line comment',
4462 start: { line: 1, column: 3 },
4463 end: { line: 1, column: 18 }
4468 '// Hello, world!\n42': {
4471 type: 'ExpressionStatement',
4478 start: { line: 2, column: 0 },
4479 end: { line: 2, column: 2 }
4484 start: { line: 2, column: 0 },
4485 end: { line: 2, column: 2 }
4489 value: ' Hello, world!',
4492 start: { line: 1, column: 0 },
4493 end: { line: 1, column: 16 }
4499 start: { line: 2, column: 0 },
4500 end: { line: 2, column: 2 }
4504 value: ' Hello, world!',
4507 start: { line: 1, column: 0 },
4508 end: { line: 1, column: 16 }
4513 '// Hello, world!\n': {
4518 start: { line: 2, column: 0 },
4519 end: { line: 2, column: 0 }
4523 value: ' Hello, world!',
4526 start: { line: 1, column: 0 },
4527 end: { line: 1, column: 16 }
4532 '// Hallo, world!\n': {
4536 start: { line: 2, column: 0 },
4537 end: { line: 2, column: 0 }
4541 value: ' Hallo, world!',
4543 start: { line: 1, column: 0 },
4544 end: { line: 1, column: 16 }
4552 type: 'ExpressionStatement',
4559 start: { line: 2, column: 0 },
4560 end: { line: 2, column: 2 }
4565 start: { line: 2, column: 0 },
4566 end: { line: 2, column: 2 }
4573 start: { line: 1, column: 0 },
4574 end: { line: 1, column: 2 }
4580 start: { line: 2, column: 0 },
4581 end: { line: 2, column: 2 }
4588 start: { line: 1, column: 0 },
4589 end: { line: 1, column: 2 }
4599 start: { line: 1, column: 2 },
4600 end: { line: 1, column: 2 }
4607 start: { line: 1, column: 0 },
4608 end: { line: 1, column: 2 }
4627 type: 'ExpressionStatement',
4634 start: { line: 1, column: 4 },
4635 end: { line: 1, column: 6 }
4640 start: { line: 1, column: 4 },
4641 end: { line: 1, column: 6 }
4648 start: { line: 1, column: 0 },
4649 end: { line: 1, column: 4 }
4655 start: { line: 1, column: 4 },
4656 end: { line: 1, column: 6 }
4663 start: { line: 1, column: 0 },
4664 end: { line: 1, column: 4 }
4672 type: 'ExpressionStatement',
4679 start: { line: 1, column: 0 },
4680 end: { line: 1, column: 2 }
4682 trailingComments: [{
4687 start: { line: 1, column: 2 },
4688 end: { line: 1, column: 6 }
4694 start: { line: 1, column: 0 },
4695 end: { line: 1, column: 6 }
4700 start: { line: 1, column: 0 },
4701 end: { line: 1, column: 6 }
4708 start: { line: 1, column: 2 },
4709 end: { line: 1, column: 6 }
4714 '// Hello, world!\n\n// Another hello\n42': {
4717 type: 'ExpressionStatement',
4724 start: { line: 4, column: 0 },
4725 end: { line: 4, column: 2 }
4730 start: { line: 4, column: 0 },
4731 end: { line: 4, column: 2 }
4735 value: ' Hello, world!',
4738 start: { line: 1, column: 0 },
4739 end: { line: 1, column: 16 }
4743 value: ' Another hello',
4746 start: { line: 3, column: 0 },
4747 end: { line: 3, column: 18 }
4753 start: { line: 4, column: 0 },
4754 end: { line: 4, column: 2 }
4758 value: ' Hello, world!',
4761 start: { line: 1, column: 0 },
4762 end: { line: 1, column: 16 }
4766 value: ' Another hello',
4769 start: { line: 3, column: 0 },
4770 end: { line: 3, column: 18 }
4775 'if (x) { doThat() // Some comment\n }': {
4778 type: 'IfStatement',
4784 start: { line: 1, column: 4 },
4785 end: { line: 1, column: 5 }
4789 type: 'BlockStatement',
4791 type: 'ExpressionStatement',
4793 type: 'CallExpression',
4799 start: { line: 1, column: 9 },
4800 end: { line: 1, column: 15 }
4806 start: { line: 1, column: 9 },
4807 end: { line: 1, column: 17 }
4812 start: { line: 1, column: 9 },
4813 end: { line: 1, column: 17 }
4815 trailingComments: [{
4817 value: ' Some comment',
4820 start: { line: 1, column: 18 },
4821 end: { line: 1, column: 33 }
4827 start: { line: 1, column: 7 },
4828 end: { line: 2, column: 2 }
4834 start: { line: 1, column: 0 },
4835 end: { line: 2, column: 2 }
4840 start: { line: 1, column: 0 },
4841 end: { line: 2, column: 2 }
4845 value: ' Some comment',
4848 start: { line: 1, column: 18 },
4849 end: { line: 1, column: 33 }
4854 'if (x) { // Some comment\ndoThat(); }': {
4857 type: 'IfStatement',
4863 start: { line: 1, column: 4 },
4864 end: { line: 1, column: 5 }
4868 type: 'BlockStatement',
4870 type: 'ExpressionStatement',
4872 type: 'CallExpression',
4878 start: { line: 2, column: 0 },
4879 end: { line: 2, column: 6 }
4885 start: { line: 2, column: 0 },
4886 end: { line: 2, column: 8 }
4891 start: { line: 2, column: 0 },
4892 end: { line: 2, column: 9 }
4896 value: ' Some comment',
4899 start: { line: 1, column: 9 },
4900 end: { line: 1, column: 24 }
4906 start: { line: 1, column: 7 },
4907 end: { line: 2, column: 11 }
4913 start: { line: 1, column: 0 },
4914 end: { line: 2, column: 11 }
4919 start: { line: 1, column: 0 },
4920 end: { line: 2, column: 11 }
4924 value: ' Some comment',
4927 start: { line: 1, column: 9 },
4928 end: { line: 1, column: 24 }
4933 'if (x) { /* Some comment */ doThat() }': {
4936 type: 'IfStatement',
4942 start: { line: 1, column: 4 },
4943 end: { line: 1, column: 5 }
4947 type: 'BlockStatement',
4949 type: 'ExpressionStatement',
4951 type: 'CallExpression',
4957 start: { line: 1, column: 28 },
4958 end: { line: 1, column: 34 }
4964 start: { line: 1, column: 28 },
4965 end: { line: 1, column: 36 }
4970 start: { line: 1, column: 28 },
4971 end: { line: 1, column: 37 }
4975 value: ' Some comment ',
4978 start: { line: 1, column: 9 },
4979 end: { line: 1, column: 27 }
4985 start: { line: 1, column: 7 },
4986 end: { line: 1, column: 38 }
4992 start: { line: 1, column: 0 },
4993 end: { line: 1, column: 38 }
4998 start: { line: 1, column: 0 },
4999 end: { line: 1, column: 38 }
5003 value: ' Some comment ',
5006 start: { line: 1, column: 9 },
5007 end: { line: 1, column: 27 }
5012 'if (x) { doThat() /* Some comment */ }': {
5015 type: 'IfStatement',
5021 start: { line: 1, column: 4 },
5022 end: { line: 1, column: 5 }
5026 type: 'BlockStatement',
5028 type: 'ExpressionStatement',
5030 type: 'CallExpression',
5036 start: { line: 1, column: 9 },
5037 end: { line: 1, column: 15 }
5043 start: { line: 1, column: 9 },
5044 end: { line: 1, column: 17 }
5046 trailingComments: [{
5048 value: ' Some comment ',
5051 start: { line: 1, column: 18 },
5052 end: { line: 1, column: 36 }
5058 start: { line: 1, column: 9 },
5059 end: { line: 1, column: 37 }
5064 start: { line: 1, column: 7 },
5065 end: { line: 1, column: 38 }
5071 start: { line: 1, column: 0 },
5072 end: { line: 1, column: 38 }
5077 start: { line: 1, column: 0 },
5078 end: { line: 1, column: 38 }
5082 value: ' Some comment ',
5085 start: { line: 1, column: 18 },
5086 end: { line: 1, column: 36 }
5091 'switch (answer) { case 42: /* perfect */ bingo() }': {
5094 type: 'SwitchStatement',
5100 start: { line: 1, column: 8 },
5101 end: { line: 1, column: 14 }
5112 start: { line: 1, column: 23 },
5113 end: { line: 1, column: 25 }
5117 type: 'ExpressionStatement',
5119 type: 'CallExpression',
5125 start: { line: 1, column: 41 },
5126 end: { line: 1, column: 46 }
5132 start: { line: 1, column: 41 },
5133 end: { line: 1, column: 48 }
5138 start: { line: 1, column: 41 },
5139 end: { line: 1, column: 49 }
5146 start: { line: 1, column: 27 },
5147 end: { line: 1, column: 40 }
5153 start: { line: 1, column: 18 },
5154 end: { line: 1, column: 49 }
5159 start: { line: 1, column: 0 },
5160 end: { line: 1, column: 50 }
5165 start: { line: 1, column: 0 },
5166 end: { line: 1, column: 50 }
5173 start: { line: 1, column: 27 },
5174 end: { line: 1, column: 40 }
5179 'switch (answer) { case 42: bingo() /* perfect */ }': {
5182 type: 'SwitchStatement',
5188 start: { line: 1, column: 8 },
5189 end: { line: 1, column: 14 }
5200 start: { line: 1, column: 23 },
5201 end: { line: 1, column: 25 }
5205 type: 'ExpressionStatement',
5207 type: 'CallExpression',
5213 start: { line: 1, column: 27 },
5214 end: { line: 1, column: 32 }
5220 start: { line: 1, column: 27 },
5221 end: { line: 1, column: 34 }
5223 trailingComments: [{
5228 start: { line: 1, column: 35 },
5229 end: { line: 1, column: 48 }
5235 start: { line: 1, column: 27 },
5236 end: { line: 1, column: 49 }
5241 start: { line: 1, column: 18 },
5242 end: { line: 1, column: 49 }
5247 start: { line: 1, column: 0 },
5248 end: { line: 1, column: 50 }
5253 start: { line: 1, column: 0 },
5254 end: { line: 1, column: 50 }
5261 start: { line: 1, column: 35 },
5262 end: { line: 1, column: 48 }
5267 '/* header */ (function(){ var version = 1; }).call(this)': {
5270 type: 'ExpressionStatement',
5272 type: 'CallExpression',
5274 type: 'MemberExpression',
5277 type: 'FunctionExpression',
5282 type: 'BlockStatement',
5284 type: 'VariableDeclaration',
5286 type: 'VariableDeclarator',
5292 start: { line: 1, column: 30 },
5293 end: { line: 1, column: 37 }
5302 start: { line: 1, column: 40 },
5303 end: { line: 1, column: 41 }
5308 start: { line: 1, column: 30 },
5309 end: { line: 1, column: 41 }
5315 start: { line: 1, column: 26 },
5316 end: { line: 1, column: 42 }
5321 start: { line: 1, column: 24 },
5322 end: { line: 1, column: 44 }
5330 start: { line: 1, column: 14 },
5331 end: { line: 1, column: 44 }
5339 start: { line: 1, column: 46 },
5340 end: { line: 1, column: 50 }
5345 start: { line: 1, column: 13 },
5346 end: { line: 1, column: 50 }
5350 type: 'ThisExpression',
5353 start: { line: 1, column: 51 },
5354 end: { line: 1, column: 55 }
5359 start: { line: 1, column: 13 },
5360 end: { line: 1, column: 56 }
5365 start: { line: 1, column: 13 },
5366 end: { line: 1, column: 56 }
5373 start: { line: 1, column: 0 },
5374 end: { line: 1, column: 12 }
5380 start: { line: 1, column: 13 },
5381 end: { line: 1, column: 56 }
5388 start: { line: 1, column: 0 },
5389 end: { line: 1, column: 12 }
5394 '(function(){ var version = 1; /* sync */ }).call(this)': {
5397 type: 'ExpressionStatement',
5399 type: 'CallExpression',
5401 type: 'MemberExpression',
5404 type: 'FunctionExpression',
5409 type: 'BlockStatement',
5411 type: 'VariableDeclaration',
5413 type: 'VariableDeclarator',
5419 start: { line: 1, column: 17 },
5420 end: { line: 1, column: 24 }
5429 start: { line: 1, column: 27 },
5430 end: { line: 1, column: 28 }
5435 start: { line: 1, column: 17 },
5436 end: { line: 1, column: 28 }
5442 start: { line: 1, column: 13 },
5443 end: { line: 1, column: 29 }
5445 trailingComments: [{
5450 start: { line: 1, column: 30 },
5451 end: { line: 1, column: 40 }
5457 start: { line: 1, column: 11 },
5458 end: { line: 1, column: 42 }
5466 start: { line: 1, column: 1 },
5467 end: { line: 1, column: 42 }
5475 start: { line: 1, column: 44 },
5476 end: { line: 1, column: 48 }
5483 start: { line: 1, column: 30 },
5484 end: { line: 1, column: 40 }
5490 start: { line: 1, column: 0 },
5491 end: { line: 1, column: 48 }
5495 type: 'ThisExpression',
5498 start: { line: 1, column: 49 },
5499 end: { line: 1, column: 53 }
5504 start: { line: 1, column: 0 },
5505 end: { line: 1, column: 54 }
5510 start: { line: 1, column: 0 },
5511 end: { line: 1, column: 54 }
5516 start: { line: 1, column: 0 },
5517 end: { line: 1, column: 54 }
5524 start: { line: 1, column: 30 },
5525 end: { line: 1, column: 40 }
5530 'function f() { /* infinite */ while (true) { } /* bar */ var each; }': {
5533 type: 'FunctionDeclaration',
5539 start: { line: 1, column: 9 },
5540 end: { line: 1, column: 10 }
5546 type: 'BlockStatement',
5548 type: 'WhileStatement',
5555 start: { line: 1, column: 37 },
5556 end: { line: 1, column: 41 }
5560 type: 'BlockStatement',
5564 start: { line: 1, column: 43 },
5565 end: { line: 1, column: 46 }
5570 start: { line: 1, column: 30 },
5571 end: { line: 1, column: 46 }
5575 value: ' infinite ',
5578 start: { line: 1, column: 15 },
5579 end: { line: 1, column: 29 }
5582 trailingComments: [{
5587 start: { line: 1, column: 47 },
5588 end: { line: 1, column: 56 }
5592 type: 'VariableDeclaration',
5594 type: 'VariableDeclarator',
5600 start: { line: 1, column: 61 },
5601 end: { line: 1, column: 65 }
5607 start: { line: 1, column: 61 },
5608 end: { line: 1, column: 65 }
5614 start: { line: 1, column: 57 },
5615 end: { line: 1, column: 66 }
5622 start: { line: 1, column: 47 },
5623 end: { line: 1, column: 56 }
5629 start: { line: 1, column: 13 },
5630 end: { line: 1, column: 68 }
5638 start: { line: 1, column: 0 },
5639 end: { line: 1, column: 68 }
5644 start: { line: 1, column: 0 },
5645 end: { line: 1, column: 68 }
5649 value: ' infinite ',
5652 start: { line: 1, column: 15 },
5653 end: { line: 1, column: 29 }
5660 start: { line: 1, column: 47 },
5661 end: { line: 1, column: 56 }
5675 'var x = 1<!--foo': {
5678 type: 'VariableDeclaration',
5680 type: 'VariableDeclarator',
5704 start: { line: 1, column: 11 },
5705 end: { line: 1, column: 11 }
5712 start: { line: 1, column: 0 },
5713 end: { line: 1, column: 11 }
5723 start: { line: 1, column: 12 },
5724 end: { line: 1, column: 12 }
5731 start: { line: 1, column: 0 },
5732 end: { line: 1, column: 12 }
5737 ' \t --> comment': {
5742 start: { line: 1, column: 14 },
5743 end: { line: 1, column: 14 }
5750 start: { line: 1, column: 3 },
5751 end: { line: 1, column: 14 }
5756 ' \t /* block comment */ --> comment': {
5761 start: { line: 1, column: 35 },
5762 end: { line: 1, column: 35 }
5766 value: ' block comment ',
5769 start: { line: 1, column: 3 },
5770 end: { line: 1, column: 22 }
5777 start: { line: 1, column: 24 },
5778 end: { line: 1, column: 35 }
5783 '/* block comment */--> comment': {
5788 start: { line: 1, column: 30 },
5789 end: { line: 1, column: 30 }
5793 value: ' block comment ',
5796 start: { line: 1, column: 0 },
5797 end: { line: 1, column: 19 }
5804 start: { line: 1, column: 19 },
5805 end: { line: 1, column: 30 }
5810 '/* not comment*/; i-->0': {
5813 type: 'EmptyStatement',
5816 start: { line: 1, column: 16 },
5817 end: { line: 1, column: 17 }
5820 type: 'ExpressionStatement',
5822 type: 'BinaryExpression',
5825 type: 'UpdateExpression',
5832 start: { line: 1, column: 18 },
5833 end: { line: 1, column: 19 }
5839 start: { line: 1, column: 18 },
5840 end: { line: 1, column: 21 }
5849 start: { line: 1, column: 22 },
5850 end: { line: 1, column: 23 }
5855 start: { line: 1, column: 18 },
5856 end: { line: 1, column: 23 }
5861 start: { line: 1, column: 18 },
5862 end: { line: 1, column: 23 }
5867 start: { line: 1, column: 16 },
5868 end: { line: 1, column: 23 }
5875 start: { line: 1, column: 16 },
5876 end: { line: 1, column: 17 }
5883 start: { line: 1, column: 18 },
5884 end: { line: 1, column: 19 }
5891 start: { line: 1, column: 19 },
5892 end: { line: 1, column: 21 }
5899 start: { line: 1, column: 21 },
5900 end: { line: 1, column: 22 }
5907 start: { line: 1, column: 22 },
5908 end: { line: 1, column: 23 }
5914 'while (i-->0) {}': {
5915 type: 'WhileStatement',
5917 type: 'BinaryExpression',
5920 type: 'UpdateExpression',
5927 start: { line: 1, column: 7 },
5928 end: { line: 1, column: 8 }
5934 start: { line: 1, column: 7 },
5935 end: { line: 1, column: 10 }
5944 start: { line: 1, column: 11 },
5945 end: { line: 1, column: 12 }
5950 start: { line: 1, column: 7 },
5951 end: { line: 1, column: 12 }
5955 type: 'BlockStatement',
5959 start: { line: 1, column: 14 },
5960 end: { line: 1, column: 16 }
5965 start: { line: 1, column: 0 },
5966 end: { line: 1, column: 16 }
5970 '/*Venus*/ debugger; // Mars': {
5973 type: 'DebuggerStatement',
5979 start: { line: 1, column: 0 },
5980 end: { line: 1, column: 9 }
5983 trailingComments: [{
5988 start: { line: 1, column: 20 },
5989 end: { line: 1, column: 27 }
5994 start: { line: 1, column: 10 },
5995 end: { line: 1, column: 19 }
6003 start: { line: 1, column: 0 },
6004 end: { line: 1, column: 9 }
6011 start: { line: 1, column: 20 },
6012 end: { line: 1, column: 27 }
6017 start: { line: 1, column: 10 },
6018 end: { line: 1, column: 19 }
6022 'function x(){ /*Jupiter*/ return; /*Saturn*/}': {
6023 type: 'FunctionDeclaration',
6029 start: { line: 1, column: 9 },
6030 end: { line: 1, column: 10 }
6036 type: 'BlockStatement',
6038 type: 'ReturnStatement',
6042 start: { line: 1, column: 26 },
6043 end: { line: 1, column: 33 }
6048 start: { line: 1, column: 12 },
6049 end: { line: 1, column: 45 }
6057 start: { line: 1, column: 0 },
6058 end: { line: 1, column: 45 }
6064 'Numeric Literals': {
6067 type: 'ExpressionStatement',
6074 start: { line: 1, column: 0 },
6075 end: { line: 1, column: 1 }
6080 start: { line: 1, column: 0 },
6081 end: { line: 1, column: 1 }
6086 type: 'ExpressionStatement',
6093 start: { line: 1, column: 0 },
6094 end: { line: 1, column: 2 }
6099 start: { line: 1, column: 0 },
6100 end: { line: 1, column: 2 }
6107 type: 'ExpressionStatement',
6127 type: 'ExpressionStatement',
6133 start: { line: 1, column: 0 },
6134 end: { line: 1, column: 1 }
6138 start: { line: 1, column: 0 },
6139 end: { line: 1, column: 1 }
6143 start: { line: 1, column: 0 },
6144 end: { line: 1, column: 1 }
6150 start: { line: 1, column: 0 },
6151 end: { line: 1, column: 1 }
6157 type: 'ExpressionStatement',
6164 start: { line: 1, column: 0 },
6165 end: { line: 1, column: 3 }
6170 start: { line: 1, column: 0 },
6171 end: { line: 1, column: 3 }
6176 type: 'ExpressionStatement',
6183 start: { line: 1, column: 0 },
6184 end: { line: 1, column: 7 }
6189 start: { line: 1, column: 0 },
6190 end: { line: 1, column: 7 }
6195 type: 'ExpressionStatement',
6198 value: 6.02214179e+23,
6199 raw: '6.02214179e+23',
6202 start: { line: 1, column: 0 },
6203 end: { line: 1, column: 14 }
6208 start: { line: 1, column: 0 },
6209 end: { line: 1, column: 14 }
6213 '1.492417830e-10': {
6214 type: 'ExpressionStatement',
6217 value: 1.49241783e-10,
6218 raw: '1.492417830e-10',
6221 start: { line: 1, column: 0 },
6222 end: { line: 1, column: 15 }
6227 start: { line: 1, column: 0 },
6228 end: { line: 1, column: 15 }
6233 type: 'ExpressionStatement',
6240 start: { line: 1, column: 0 },
6241 end: { line: 1, column: 3 }
6246 start: { line: 1, column: 0 },
6247 end: { line: 1, column: 3 }
6252 type: 'ExpressionStatement',
6259 start: { line: 1, column: 0 },
6260 end: { line: 1, column: 3 }
6265 start: { line: 1, column: 0 },
6266 end: { line: 1, column: 4 }
6271 type: 'ExpressionStatement',
6278 start: { line: 1, column: 0 },
6279 end: { line: 1, column: 6 }
6284 start: { line: 1, column: 0 },
6285 end: { line: 1, column: 7 }
6290 type: 'ExpressionStatement',
6297 start: { line: 1, column: 0 },
6298 end: { line: 1, column: 6 }
6303 start: { line: 1, column: 0 },
6304 end: { line: 1, column: 6 }
6309 type: 'ExpressionStatement',
6316 start: { line: 1, column: 0 },
6317 end: { line: 1, column: 5 }
6322 start: { line: 1, column: 0 },
6323 end: { line: 1, column: 5 }
6328 type: 'ExpressionStatement',
6335 start: { line: 1, column: 0 },
6336 end: { line: 1, column: 5 }
6341 start: { line: 1, column: 0 },
6342 end: { line: 1, column: 5 }
6347 type: 'ExpressionStatement',
6354 start: { line: 1, column: 0 },
6355 end: { line: 1, column: 4 }
6360 start: { line: 1, column: 0 },
6361 end: { line: 1, column: 4 }
6366 type: 'ExpressionStatement',
6373 start: { line: 1, column: 0 },
6374 end: { line: 1, column: 4 }
6379 start: { line: 1, column: 0 },
6380 end: { line: 1, column: 4 }
6385 type: 'ExpressionStatement',
6392 start: { line: 1, column: 0 },
6393 end: { line: 1, column: 5 }
6398 start: { line: 1, column: 0 },
6399 end: { line: 1, column: 5 }
6404 type: 'ExpressionStatement',
6411 start: { line: 1, column: 0 },
6412 end: { line: 1, column: 4 }
6417 start: { line: 1, column: 0 },
6418 end: { line: 1, column: 4 }
6423 type: 'ExpressionStatement',
6430 start: { line: 1, column: 0 },
6431 end: { line: 1, column: 2 }
6436 start: { line: 1, column: 0 },
6437 end: { line: 1, column: 2 }
6442 type: 'ExpressionStatement',
6449 start: { line: 1, column: 0 },
6450 end: { line: 1, column: 3 }
6455 start: { line: 1, column: 0 },
6456 end: { line: 1, column: 3 }
6461 type: 'ExpressionStatement',
6468 start: { line: 1, column: 0 },
6469 end: { line: 1, column: 4 }
6474 start: { line: 1, column: 0 },
6475 end: { line: 1, column: 4 }
6480 type: 'ExpressionStatement',
6487 start: { line: 1, column: 0 },
6488 end: { line: 1, column: 2 }
6493 start: { line: 1, column: 0 },
6494 end: { line: 1, column: 2 }
6499 type: 'ExpressionStatement',
6506 start: { line: 1, column: 0 },
6507 end: { line: 1, column: 4 }
6512 start: { line: 1, column: 0 },
6513 end: { line: 1, column: 4 }
6518 type: 'ExpressionStatement',
6525 start: { line: 1, column: 0 },
6526 end: { line: 1, column: 2 }
6531 start: { line: 1, column: 0 },
6532 end: { line: 1, column: 2 }
6537 type: 'ExpressionStatement',
6544 start: { line: 1, column: 0 },
6545 end: { line: 1, column: 4 }
6550 start: { line: 1, column: 0 },
6551 end: { line: 1, column: 4 }
6557 '[ES6] Binary Integer Literals': {
6560 type: 'ExpressionStatement',
6567 start: { line: 1, column: 0 },
6568 end: { line: 1, column: 3 }
6573 start: { line: 1, column: 0 },
6574 end: { line: 1, column: 3 }
6579 type: 'ExpressionStatement',
6586 start: { line: 1, column: 0 },
6587 end: { line: 1, column: 3 }
6592 start: { line: 1, column: 0 },
6593 end: { line: 1, column: 3 }
6598 type: 'ExpressionStatement',
6605 start: { line: 1, column: 0 },
6606 end: { line: 1, column: 4 }
6611 start: { line: 1, column: 0 },
6612 end: { line: 1, column: 4 }
6617 type: 'ExpressionStatement',
6624 start: { line: 1, column: 0 },
6625 end: { line: 1, column: 3 }
6630 start: { line: 1, column: 0 },
6631 end: { line: 1, column: 3 }
6636 type: 'ExpressionStatement',
6643 start: { line: 1, column: 0 },
6644 end: { line: 1, column: 3 }
6649 start: { line: 1, column: 0 },
6650 end: { line: 1, column: 3 }
6655 type: 'ExpressionStatement',
6662 start: { line: 1, column: 0 },
6663 end: { line: 1, column: 4 }
6668 start: { line: 1, column: 0 },
6669 end: { line: 1, column: 4 }
6675 '[ES6] Octal Integer Literals': {
6678 type: 'ExpressionStatement',
6685 start: { line: 1, column: 0 },
6686 end: { line: 1, column: 2 }
6691 start: { line: 1, column: 0 },
6692 end: { line: 1, column: 2 }
6697 type: 'ExpressionStatement',
6704 start: { line: 1, column: 0 },
6705 end: { line: 1, column: 3 }
6710 start: { line: 1, column: 0 },
6711 end: { line: 1, column: 3 }
6715 'function test() {\'use strict\'; 0o0; }': {
6716 type: 'FunctionDeclaration',
6722 start: { line: 1, column: 9 },
6723 end: { line: 1, column: 13 }
6729 type: 'BlockStatement',
6731 type: 'ExpressionStatement',
6734 value: 'use strict',
6735 raw: '\'use strict\'',
6738 start: { line: 1, column: 17 },
6739 end: { line: 1, column: 29 }
6744 start: { line: 1, column: 17 },
6745 end: { line: 1, column: 30 }
6748 type: 'ExpressionStatement',
6755 start: { line: 1, column: 31 },
6756 end: { line: 1, column: 34 }
6761 start: { line: 1, column: 31 },
6762 end: { line: 1, column: 35 }
6767 start: { line: 1, column: 16 },
6768 end: { line: 1, column: 37 }
6776 start: { line: 1, column: 0 },
6777 end: { line: 1, column: 37 }
6782 type: 'ExpressionStatement',
6789 start: { line: 1, column: 0 },
6790 end: { line: 1, column: 3 }
6795 start: { line: 1, column: 0 },
6796 end: { line: 1, column: 3 }
6801 type: 'ExpressionStatement',
6808 start: { line: 1, column: 0 },
6809 end: { line: 1, column: 4 }
6814 start: { line: 1, column: 0 },
6815 end: { line: 1, column: 4 }
6820 type: 'ExpressionStatement',
6827 start: { line: 1, column: 0 },
6828 end: { line: 1, column: 3 }
6833 start: { line: 1, column: 0 },
6834 end: { line: 1, column: 3 }
6838 'function test() {\'use strict\'; 0O0; }': {
6839 type: 'FunctionDeclaration',
6845 start: { line: 1, column: 9 },
6846 end: { line: 1, column: 13 }
6852 type: 'BlockStatement',
6854 type: 'ExpressionStatement',
6857 value: 'use strict',
6858 raw: '\'use strict\'',
6861 start: { line: 1, column: 17 },
6862 end: { line: 1, column: 29 }
6867 start: { line: 1, column: 17 },
6868 end: { line: 1, column: 30 }
6871 type: 'ExpressionStatement',
6878 start: { line: 1, column: 31 },
6879 end: { line: 1, column: 34 }
6884 start: { line: 1, column: 31 },
6885 end: { line: 1, column: 35 }
6890 start: { line: 1, column: 16 },
6891 end: { line: 1, column: 37 }
6899 start: { line: 1, column: 0 },
6900 end: { line: 1, column: 37 }
6906 'String Literals': {
6909 type: 'ExpressionStatement',
6916 start: { line: 1, column: 0 },
6917 end: { line: 1, column: 7 }
6922 start: { line: 1, column: 0 },
6923 end: { line: 1, column: 7 }
6927 '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': {
6928 type: 'ExpressionStatement',
6931 value: '\n\r\t\x0B\b\f\\\'"\x00',
6932 raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"',
6935 start: { line: 1, column: 0 },
6936 end: { line: 1, column: 22 }
6941 start: { line: 1, column: 0 },
6942 end: { line: 1, column: 22 }
6947 type: 'ExpressionStatement',
6954 start: { line: 1, column: 0 },
6955 end: { line: 1, column: 8 }
6960 start: { line: 1, column: 0 },
6961 end: { line: 1, column: 8 }
6966 type: 'ExpressionStatement',
6973 start: { line: 1, column: 0 },
6974 end: { line: 1, column: 6 }
6979 start: { line: 1, column: 0 },
6980 end: { line: 1, column: 6 }
6985 type: 'ExpressionStatement',
6992 start: { line: 1, column: 0 },
6993 end: { line: 1, column: 6 }
6998 start: { line: 1, column: 0 },
6999 end: { line: 1, column: 6 }
7004 type: 'ExpressionStatement',
7011 start: { line: 1, column: 0 },
7012 end: { line: 1, column: 5 }
7017 start: { line: 1, column: 0 },
7018 end: { line: 1, column: 5 }
7022 '"Hello\\nworld"': {
7023 type: 'ExpressionStatement',
7026 value: 'Hello\nworld',
7027 raw: '"Hello\\nworld"',
7030 start: { line: 1, column: 0 },
7031 end: { line: 1, column: 14 }
7036 start: { line: 1, column: 0 },
7037 end: { line: 1, column: 14 }
7041 '"Hello\\\nworld"': {
7042 type: 'ExpressionStatement',
7045 value: 'Helloworld',
7046 raw: '"Hello\\\nworld"',
7049 start: { line: 1, column: 0 },
7050 end: { line: 2, column: 6 }
7055 start: { line: 1, column: 0 },
7056 end: { line: 2, column: 6 }
7060 '"Hello\\02World"': {
7061 type: 'ExpressionStatement',
7064 value: 'Hello\u0002World',
7065 raw: '"Hello\\02World"',
7068 start: { line: 1, column: 0 },
7069 end: { line: 1, column: 15 }
7074 start: { line: 1, column: 0 },
7075 end: { line: 1, column: 15 }
7079 '"Hello\\012World"': {
7080 type: 'ExpressionStatement',
7083 value: 'Hello\u000AWorld',
7084 raw: '"Hello\\012World"',
7087 start: { line: 1, column: 0 },
7088 end: { line: 1, column: 16 }
7093 start: { line: 1, column: 0 },
7094 end: { line: 1, column: 16 }
7098 '"Hello\\122World"': {
7099 type: 'ExpressionStatement',
7102 value: 'Hello\122World',
7103 raw: '"Hello\\122World"',
7106 start: { line: 1, column: 0 },
7107 end: { line: 1, column: 16 }
7112 start: { line: 1, column: 0 },
7113 end: { line: 1, column: 16 }
7117 '"Hello\\0122World"': {
7118 type: 'ExpressionStatement',
7121 value: 'Hello\u000A2World',
7122 raw: '"Hello\\0122World"',
7125 start: { line: 1, column: 0 },
7126 end: { line: 1, column: 17 }
7131 start: { line: 1, column: 0 },
7132 end: { line: 1, column: 17 }
7136 '"Hello\\312World"': {
7137 type: 'ExpressionStatement',
7140 value: 'Hello\u00CAWorld',
7141 raw: '"Hello\\312World"',
7144 start: { line: 1, column: 0 },
7145 end: { line: 1, column: 16 }
7150 start: { line: 1, column: 0 },
7151 end: { line: 1, column: 16 }
7155 '"Hello\\412World"': {
7156 type: 'ExpressionStatement',
7159 value: 'Hello\412World',
7160 raw: '"Hello\\412World"',
7163 start: { line: 1, column: 0 },
7164 end: { line: 1, column: 16 }
7169 start: { line: 1, column: 0 },
7170 end: { line: 1, column: 16 }
7174 '"Hello\\812World"': {
7175 type: 'ExpressionStatement',
7178 value: 'Hello812World',
7179 raw: '"Hello\\812World"',
7182 start: { line: 1, column: 0 },
7183 end: { line: 1, column: 16 }
7188 start: { line: 1, column: 0 },
7189 end: { line: 1, column: 16 }
7193 '"Hello\\712World"': {
7194 type: 'ExpressionStatement',
7197 value: 'Hello\712World',
7198 raw: '"Hello\\712World"',
7201 start: { line: 1, column: 0 },
7202 end: { line: 1, column: 16 }
7207 start: { line: 1, column: 0 },
7208 end: { line: 1, column: 16 }
7212 '"Hello\\0World"': {
7213 type: 'ExpressionStatement',
7216 value: 'Hello\u0000World',
7217 raw: '"Hello\\0World"',
7220 start: { line: 1, column: 0 },
7221 end: { line: 1, column: 14 }
7226 start: { line: 1, column: 0 },
7227 end: { line: 1, column: 14 }
7231 '"Hello\\\r\nworld"': {
7232 type: 'ExpressionStatement',
7235 value: 'Helloworld',
7236 raw: '"Hello\\\r\nworld"',
7239 start: { line: 1, column: 0 },
7240 end: { line: 2, column: 6 }
7245 start: { line: 1, column: 0 },
7246 end: { line: 2, column: 6 }
7250 '"Hello\\1World"': {
7251 type: 'ExpressionStatement',
7254 value: 'Hello\u0001World',
7255 raw: '"Hello\\1World"',
7258 start: { line: 1, column: 0 },
7259 end: { line: 1, column: 14 }
7264 start: { line: 1, column: 0 },
7265 end: { line: 1, column: 14 }
7270 '[ES6] Unicode Code Point Escape Sequence': {
7272 '"\\u{714E}\\u{8336}"': {
7273 type: 'ExpressionStatement',
7276 value: '\u714E\u8336',
7277 raw: '"\\u{714E}\\u{8336}"',
7280 start: { line: 1, column: 0 },
7281 end: { line: 1, column: 18 }
7286 start: { line: 1, column: 0 },
7287 end: { line: 1, column: 18 }
7291 '"\\u{20BB7}\\u{91CE}\\u{5BB6}"': {
7292 type: 'ExpressionStatement',
7295 value: '\ud842\udfb7\u91ce\u5bb6',
7296 raw: '"\\u{20BB7}\\u{91CE}\\u{5BB6}"',
7299 start: { line: 1, column: 0 },
7300 end: { line: 1, column: 27 }
7305 start: { line: 1, column: 0 },
7306 end: { line: 1, column: 27 }
7310 '"\\u{00000000034}"': {
7311 type: 'ExpressionStatement',
7315 start: { line: 1, column: 0 },
7316 end: { line: 1, column: 17 }
7320 raw: '"\\u{00000000034}"'
7324 start: { line: 1, column: 0 },
7325 end: { line: 1, column: 17 }
7331 'Regular Expression Literals': {
7336 type: 'ExpressionStatement',
7347 start: { line: 1, column: 0 },
7348 end: { line: 1, column: 3 }
7353 start: { line: 1, column: 0 },
7354 end: { line: 1, column: 4 }
7359 start: { line: 1, column: 0 },
7360 end: { line: 1, column: 4 }
7363 type: 'RegularExpression',
7371 start: { line: 1, column: 0 },
7372 end: { line: 1, column: 3 }
7379 start: { line: 1, column: 3 },
7380 end: { line: 1, column: 4 }
7388 type: 'ExpressionStatement',
7390 type: 'ArrayExpression',
7401 start: { line: 1, column: 1 },
7402 end: { line: 1, column: 4 }
7407 start: { line: 1, column: 0 },
7408 end: { line: 1, column: 5 }
7413 start: { line: 1, column: 0 },
7414 end: { line: 1, column: 5 }
7419 start: { line: 1, column: 0 },
7420 end: { line: 1, column: 5 }
7427 start: { line: 1, column: 0 },
7428 end: { line: 1, column: 1 }
7431 type: 'RegularExpression',
7439 start: { line: 1, column: 1 },
7440 end: { line: 1, column: 4 }
7447 start: { line: 1, column: 4 },
7448 end: { line: 1, column: 5 }
7453 'var x = /[a-z]/i': {
7456 type: 'VariableDeclaration',
7458 type: 'VariableDeclarator',
7464 start: { line: 1, column: 4 },
7465 end: { line: 1, column: 5 }
7478 start: { line: 1, column: 8 },
7479 end: { line: 1, column: 16 }
7484 start: { line: 1, column: 4 },
7485 end: { line: 1, column: 16 }
7491 start: { line: 1, column: 0 },
7492 end: { line: 1, column: 16 }
7497 start: { line: 1, column: 0 },
7498 end: { line: 1, column: 16 }
7505 start: { line: 1, column: 0 },
7506 end: { line: 1, column: 3 }
7513 start: { line: 1, column: 4 },
7514 end: { line: 1, column: 5 }
7521 start: { line: 1, column: 6 },
7522 end: { line: 1, column: 7 }
7525 type: 'RegularExpression',
7533 start: { line: 1, column: 8 },
7534 end: { line: 1, column: 16 }
7539 'var x = /[a-z]/y': {
7542 type: 'VariableDeclaration',
7544 type: 'VariableDeclarator',
7550 start: { line: 1, column: 4 },
7551 end: { line: 1, column: 5 }
7564 start: { line: 1, column: 8 },
7565 end: { line: 1, column: 16 }
7570 start: { line: 1, column: 4 },
7571 end: { line: 1, column: 16 }
7577 start: { line: 1, column: 0 },
7578 end: { line: 1, column: 16 }
7583 start: { line: 1, column: 0 },
7584 end: { line: 1, column: 16 }
7591 start: { line: 1, column: 0 },
7592 end: { line: 1, column: 3 }
7599 start: { line: 1, column: 4 },
7600 end: { line: 1, column: 5 }
7607 start: { line: 1, column: 6 },
7608 end: { line: 1, column: 7 }
7611 type: 'RegularExpression',
7619 start: { line: 1, column: 8 },
7620 end: { line: 1, column: 16 }
7625 'var x = /[a-z]/u': {
7628 type: 'VariableDeclaration',
7630 type: 'VariableDeclarator',
7636 start: { line: 1, column: 4 },
7637 end: { line: 1, column: 5 }
7650 start: { line: 1, column: 8 },
7651 end: { line: 1, column: 16 }
7656 start: { line: 1, column: 4 },
7657 end: { line: 1, column: 16 }
7663 start: { line: 1, column: 0 },
7664 end: { line: 1, column: 16 }
7669 start: { line: 1, column: 0 },
7670 end: { line: 1, column: 16 }
7677 start: { line: 1, column: 0 },
7678 end: { line: 1, column: 3 }
7685 start: { line: 1, column: 4 },
7686 end: { line: 1, column: 5 }
7693 start: { line: 1, column: 6 },
7694 end: { line: 1, column: 7 }
7697 type: 'RegularExpression',
7705 start: { line: 1, column: 8 },
7706 end: { line: 1, column: 16 }
7711 'var x = /[\\u{0000000000000061}-\\u{7A}]/u': {
7714 type: 'VariableDeclaration',
7716 type: 'VariableDeclarator',
7722 start: { line: 1, column: 4 },
7723 end: { line: 1, column: 5 }
7729 raw: '/[\\u{0000000000000061}-\\u{7A}]/u',
7731 pattern: '[\\u{0000000000000061}-\\u{7A}]',
7736 start: { line: 1, column: 8 },
7737 end: { line: 1, column: 40 }
7742 start: { line: 1, column: 4 },
7743 end: { line: 1, column: 40 }
7749 start: { line: 1, column: 0 },
7750 end: { line: 1, column: 40 }
7755 start: { line: 1, column: 0 },
7756 end: { line: 1, column: 40 }
7763 start: { line: 1, column: 0 },
7764 end: { line: 1, column: 3 }
7771 start: { line: 1, column: 4 },
7772 end: { line: 1, column: 5 }
7779 start: { line: 1, column: 6 },
7780 end: { line: 1, column: 7 }
7783 type: 'RegularExpression',
7784 value: '/[\\u{0000000000000061}-\\u{7A}]/u',
7786 pattern: '[\\u{0000000000000061}-\\u{7A}]',
7791 start: { line: 1, column: 8 },
7792 end: { line: 1, column: 40 }
7797 'var x = /\\u{110000}/u': {
7801 message: 'Error: Line 1: Invalid regular expression'
7804 'var x = /[x-z]/i': {
7807 type: 'VariableDeclaration',
7809 type: 'VariableDeclarator',
7844 type: 'RegularExpression',
7854 'var x = /[a-c]/i': {
7857 type: 'VariableDeclaration',
7859 type: 'VariableDeclarator',
7864 start: { line: 1, column: 4 },
7865 end: { line: 1, column: 5 }
7877 start: { line: 1, column: 8 },
7878 end: { line: 1, column: 16 }
7882 start: { line: 1, column: 4 },
7883 end: { line: 1, column: 16 }
7888 start: { line: 1, column: 0 },
7889 end: { line: 1, column: 16 }
7893 start: { line: 1, column: 0 },
7894 end: { line: 1, column: 16 }
7900 start: { line: 1, column: 0 },
7901 end: { line: 1, column: 3 }
7907 start: { line: 1, column: 4 },
7908 end: { line: 1, column: 5 }
7914 start: { line: 1, column: 6 },
7915 end: { line: 1, column: 7 }
7918 type: 'RegularExpression',
7925 start: { line: 1, column: 8 },
7926 end: { line: 1, column: 16 }
7931 'var x = /[P QR]/i': {
7934 type: 'VariableDeclaration',
7936 type: 'VariableDeclarator',
7942 start: { line: 1, column: 4 },
7943 end: { line: 1, column: 5 }
7956 start: { line: 1, column: 8 },
7957 end: { line: 1, column: 17 }
7962 start: { line: 1, column: 4 },
7963 end: { line: 1, column: 17 }
7969 start: { line: 1, column: 0 },
7970 end: { line: 1, column: 17 }
7975 start: { line: 1, column: 0 },
7976 end: { line: 1, column: 17 }
7983 start: { line: 1, column: 0 },
7984 end: { line: 1, column: 3 }
7991 start: { line: 1, column: 4 },
7992 end: { line: 1, column: 5 }
7999 start: { line: 1, column: 6 },
8000 end: { line: 1, column: 7 }
8003 type: 'RegularExpression',
8011 start: { line: 1, column: 8 },
8012 end: { line: 1, column: 17 }
8017 'var x = /[\\]/]/': {
8020 type: 'VariableDeclaration',
8022 type: 'VariableDeclarator',
8028 start: { line: 1, column: 4 },
8029 end: { line: 1, column: 5 }
8034 value: new RegExp('[\\]/]').toString(),
8042 start: { line: 1, column: 8 },
8043 end: { line: 1, column: 15 }
8048 start: { line: 1, column: 4 },
8049 end: { line: 1, column: 15 }
8055 start: { line: 1, column: 0 },
8056 end: { line: 1, column: 15 }
8061 start: { line: 1, column: 0 },
8062 end: { line: 1, column: 15 }
8069 start: { line: 1, column: 0 },
8070 end: { line: 1, column: 3 }
8077 start: { line: 1, column: 4 },
8078 end: { line: 1, column: 5 }
8085 start: { line: 1, column: 6 },
8086 end: { line: 1, column: 7 }
8089 type: 'RegularExpression',
8097 start: { line: 1, column: 8 },
8098 end: { line: 1, column: 15 }
8103 'var x = /foo\\/bar/': {
8106 type: 'VariableDeclaration',
8108 type: 'VariableDeclarator',
8114 start: { line: 1, column: 4 },
8115 end: { line: 1, column: 5 }
8120 value: '/foo\\/bar/',
8123 pattern: 'foo\\/bar',
8128 start: { line: 1, column: 8 },
8129 end: { line: 1, column: 18 }
8134 start: { line: 1, column: 4 },
8135 end: { line: 1, column: 18 }
8141 start: { line: 1, column: 0 },
8142 end: { line: 1, column: 18 }
8147 start: { line: 1, column: 0 },
8148 end: { line: 1, column: 18 }
8155 start: { line: 1, column: 0 },
8156 end: { line: 1, column: 3 }
8163 start: { line: 1, column: 4 },
8164 end: { line: 1, column: 5 }
8171 start: { line: 1, column: 6 },
8172 end: { line: 1, column: 7 }
8175 type: 'RegularExpression',
8176 value: '/foo\\/bar/',
8178 pattern: 'foo\\/bar',
8183 start: { line: 1, column: 8 },
8184 end: { line: 1, column: 18 }
8189 'var x = /=([^=\\s])+/g': {
8192 type: 'VariableDeclaration',
8194 type: 'VariableDeclarator',
8200 start: { line: 1, column: 4 },
8201 end: { line: 1, column: 5 }
8206 value: '/=([^=\\s])+/g',
8207 raw: '/=([^=\\s])+/g',
8209 pattern: '=([^=\\s])+',
8214 start: { line: 1, column: 8 },
8215 end: { line: 1, column: 21 }
8220 start: { line: 1, column: 4 },
8221 end: { line: 1, column: 21 }
8227 start: { line: 1, column: 0 },
8228 end: { line: 1, column: 21 }
8233 start: { line: 1, column: 0 },
8234 end: { line: 1, column: 21 }
8241 start: { line: 1, column: 0 },
8242 end: { line: 1, column: 3 }
8249 start: { line: 1, column: 4 },
8250 end: { line: 1, column: 5 }
8257 start: { line: 1, column: 6 },
8258 end: { line: 1, column: 7 }
8261 type: 'RegularExpression',
8262 value: '/=([^=\\s])+/g',
8264 pattern: '=([^=\\s])+',
8269 start: { line: 1, column: 8 },
8270 end: { line: 1, column: 21 }
8275 'var x = /42/g.test': {
8276 type: 'VariableDeclaration',
8278 type: 'VariableDeclarator',
8284 start: { line: 1, column: 4 },
8285 end: { line: 1, column: 5 }
8289 type: 'MemberExpression',
8301 start: { line: 1, column: 8 },
8302 end: { line: 1, column: 13 }
8310 start: { line: 1, column: 14 },
8311 end: { line: 1, column: 18 }
8316 start: { line: 1, column: 8 },
8317 end: { line: 1, column: 18 }
8322 start: { line: 1, column: 4 },
8323 end: { line: 1, column: 18 }
8329 start: { line: 1, column: 0 },
8330 end: { line: 1, column: 18 }
8336 'Left-Hand-Side Expression': {
8339 type: 'ExpressionStatement',
8341 type: 'NewExpression',
8347 start: { line: 1, column: 4 },
8348 end: { line: 1, column: 10 }
8354 start: { line: 1, column: 0 },
8355 end: { line: 1, column: 10 }
8360 start: { line: 1, column: 0 },
8361 end: { line: 1, column: 10 }
8366 type: 'ExpressionStatement',
8368 type: 'NewExpression',
8374 start: { line: 1, column: 4 },
8375 end: { line: 1, column: 10 }
8381 start: { line: 1, column: 0 },
8382 end: { line: 1, column: 12 }
8387 start: { line: 1, column: 0 },
8388 end: { line: 1, column: 12 }
8393 type: 'ExpressionStatement',
8395 type: 'NewExpression',
8397 type: 'NewExpression',
8403 start: { line: 1, column: 8 },
8404 end: { line: 1, column: 11 }
8410 start: { line: 1, column: 4 },
8411 end: { line: 1, column: 11 }
8417 start: { line: 1, column: 0 },
8418 end: { line: 1, column: 11 }
8423 start: { line: 1, column: 0 },
8424 end: { line: 1, column: 11 }
8429 type: 'ExpressionStatement',
8431 type: 'NewExpression',
8433 type: 'NewExpression',
8439 start: { line: 1, column: 8 },
8440 end: { line: 1, column: 11 }
8446 start: { line: 1, column: 4 },
8447 end: { line: 1, column: 13 }
8453 start: { line: 1, column: 0 },
8454 end: { line: 1, column: 13 }
8459 start: { line: 1, column: 0 },
8460 end: { line: 1, column: 13 }
8464 'new foo().bar()': {
8465 type: 'ExpressionStatement',
8467 type: 'CallExpression',
8469 type: 'MemberExpression',
8472 type: 'NewExpression',
8478 start: { line: 1, column: 4 },
8479 end: { line: 1, column: 7 }
8485 start: { line: 1, column: 0 },
8486 end: { line: 1, column: 9 }
8494 start: { line: 1, column: 10 },
8495 end: { line: 1, column: 13 }
8500 start: { line: 1, column: 0 },
8501 end: { line: 1, column: 13 }
8507 start: { line: 1, column: 0 },
8508 end: { line: 1, column: 15 }
8513 start: { line: 1, column: 0 },
8514 end: { line: 1, column: 15 }
8519 type: 'ExpressionStatement',
8521 type: 'NewExpression',
8523 type: 'MemberExpression',
8530 start: { line: 1, column: 4 },
8531 end: { line: 1, column: 7 }
8539 start: { line: 1, column: 8 },
8540 end: { line: 1, column: 11 }
8545 start: { line: 1, column: 4 },
8546 end: { line: 1, column: 12 }
8552 start: { line: 1, column: 0 },
8553 end: { line: 1, column: 12 }
8558 start: { line: 1, column: 0 },
8559 end: { line: 1, column: 12 }
8564 type: 'ExpressionStatement',
8566 type: 'NewExpression',
8568 type: 'MemberExpression',
8575 start: { line: 1, column: 4 },
8576 end: { line: 1, column: 7 }
8584 start: { line: 1, column: 8 },
8585 end: { line: 1, column: 11 }
8590 start: { line: 1, column: 4 },
8591 end: { line: 1, column: 11 }
8597 start: { line: 1, column: 0 },
8598 end: { line: 1, column: 13 }
8603 start: { line: 1, column: 0 },
8604 end: { line: 1, column: 13 }
8608 '( new foo).bar()': {
8609 type: 'ExpressionStatement',
8611 type: 'CallExpression',
8613 type: 'MemberExpression',
8616 type: 'NewExpression',
8622 start: { line: 1, column: 6 },
8623 end: { line: 1, column: 9 }
8629 start: { line: 1, column: 2 },
8630 end: { line: 1, column: 9 }
8638 start: { line: 1, column: 11 },
8639 end: { line: 1, column: 14 }
8644 start: { line: 1, column: 0 },
8645 end: { line: 1, column: 14 }
8651 start: { line: 1, column: 0 },
8652 end: { line: 1, column: 16 }
8657 start: { line: 1, column: 0 },
8658 end: { line: 1, column: 16 }
8663 type: 'ExpressionStatement',
8665 type: 'CallExpression',
8671 start: { line: 1, column: 0 },
8672 end: { line: 1, column: 3 }
8680 start: { line: 1, column: 4 },
8681 end: { line: 1, column: 7 }
8688 start: { line: 1, column: 9 },
8689 end: { line: 1, column: 12 }
8694 start: { line: 1, column: 0 },
8695 end: { line: 1, column: 13 }
8700 start: { line: 1, column: 0 },
8701 end: { line: 1, column: 13 }
8706 type: 'ExpressionStatement',
8708 type: 'CallExpression',
8714 start: { line: 1, column: 5 },
8715 end: { line: 1, column: 8 }
8721 start: { line: 1, column: 0 },
8722 end: { line: 1, column: 13 }
8727 start: { line: 1, column: 0 },
8728 end: { line: 1, column: 13 }
8732 'universe.milkyway': {
8733 type: 'ExpressionStatement',
8735 type: 'MemberExpression',
8742 start: { line: 1, column: 0 },
8743 end: { line: 1, column: 8 }
8751 start: { line: 1, column: 9 },
8752 end: { line: 1, column: 17 }
8757 start: { line: 1, column: 0 },
8758 end: { line: 1, column: 17 }
8763 start: { line: 1, column: 0 },
8764 end: { line: 1, column: 17 }
8768 'universe.milkyway.solarsystem': {
8769 type: 'ExpressionStatement',
8771 type: 'MemberExpression',
8774 type: 'MemberExpression',
8781 start: { line: 1, column: 0 },
8782 end: { line: 1, column: 8 }
8790 start: { line: 1, column: 9 },
8791 end: { line: 1, column: 17 }
8796 start: { line: 1, column: 0 },
8797 end: { line: 1, column: 17 }
8802 name: 'solarsystem',
8805 start: { line: 1, column: 18 },
8806 end: { line: 1, column: 29 }
8811 start: { line: 1, column: 0 },
8812 end: { line: 1, column: 29 }
8817 start: { line: 1, column: 0 },
8818 end: { line: 1, column: 29 }
8822 'universe.milkyway.solarsystem.Earth': {
8823 type: 'ExpressionStatement',
8825 type: 'MemberExpression',
8828 type: 'MemberExpression',
8831 type: 'MemberExpression',
8838 start: { line: 1, column: 0 },
8839 end: { line: 1, column: 8 }
8847 start: { line: 1, column: 9 },
8848 end: { line: 1, column: 17 }
8853 start: { line: 1, column: 0 },
8854 end: { line: 1, column: 17 }
8859 name: 'solarsystem',
8862 start: { line: 1, column: 18 },
8863 end: { line: 1, column: 29 }
8868 start: { line: 1, column: 0 },
8869 end: { line: 1, column: 29 }
8877 start: { line: 1, column: 30 },
8878 end: { line: 1, column: 35 }
8883 start: { line: 1, column: 0 },
8884 end: { line: 1, column: 35 }
8889 start: { line: 1, column: 0 },
8890 end: { line: 1, column: 35 }
8894 'universe[galaxyName, otherUselessName]': {
8895 type: 'ExpressionStatement',
8897 type: 'MemberExpression',
8904 start: { line: 1, column: 0 },
8905 end: { line: 1, column: 8 }
8909 type: 'SequenceExpression',
8915 start: { line: 1, column: 9 },
8916 end: { line: 1, column: 19 }
8920 name: 'otherUselessName',
8923 start: { line: 1, column: 21 },
8924 end: { line: 1, column: 37 }
8929 start: { line: 1, column: 9 },
8930 end: { line: 1, column: 37 }
8935 start: { line: 1, column: 0 },
8936 end: { line: 1, column: 38 }
8941 start: { line: 1, column: 0 },
8942 end: { line: 1, column: 38 }
8946 'universe[galaxyName]': {
8947 type: 'ExpressionStatement',
8949 type: 'MemberExpression',
8956 start: { line: 1, column: 0 },
8957 end: { line: 1, column: 8 }
8965 start: { line: 1, column: 9 },
8966 end: { line: 1, column: 19 }
8971 start: { line: 1, column: 0 },
8972 end: { line: 1, column: 20 }
8977 start: { line: 1, column: 0 },
8978 end: { line: 1, column: 20 }
8982 'universe[42].galaxies': {
8983 type: 'ExpressionStatement',
8985 type: 'MemberExpression',
8988 type: 'MemberExpression',
8995 start: { line: 1, column: 0 },
8996 end: { line: 1, column: 8 }
9005 start: { line: 1, column: 9 },
9006 end: { line: 1, column: 11 }
9011 start: { line: 1, column: 0 },
9012 end: { line: 1, column: 12 }
9020 start: { line: 1, column: 13 },
9021 end: { line: 1, column: 21 }
9026 start: { line: 1, column: 0 },
9027 end: { line: 1, column: 21 }
9032 start: { line: 1, column: 0 },
9033 end: { line: 1, column: 21 }
9037 'universe(42).galaxies': {
9038 type: 'ExpressionStatement',
9040 type: 'MemberExpression',
9043 type: 'CallExpression',
9049 start: { line: 1, column: 0 },
9050 end: { line: 1, column: 8 }
9059 start: { line: 1, column: 9 },
9060 end: { line: 1, column: 11 }
9065 start: { line: 1, column: 0 },
9066 end: { line: 1, column: 12 }
9074 start: { line: 1, column: 13 },
9075 end: { line: 1, column: 21 }
9080 start: { line: 1, column: 0 },
9081 end: { line: 1, column: 21 }
9086 start: { line: 1, column: 0 },
9087 end: { line: 1, column: 21 }
9091 'universe(42).galaxies(14, 3, 77).milkyway': {
9092 type: 'ExpressionStatement',
9094 type: 'MemberExpression',
9097 type: 'CallExpression',
9099 type: 'MemberExpression',
9102 type: 'CallExpression',
9108 start: { line: 1, column: 0 },
9109 end: { line: 1, column: 8 }
9118 start: { line: 1, column: 9 },
9119 end: { line: 1, column: 11 }
9124 start: { line: 1, column: 0 },
9125 end: { line: 1, column: 12 }
9133 start: { line: 1, column: 13 },
9134 end: { line: 1, column: 21 }
9139 start: { line: 1, column: 0 },
9140 end: { line: 1, column: 21 }
9149 start: { line: 1, column: 22 },
9150 end: { line: 1, column: 24 }
9158 start: { line: 1, column: 26 },
9159 end: { line: 1, column: 27 }
9167 start: { line: 1, column: 29 },
9168 end: { line: 1, column: 31 }
9173 start: { line: 1, column: 0 },
9174 end: { line: 1, column: 32 }
9182 start: { line: 1, column: 33 },
9183 end: { line: 1, column: 41 }
9188 start: { line: 1, column: 0 },
9189 end: { line: 1, column: 41 }
9194 start: { line: 1, column: 0 },
9195 end: { line: 1, column: 41 }
9199 'earth.asia.Indonesia.prepareForElection(2014)': {
9200 type: 'ExpressionStatement',
9202 type: 'CallExpression',
9204 type: 'MemberExpression',
9207 type: 'MemberExpression',
9210 type: 'MemberExpression',
9217 start: { line: 1, column: 0 },
9218 end: { line: 1, column: 5 }
9226 start: { line: 1, column: 6 },
9227 end: { line: 1, column: 10 }
9232 start: { line: 1, column: 0 },
9233 end: { line: 1, column: 10 }
9241 start: { line: 1, column: 11 },
9242 end: { line: 1, column: 20 }
9247 start: { line: 1, column: 0 },
9248 end: { line: 1, column: 20 }
9253 name: 'prepareForElection',
9256 start: { line: 1, column: 21 },
9257 end: { line: 1, column: 39 }
9262 start: { line: 1, column: 0 },
9263 end: { line: 1, column: 39 }
9272 start: { line: 1, column: 40 },
9273 end: { line: 1, column: 44 }
9278 start: { line: 1, column: 0 },
9279 end: { line: 1, column: 45 }
9284 start: { line: 1, column: 0 },
9285 end: { line: 1, column: 45 }
9290 type: 'ExpressionStatement',
9292 type: 'MemberExpression',
9299 start: { line: 1, column: 0 },
9300 end: { line: 1, column: 8 }
9308 start: { line: 1, column: 9 },
9309 end: { line: 1, column: 11 }
9314 start: { line: 1, column: 0 },
9315 end: { line: 1, column: 11 }
9320 start: { line: 1, column: 0 },
9321 end: { line: 1, column: 11 }
9326 type: 'ExpressionStatement',
9328 type: 'MemberExpression',
9335 start: { line: 1, column: 0 },
9336 end: { line: 1, column: 8 }
9344 start: { line: 1, column: 9 },
9345 end: { line: 1, column: 13 }
9350 start: { line: 1, column: 0 },
9351 end: { line: 1, column: 13 }
9356 start: { line: 1, column: 0 },
9357 end: { line: 1, column: 13 }
9362 type: 'ExpressionStatement',
9364 type: 'MemberExpression',
9371 start: { line: 1, column: 0 },
9372 end: { line: 1, column: 8 }
9380 start: { line: 1, column: 9 },
9381 end: { line: 1, column: 14 }
9386 start: { line: 1, column: 0 },
9387 end: { line: 1, column: 14 }
9392 start: { line: 1, column: 0 },
9393 end: { line: 1, column: 14 }
9398 type: 'ExpressionStatement',
9400 type: 'MemberExpression',
9407 start: { line: 1, column: 0 },
9408 end: { line: 1, column: 8 }
9416 start: { line: 1, column: 9 },
9417 end: { line: 1, column: 13 }
9422 start: { line: 1, column: 0 },
9423 end: { line: 1, column: 13 }
9428 start: { line: 1, column: 0 },
9429 end: { line: 1, column: 13 }
9435 'Postfix Expressions': {
9438 type: 'ExpressionStatement',
9440 type: 'UpdateExpression',
9447 start: { line: 1, column: 0 },
9448 end: { line: 1, column: 1 }
9454 start: { line: 1, column: 0 },
9455 end: { line: 1, column: 3 }
9460 start: { line: 1, column: 0 },
9461 end: { line: 1, column: 3 }
9466 type: 'ExpressionStatement',
9468 type: 'UpdateExpression',
9475 start: { line: 1, column: 0 },
9476 end: { line: 1, column: 1 }
9482 start: { line: 1, column: 0 },
9483 end: { line: 1, column: 3 }
9488 start: { line: 1, column: 0 },
9489 end: { line: 1, column: 3 }
9494 type: 'ExpressionStatement',
9496 type: 'UpdateExpression',
9503 start: { line: 1, column: 0 },
9504 end: { line: 1, column: 4 }
9510 start: { line: 1, column: 0 },
9511 end: { line: 1, column: 6 }
9516 start: { line: 1, column: 0 },
9517 end: { line: 1, column: 6 }
9522 type: 'ExpressionStatement',
9524 type: 'UpdateExpression',
9531 start: { line: 1, column: 0 },
9532 end: { line: 1, column: 4 }
9538 start: { line: 1, column: 0 },
9539 end: { line: 1, column: 6 }
9544 start: { line: 1, column: 0 },
9545 end: { line: 1, column: 6 }
9550 type: 'ExpressionStatement',
9552 type: 'UpdateExpression',
9559 start: { line: 1, column: 0 },
9560 end: { line: 1, column: 9 }
9566 start: { line: 1, column: 0 },
9567 end: { line: 1, column: 11 }
9572 start: { line: 1, column: 0 },
9573 end: { line: 1, column: 11 }
9578 type: 'ExpressionStatement',
9580 type: 'UpdateExpression',
9587 start: { line: 1, column: 0 },
9588 end: { line: 1, column: 9 }
9594 start: { line: 1, column: 0 },
9595 end: { line: 1, column: 11 }
9600 start: { line: 1, column: 0 },
9601 end: { line: 1, column: 11 }
9607 'Unary Operators': {
9610 type: 'ExpressionStatement',
9612 type: 'UpdateExpression',
9619 start: { line: 1, column: 2 },
9620 end: { line: 1, column: 3 }
9626 start: { line: 1, column: 0 },
9627 end: { line: 1, column: 3 }
9632 start: { line: 1, column: 0 },
9633 end: { line: 1, column: 3 }
9638 type: 'ExpressionStatement',
9640 type: 'UpdateExpression',
9647 start: { line: 1, column: 2 },
9648 end: { line: 1, column: 3 }
9654 start: { line: 1, column: 0 },
9655 end: { line: 1, column: 3 }
9660 start: { line: 1, column: 0 },
9661 end: { line: 1, column: 3 }
9666 type: 'ExpressionStatement',
9668 type: 'UpdateExpression',
9675 start: { line: 1, column: 2 },
9676 end: { line: 1, column: 6 }
9682 start: { line: 1, column: 0 },
9683 end: { line: 1, column: 6 }
9688 start: { line: 1, column: 0 },
9689 end: { line: 1, column: 6 }
9694 type: 'ExpressionStatement',
9696 type: 'UpdateExpression',
9703 start: { line: 1, column: 2 },
9704 end: { line: 1, column: 6 }
9710 start: { line: 1, column: 0 },
9711 end: { line: 1, column: 6 }
9716 start: { line: 1, column: 0 },
9717 end: { line: 1, column: 6 }
9722 type: 'ExpressionStatement',
9724 type: 'UpdateExpression',
9731 start: { line: 1, column: 2 },
9732 end: { line: 1, column: 11 }
9738 start: { line: 1, column: 0 },
9739 end: { line: 1, column: 11 }
9744 start: { line: 1, column: 0 },
9745 end: { line: 1, column: 11 }
9750 type: 'ExpressionStatement',
9752 type: 'UpdateExpression',
9759 start: { line: 1, column: 2 },
9760 end: { line: 1, column: 11 }
9766 start: { line: 1, column: 0 },
9767 end: { line: 1, column: 11 }
9772 start: { line: 1, column: 0 },
9773 end: { line: 1, column: 11 }
9778 type: 'ExpressionStatement',
9780 type: 'UnaryExpression',
9787 start: { line: 1, column: 1 },
9788 end: { line: 1, column: 2 }
9794 start: { line: 1, column: 0 },
9795 end: { line: 1, column: 2 }
9800 start: { line: 1, column: 0 },
9801 end: { line: 1, column: 2 }
9806 type: 'ExpressionStatement',
9808 type: 'UnaryExpression',
9815 start: { line: 1, column: 1 },
9816 end: { line: 1, column: 2 }
9822 start: { line: 1, column: 0 },
9823 end: { line: 1, column: 2 }
9828 start: { line: 1, column: 0 },
9829 end: { line: 1, column: 2 }
9834 type: 'ExpressionStatement',
9836 type: 'UnaryExpression',
9843 start: { line: 1, column: 1 },
9844 end: { line: 1, column: 2 }
9850 start: { line: 1, column: 0 },
9851 end: { line: 1, column: 2 }
9856 start: { line: 1, column: 0 },
9857 end: { line: 1, column: 2 }
9862 type: 'ExpressionStatement',
9864 type: 'UnaryExpression',
9871 start: { line: 1, column: 1 },
9872 end: { line: 1, column: 2 }
9878 start: { line: 1, column: 0 },
9879 end: { line: 1, column: 2 }
9884 start: { line: 1, column: 0 },
9885 end: { line: 1, column: 2 }
9890 type: 'ExpressionStatement',
9892 type: 'UnaryExpression',
9899 start: { line: 1, column: 5 },
9900 end: { line: 1, column: 6 }
9906 start: { line: 1, column: 0 },
9907 end: { line: 1, column: 6 }
9912 start: { line: 1, column: 0 },
9913 end: { line: 1, column: 6 }
9918 type: 'ExpressionStatement',
9920 type: 'UnaryExpression',
9927 start: { line: 1, column: 7 },
9928 end: { line: 1, column: 8 }
9934 start: { line: 1, column: 0 },
9935 end: { line: 1, column: 8 }
9940 start: { line: 1, column: 0 },
9941 end: { line: 1, column: 8 }
9946 type: 'ExpressionStatement',
9948 type: 'UnaryExpression',
9955 start: { line: 1, column: 7 },
9956 end: { line: 1, column: 8 }
9962 start: { line: 1, column: 0 },
9963 end: { line: 1, column: 8 }
9968 start: { line: 1, column: 0 },
9969 end: { line: 1, column: 8 }
9975 'Multiplicative Operators': {
9978 type: 'ExpressionStatement',
9980 type: 'BinaryExpression',
9987 start: { line: 1, column: 0 },
9988 end: { line: 1, column: 1 }
9996 start: { line: 1, column: 4 },
9997 end: { line: 1, column: 5 }
10002 start: { line: 1, column: 0 },
10003 end: { line: 1, column: 5 }
10008 start: { line: 1, column: 0 },
10009 end: { line: 1, column: 5 }
10014 type: 'ExpressionStatement',
10016 type: 'BinaryExpression',
10019 type: 'Identifier',
10023 start: { line: 1, column: 0 },
10024 end: { line: 1, column: 1 }
10028 type: 'Identifier',
10032 start: { line: 1, column: 4 },
10033 end: { line: 1, column: 5 }
10038 start: { line: 1, column: 0 },
10039 end: { line: 1, column: 5 }
10044 start: { line: 1, column: 0 },
10045 end: { line: 1, column: 5 }
10050 type: 'ExpressionStatement',
10052 type: 'BinaryExpression',
10055 type: 'Identifier',
10059 start: { line: 1, column: 0 },
10060 end: { line: 1, column: 1 }
10064 type: 'Identifier',
10068 start: { line: 1, column: 4 },
10069 end: { line: 1, column: 5 }
10074 start: { line: 1, column: 0 },
10075 end: { line: 1, column: 5 }
10080 start: { line: 1, column: 0 },
10081 end: { line: 1, column: 5 }
10087 'Additive Operators': {
10090 type: 'ExpressionStatement',
10092 type: 'BinaryExpression',
10095 type: 'Identifier',
10099 start: { line: 1, column: 0 },
10100 end: { line: 1, column: 1 }
10104 type: 'Identifier',
10108 start: { line: 1, column: 4 },
10109 end: { line: 1, column: 5 }
10114 start: { line: 1, column: 0 },
10115 end: { line: 1, column: 5 }
10120 start: { line: 1, column: 0 },
10121 end: { line: 1, column: 5 }
10126 type: 'ExpressionStatement',
10128 type: 'BinaryExpression',
10131 type: 'Identifier',
10135 start: { line: 1, column: 0 },
10136 end: { line: 1, column: 1 }
10140 type: 'Identifier',
10144 start: { line: 1, column: 4 },
10145 end: { line: 1, column: 5 }
10150 start: { line: 1, column: 0 },
10151 end: { line: 1, column: 5 }
10156 start: { line: 1, column: 0 },
10157 end: { line: 1, column: 5 }
10161 '"use strict" + 42': {
10162 type: 'ExpressionStatement',
10164 type: 'BinaryExpression',
10168 value: 'use strict',
10169 raw: '"use strict"',
10172 start: { line: 1, column: 0 },
10173 end: { line: 1, column: 12 }
10182 start: { line: 1, column: 15 },
10183 end: { line: 1, column: 17 }
10188 start: { line: 1, column: 0 },
10189 end: { line: 1, column: 17 }
10194 start: { line: 1, column: 0 },
10195 end: { line: 1, column: 17 }
10201 'Bitwise Shift Operator': {
10204 type: 'ExpressionStatement',
10206 type: 'BinaryExpression',
10209 type: 'Identifier',
10213 start: { line: 1, column: 0 },
10214 end: { line: 1, column: 1 }
10218 type: 'Identifier',
10222 start: { line: 1, column: 5 },
10223 end: { line: 1, column: 6 }
10228 start: { line: 1, column: 0 },
10229 end: { line: 1, column: 6 }
10234 start: { line: 1, column: 0 },
10235 end: { line: 1, column: 6 }
10240 type: 'ExpressionStatement',
10242 type: 'BinaryExpression',
10245 type: 'Identifier',
10249 start: { line: 1, column: 0 },
10250 end: { line: 1, column: 1 }
10254 type: 'Identifier',
10258 start: { line: 1, column: 5 },
10259 end: { line: 1, column: 6 }
10264 start: { line: 1, column: 0 },
10265 end: { line: 1, column: 6 }
10270 start: { line: 1, column: 0 },
10271 end: { line: 1, column: 6 }
10276 type: 'ExpressionStatement',
10278 type: 'BinaryExpression',
10281 type: 'Identifier',
10285 start: { line: 1, column: 0 },
10286 end: { line: 1, column: 1 }
10290 type: 'Identifier',
10294 start: { line: 1, column: 6 },
10295 end: { line: 1, column: 7 }
10300 start: { line: 1, column: 0 },
10301 end: { line: 1, column: 7 }
10306 start: { line: 1, column: 0 },
10307 end: { line: 1, column: 7 }
10313 'Relational Operators': {
10316 type: 'ExpressionStatement',
10318 type: 'BinaryExpression',
10321 type: 'Identifier',
10325 start: { line: 1, column: 0 },
10326 end: { line: 1, column: 1 }
10330 type: 'Identifier',
10334 start: { line: 1, column: 4 },
10335 end: { line: 1, column: 5 }
10340 start: { line: 1, column: 0 },
10341 end: { line: 1, column: 5 }
10346 start: { line: 1, column: 0 },
10347 end: { line: 1, column: 5 }
10352 type: 'ExpressionStatement',
10354 type: 'BinaryExpression',
10357 type: 'Identifier',
10361 start: { line: 1, column: 0 },
10362 end: { line: 1, column: 1 }
10366 type: 'Identifier',
10370 start: { line: 1, column: 4 },
10371 end: { line: 1, column: 5 }
10376 start: { line: 1, column: 0 },
10377 end: { line: 1, column: 5 }
10382 start: { line: 1, column: 0 },
10383 end: { line: 1, column: 5 }
10388 type: 'ExpressionStatement',
10390 type: 'BinaryExpression',
10393 type: 'Identifier',
10397 start: { line: 1, column: 0 },
10398 end: { line: 1, column: 1 }
10402 type: 'Identifier',
10406 start: { line: 1, column: 5 },
10407 end: { line: 1, column: 6 }
10412 start: { line: 1, column: 0 },
10413 end: { line: 1, column: 6 }
10418 start: { line: 1, column: 0 },
10419 end: { line: 1, column: 6 }
10424 type: 'ExpressionStatement',
10426 type: 'BinaryExpression',
10429 type: 'Identifier',
10433 start: { line: 1, column: 0 },
10434 end: { line: 1, column: 1 }
10438 type: 'Identifier',
10442 start: { line: 1, column: 5 },
10443 end: { line: 1, column: 6 }
10448 start: { line: 1, column: 0 },
10449 end: { line: 1, column: 6 }
10454 start: { line: 1, column: 0 },
10455 end: { line: 1, column: 6 }
10460 type: 'ExpressionStatement',
10462 type: 'BinaryExpression',
10465 type: 'Identifier',
10469 start: { line: 1, column: 0 },
10470 end: { line: 1, column: 1 }
10474 type: 'Identifier',
10478 start: { line: 1, column: 5 },
10479 end: { line: 1, column: 6 }
10484 start: { line: 1, column: 0 },
10485 end: { line: 1, column: 6 }
10490 start: { line: 1, column: 0 },
10491 end: { line: 1, column: 6 }
10495 'x instanceof y': {
10496 type: 'ExpressionStatement',
10498 type: 'BinaryExpression',
10499 operator: 'instanceof',
10501 type: 'Identifier',
10505 start: { line: 1, column: 0 },
10506 end: { line: 1, column: 1 }
10510 type: 'Identifier',
10514 start: { line: 1, column: 13 },
10515 end: { line: 1, column: 14 }
10520 start: { line: 1, column: 0 },
10521 end: { line: 1, column: 14 }
10526 start: { line: 1, column: 0 },
10527 end: { line: 1, column: 14 }
10532 type: 'ExpressionStatement',
10534 type: 'BinaryExpression',
10537 type: 'BinaryExpression',
10540 type: 'Identifier',
10544 start: { line: 1, column: 0 },
10545 end: { line: 1, column: 1 }
10549 type: 'Identifier',
10553 start: { line: 1, column: 4 },
10554 end: { line: 1, column: 5 }
10559 start: { line: 1, column: 0 },
10560 end: { line: 1, column: 5 }
10564 type: 'Identifier',
10568 start: { line: 1, column: 8 },
10569 end: { line: 1, column: 9 }
10574 start: { line: 1, column: 0 },
10575 end: { line: 1, column: 9 }
10580 start: { line: 1, column: 0 },
10581 end: { line: 1, column: 9 }
10587 'Equality Operators': {
10590 type: 'ExpressionStatement',
10592 type: 'BinaryExpression',
10595 type: 'Identifier',
10599 start: { line: 1, column: 0 },
10600 end: { line: 1, column: 1 }
10604 type: 'Identifier',
10608 start: { line: 1, column: 5 },
10609 end: { line: 1, column: 6 }
10614 start: { line: 1, column: 0 },
10615 end: { line: 1, column: 6 }
10620 start: { line: 1, column: 0 },
10621 end: { line: 1, column: 6 }
10626 type: 'ExpressionStatement',
10628 type: 'BinaryExpression',
10631 type: 'Identifier',
10635 start: { line: 1, column: 0 },
10636 end: { line: 1, column: 1 }
10640 type: 'Identifier',
10644 start: { line: 1, column: 5 },
10645 end: { line: 1, column: 6 }
10650 start: { line: 1, column: 0 },
10651 end: { line: 1, column: 6 }
10656 start: { line: 1, column: 0 },
10657 end: { line: 1, column: 6 }
10662 type: 'ExpressionStatement',
10664 type: 'BinaryExpression',
10667 type: 'Identifier',
10671 start: { line: 1, column: 0 },
10672 end: { line: 1, column: 1 }
10676 type: 'Identifier',
10680 start: { line: 1, column: 6 },
10681 end: { line: 1, column: 7 }
10686 start: { line: 1, column: 0 },
10687 end: { line: 1, column: 7 }
10692 start: { line: 1, column: 0 },
10693 end: { line: 1, column: 7 }
10698 type: 'ExpressionStatement',
10700 type: 'BinaryExpression',
10703 type: 'Identifier',
10707 start: { line: 1, column: 0 },
10708 end: { line: 1, column: 1 }
10712 type: 'Identifier',
10716 start: { line: 1, column: 6 },
10717 end: { line: 1, column: 7 }
10722 start: { line: 1, column: 0 },
10723 end: { line: 1, column: 7 }
10728 start: { line: 1, column: 0 },
10729 end: { line: 1, column: 7 }
10735 'Binary Bitwise Operators': {
10738 type: 'ExpressionStatement',
10740 type: 'BinaryExpression',
10743 type: 'Identifier',
10747 start: { line: 1, column: 0 },
10748 end: { line: 1, column: 1 }
10752 type: 'Identifier',
10756 start: { line: 1, column: 4 },
10757 end: { line: 1, column: 5 }
10762 start: { line: 1, column: 0 },
10763 end: { line: 1, column: 5 }
10768 start: { line: 1, column: 0 },
10769 end: { line: 1, column: 5 }
10774 type: 'ExpressionStatement',
10776 type: 'BinaryExpression',
10779 type: 'Identifier',
10783 start: { line: 1, column: 0 },
10784 end: { line: 1, column: 1 }
10788 type: 'Identifier',
10792 start: { line: 1, column: 4 },
10793 end: { line: 1, column: 5 }
10798 start: { line: 1, column: 0 },
10799 end: { line: 1, column: 5 }
10804 start: { line: 1, column: 0 },
10805 end: { line: 1, column: 5 }
10810 type: 'ExpressionStatement',
10812 type: 'BinaryExpression',
10815 type: 'Identifier',
10819 start: { line: 1, column: 0 },
10820 end: { line: 1, column: 1 }
10824 type: 'Identifier',
10828 start: { line: 1, column: 4 },
10829 end: { line: 1, column: 5 }
10834 start: { line: 1, column: 0 },
10835 end: { line: 1, column: 5 }
10840 start: { line: 1, column: 0 },
10841 end: { line: 1, column: 5 }
10847 'Binary Expressions': {
10850 type: 'ExpressionStatement',
10852 type: 'BinaryExpression',
10855 type: 'BinaryExpression',
10858 type: 'Identifier',
10862 start: { line: 1, column: 0 },
10863 end: { line: 1, column: 1 }
10867 type: 'Identifier',
10871 start: { line: 1, column: 4 },
10872 end: { line: 1, column: 5 }
10877 start: { line: 1, column: 0 },
10878 end: { line: 1, column: 5 }
10882 type: 'Identifier',
10886 start: { line: 1, column: 8 },
10887 end: { line: 1, column: 9 }
10892 start: { line: 1, column: 0 },
10893 end: { line: 1, column: 9 }
10898 start: { line: 1, column: 0 },
10899 end: { line: 1, column: 9 }
10904 type: 'ExpressionStatement',
10906 type: 'BinaryExpression',
10909 type: 'BinaryExpression',
10912 type: 'Identifier',
10916 start: { line: 1, column: 0 },
10917 end: { line: 1, column: 1 }
10921 type: 'Identifier',
10925 start: { line: 1, column: 4 },
10926 end: { line: 1, column: 5 }
10931 start: { line: 1, column: 0 },
10932 end: { line: 1, column: 5 }
10936 type: 'Identifier',
10940 start: { line: 1, column: 8 },
10941 end: { line: 1, column: 9 }
10946 start: { line: 1, column: 0 },
10947 end: { line: 1, column: 9 }
10952 start: { line: 1, column: 0 },
10953 end: { line: 1, column: 9 }
10958 type: 'ExpressionStatement',
10960 type: 'BinaryExpression',
10963 type: 'BinaryExpression',
10966 type: 'Identifier',
10970 start: { line: 1, column: 0 },
10971 end: { line: 1, column: 1 }
10975 type: 'Identifier',
10979 start: { line: 1, column: 4 },
10980 end: { line: 1, column: 5 }
10985 start: { line: 1, column: 0 },
10986 end: { line: 1, column: 5 }
10990 type: 'Identifier',
10994 start: { line: 1, column: 8 },
10995 end: { line: 1, column: 9 }
11000 start: { line: 1, column: 0 },
11001 end: { line: 1, column: 9 }
11006 start: { line: 1, column: 0 },
11007 end: { line: 1, column: 9 }
11012 type: 'ExpressionStatement',
11014 type: 'BinaryExpression',
11017 type: 'BinaryExpression',
11020 type: 'Identifier',
11024 start: { line: 1, column: 0 },
11025 end: { line: 1, column: 1 }
11029 type: 'Identifier',
11033 start: { line: 1, column: 4 },
11034 end: { line: 1, column: 5 }
11039 start: { line: 1, column: 0 },
11040 end: { line: 1, column: 5 }
11044 type: 'Identifier',
11048 start: { line: 1, column: 8 },
11049 end: { line: 1, column: 9 }
11054 start: { line: 1, column: 0 },
11055 end: { line: 1, column: 9 }
11060 start: { line: 1, column: 0 },
11061 end: { line: 1, column: 9 }
11066 type: 'ExpressionStatement',
11068 type: 'BinaryExpression',
11071 type: 'Identifier',
11075 start: { line: 1, column: 0 },
11076 end: { line: 1, column: 1 }
11080 type: 'BinaryExpression',
11083 type: 'Identifier',
11087 start: { line: 1, column: 4 },
11088 end: { line: 1, column: 5 }
11092 type: 'Identifier',
11096 start: { line: 1, column: 8 },
11097 end: { line: 1, column: 9 }
11102 start: { line: 1, column: 4 },
11103 end: { line: 1, column: 9 }
11108 start: { line: 1, column: 0 },
11109 end: { line: 1, column: 9 }
11114 start: { line: 1, column: 0 },
11115 end: { line: 1, column: 9 }
11120 type: 'ExpressionStatement',
11122 type: 'BinaryExpression',
11125 type: 'Identifier',
11129 start: { line: 1, column: 0 },
11130 end: { line: 1, column: 1 }
11134 type: 'BinaryExpression',
11137 type: 'Identifier',
11141 start: { line: 1, column: 4 },
11142 end: { line: 1, column: 5 }
11146 type: 'Identifier',
11150 start: { line: 1, column: 8 },
11151 end: { line: 1, column: 9 }
11156 start: { line: 1, column: 4 },
11157 end: { line: 1, column: 9 }
11162 start: { line: 1, column: 0 },
11163 end: { line: 1, column: 9 }
11168 start: { line: 1, column: 0 },
11169 end: { line: 1, column: 9 }
11174 type: 'ExpressionStatement',
11176 type: 'BinaryExpression',
11179 type: 'Identifier',
11183 start: { line: 1, column: 0 },
11184 end: { line: 1, column: 1 }
11188 type: 'BinaryExpression',
11191 type: 'Identifier',
11195 start: { line: 1, column: 4 },
11196 end: { line: 1, column: 5 }
11200 type: 'Identifier',
11204 start: { line: 1, column: 8 },
11205 end: { line: 1, column: 9 }
11210 start: { line: 1, column: 4 },
11211 end: { line: 1, column: 9 }
11216 start: { line: 1, column: 0 },
11217 end: { line: 1, column: 9 }
11222 start: { line: 1, column: 0 },
11223 end: { line: 1, column: 9 }
11228 type: 'ExpressionStatement',
11230 type: 'BinaryExpression',
11233 type: 'BinaryExpression',
11236 type: 'Identifier',
11240 start: { line: 1, column: 0 },
11241 end: { line: 1, column: 1 }
11245 type: 'Identifier',
11249 start: { line: 1, column: 4 },
11250 end: { line: 1, column: 5 }
11255 start: { line: 1, column: 0 },
11256 end: { line: 1, column: 5 }
11260 type: 'Identifier',
11264 start: { line: 1, column: 8 },
11265 end: { line: 1, column: 9 }
11270 start: { line: 1, column: 0 },
11271 end: { line: 1, column: 9 }
11276 start: { line: 1, column: 0 },
11277 end: { line: 1, column: 9 }
11282 type: 'ExpressionStatement',
11284 type: 'BinaryExpression',
11287 type: 'BinaryExpression',
11290 type: 'Identifier',
11294 start: { line: 1, column: 0 },
11295 end: { line: 1, column: 1 }
11299 type: 'Identifier',
11303 start: { line: 1, column: 4 },
11304 end: { line: 1, column: 5 }
11309 start: { line: 1, column: 0 },
11310 end: { line: 1, column: 5 }
11314 type: 'Identifier',
11318 start: { line: 1, column: 8 },
11319 end: { line: 1, column: 9 }
11324 start: { line: 1, column: 0 },
11325 end: { line: 1, column: 9 }
11330 start: { line: 1, column: 0 },
11331 end: { line: 1, column: 9 }
11336 type: 'ExpressionStatement',
11338 type: 'BinaryExpression',
11341 type: 'BinaryExpression',
11344 type: 'Identifier',
11348 start: { line: 1, column: 0 },
11349 end: { line: 1, column: 1 }
11353 type: 'Identifier',
11357 start: { line: 1, column: 4 },
11358 end: { line: 1, column: 5 }
11363 start: { line: 1, column: 0 },
11364 end: { line: 1, column: 5 }
11368 type: 'Identifier',
11372 start: { line: 1, column: 8 },
11373 end: { line: 1, column: 9 }
11378 start: { line: 1, column: 0 },
11379 end: { line: 1, column: 9 }
11384 start: { line: 1, column: 0 },
11385 end: { line: 1, column: 9 }
11390 type: 'ExpressionStatement',
11392 type: 'BinaryExpression',
11395 type: 'BinaryExpression',
11398 type: 'Identifier',
11402 start: { line: 1, column: 0 },
11403 end: { line: 1, column: 1 }
11407 type: 'Identifier',
11411 start: { line: 1, column: 4 },
11412 end: { line: 1, column: 5 }
11417 start: { line: 1, column: 0 },
11418 end: { line: 1, column: 5 }
11422 type: 'Identifier',
11426 start: { line: 1, column: 8 },
11427 end: { line: 1, column: 9 }
11432 start: { line: 1, column: 0 },
11433 end: { line: 1, column: 9 }
11438 start: { line: 1, column: 0 },
11439 end: { line: 1, column: 9 }
11444 type: 'ExpressionStatement',
11446 type: 'BinaryExpression',
11449 type: 'BinaryExpression',
11452 type: 'Identifier',
11456 start: { line: 1, column: 0 },
11457 end: { line: 1, column: 1 }
11461 type: 'Identifier',
11465 start: { line: 1, column: 5 },
11466 end: { line: 1, column: 6 }
11471 start: { line: 1, column: 0 },
11472 end: { line: 1, column: 6 }
11476 type: 'Identifier',
11480 start: { line: 1, column: 10 },
11481 end: { line: 1, column: 11 }
11486 start: { line: 1, column: 0 },
11487 end: { line: 1, column: 11 }
11492 start: { line: 1, column: 0 },
11493 end: { line: 1, column: 11 }
11498 type: 'ExpressionStatement',
11500 type: 'BinaryExpression',
11503 type: 'BinaryExpression',
11506 type: 'Identifier',
11510 start: { line: 1, column: 0 },
11511 end: { line: 1, column: 1 }
11515 type: 'Identifier',
11519 start: { line: 1, column: 4 },
11520 end: { line: 1, column: 5 }
11525 start: { line: 1, column: 0 },
11526 end: { line: 1, column: 5 }
11530 type: 'Identifier',
11534 start: { line: 1, column: 8 },
11535 end: { line: 1, column: 9 }
11540 start: { line: 1, column: 0 },
11541 end: { line: 1, column: 9 }
11546 start: { line: 1, column: 0 },
11547 end: { line: 1, column: 9 }
11552 type: 'ExpressionStatement',
11554 type: 'BinaryExpression',
11557 type: 'BinaryExpression',
11560 type: 'Identifier',
11564 start: { line: 1, column: 0 },
11565 end: { line: 1, column: 1 }
11569 type: 'Identifier',
11573 start: { line: 1, column: 4 },
11574 end: { line: 1, column: 5 }
11579 start: { line: 1, column: 0 },
11580 end: { line: 1, column: 5 }
11584 type: 'Identifier',
11588 start: { line: 1, column: 8 },
11589 end: { line: 1, column: 9 }
11594 start: { line: 1, column: 0 },
11595 end: { line: 1, column: 9 }
11600 start: { line: 1, column: 0 },
11601 end: { line: 1, column: 9 }
11606 type: 'ExpressionStatement',
11608 type: 'BinaryExpression',
11611 type: 'BinaryExpression',
11614 type: 'Identifier',
11618 start: { line: 1, column: 0 },
11619 end: { line: 1, column: 1 }
11623 type: 'Identifier',
11627 start: { line: 1, column: 4 },
11628 end: { line: 1, column: 5 }
11633 start: { line: 1, column: 0 },
11634 end: { line: 1, column: 5 }
11638 type: 'Identifier',
11642 start: { line: 1, column: 8 },
11643 end: { line: 1, column: 9 }
11648 start: { line: 1, column: 0 },
11649 end: { line: 1, column: 9 }
11654 start: { line: 1, column: 0 },
11655 end: { line: 1, column: 9 }
11660 type: 'ExpressionStatement',
11662 type: 'BinaryExpression',
11665 type: 'BinaryExpression',
11668 type: 'Identifier',
11672 start: { line: 1, column: 0 },
11673 end: { line: 1, column: 1 }
11677 type: 'Identifier',
11681 start: { line: 1, column: 4 },
11682 end: { line: 1, column: 5 }
11687 start: { line: 1, column: 0 },
11688 end: { line: 1, column: 5 }
11692 type: 'Identifier',
11696 start: { line: 1, column: 8 },
11697 end: { line: 1, column: 9 }
11702 start: { line: 1, column: 0 },
11703 end: { line: 1, column: 9 }
11708 start: { line: 1, column: 0 },
11709 end: { line: 1, column: 9 }
11714 type: 'ExpressionStatement',
11716 type: 'BinaryExpression',
11719 type: 'Identifier',
11723 start: { line: 1, column: 0 },
11724 end: { line: 1, column: 1 }
11728 type: 'BinaryExpression',
11731 type: 'Identifier',
11735 start: { line: 1, column: 4 },
11736 end: { line: 1, column: 5 }
11740 type: 'Identifier',
11744 start: { line: 1, column: 8 },
11745 end: { line: 1, column: 9 }
11750 start: { line: 1, column: 4 },
11751 end: { line: 1, column: 9 }
11756 start: { line: 1, column: 0 },
11757 end: { line: 1, column: 9 }
11762 start: { line: 1, column: 0 },
11763 end: { line: 1, column: 9 }
11768 type: 'ExpressionStatement',
11770 type: 'BinaryExpression',
11773 type: 'Identifier',
11777 start: { line: 1, column: 0 },
11778 end: { line: 1, column: 1 }
11782 type: 'BinaryExpression',
11785 type: 'Identifier',
11789 start: { line: 1, column: 4 },
11790 end: { line: 1, column: 5 }
11794 type: 'Identifier',
11798 start: { line: 1, column: 8 },
11799 end: { line: 1, column: 9 }
11804 start: { line: 1, column: 4 },
11805 end: { line: 1, column: 9 }
11810 start: { line: 1, column: 0 },
11811 end: { line: 1, column: 9 }
11816 start: { line: 1, column: 0 },
11817 end: { line: 1, column: 9 }
11823 'Binary Logical Operators': {
11826 type: 'ExpressionStatement',
11828 type: 'LogicalExpression',
11831 type: 'Identifier',
11835 start: { line: 1, column: 0 },
11836 end: { line: 1, column: 1 }
11840 type: 'Identifier',
11844 start: { line: 1, column: 5 },
11845 end: { line: 1, column: 6 }
11850 start: { line: 1, column: 0 },
11851 end: { line: 1, column: 6 }
11856 start: { line: 1, column: 0 },
11857 end: { line: 1, column: 6 }
11862 type: 'ExpressionStatement',
11864 type: 'LogicalExpression',
11867 type: 'Identifier',
11871 start: { line: 1, column: 0 },
11872 end: { line: 1, column: 1 }
11876 type: 'Identifier',
11880 start: { line: 1, column: 5 },
11881 end: { line: 1, column: 6 }
11886 start: { line: 1, column: 0 },
11887 end: { line: 1, column: 6 }
11892 start: { line: 1, column: 0 },
11893 end: { line: 1, column: 6 }
11898 type: 'ExpressionStatement',
11900 type: 'LogicalExpression',
11903 type: 'LogicalExpression',
11906 type: 'Identifier',
11910 start: { line: 1, column: 0 },
11911 end: { line: 1, column: 1 }
11915 type: 'Identifier',
11919 start: { line: 1, column: 5 },
11920 end: { line: 1, column: 6 }
11925 start: { line: 1, column: 0 },
11926 end: { line: 1, column: 6 }
11930 type: 'Identifier',
11934 start: { line: 1, column: 10 },
11935 end: { line: 1, column: 11 }
11940 start: { line: 1, column: 0 },
11941 end: { line: 1, column: 11 }
11946 start: { line: 1, column: 0 },
11947 end: { line: 1, column: 11 }
11952 type: 'ExpressionStatement',
11954 type: 'LogicalExpression',
11957 type: 'LogicalExpression',
11960 type: 'Identifier',
11964 start: { line: 1, column: 0 },
11965 end: { line: 1, column: 1 }
11969 type: 'Identifier',
11973 start: { line: 1, column: 5 },
11974 end: { line: 1, column: 6 }
11979 start: { line: 1, column: 0 },
11980 end: { line: 1, column: 6 }
11984 type: 'Identifier',
11988 start: { line: 1, column: 10 },
11989 end: { line: 1, column: 11 }
11994 start: { line: 1, column: 0 },
11995 end: { line: 1, column: 11 }
12000 start: { line: 1, column: 0 },
12001 end: { line: 1, column: 11 }
12006 type: 'ExpressionStatement',
12008 type: 'LogicalExpression',
12011 type: 'Identifier',
12015 start: { line: 1, column: 0 },
12016 end: { line: 1, column: 1 }
12020 type: 'LogicalExpression',
12023 type: 'Identifier',
12027 start: { line: 1, column: 5 },
12028 end: { line: 1, column: 6 }
12032 type: 'Identifier',
12036 start: { line: 1, column: 10 },
12037 end: { line: 1, column: 11 }
12042 start: { line: 1, column: 5 },
12043 end: { line: 1, column: 11 }
12048 start: { line: 1, column: 0 },
12049 end: { line: 1, column: 11 }
12054 start: { line: 1, column: 0 },
12055 end: { line: 1, column: 11 }
12060 type: 'ExpressionStatement',
12062 type: 'LogicalExpression',
12065 type: 'Identifier',
12069 start: { line: 1, column: 0 },
12070 end: { line: 1, column: 1 }
12074 type: 'BinaryExpression',
12077 type: 'Identifier',
12081 start: { line: 1, column: 5 },
12082 end: { line: 1, column: 6 }
12086 type: 'Identifier',
12090 start: { line: 1, column: 9 },
12091 end: { line: 1, column: 10 }
12096 start: { line: 1, column: 5 },
12097 end: { line: 1, column: 10 }
12102 start: { line: 1, column: 0 },
12103 end: { line: 1, column: 10 }
12108 start: { line: 1, column: 0 },
12109 end: { line: 1, column: 10 }
12115 'Conditional Operator': {
12118 type: 'ExpressionStatement',
12120 type: 'ConditionalExpression',
12122 type: 'Identifier',
12126 start: { line: 1, column: 0 },
12127 end: { line: 1, column: 1 }
12136 start: { line: 1, column: 4 },
12137 end: { line: 1, column: 5 }
12146 start: { line: 1, column: 8 },
12147 end: { line: 1, column: 9 }
12152 start: { line: 1, column: 0 },
12153 end: { line: 1, column: 9 }
12158 start: { line: 1, column: 0 },
12159 end: { line: 1, column: 9 }
12163 'x && y ? 1 : 2': {
12164 type: 'ExpressionStatement',
12166 type: 'ConditionalExpression',
12168 type: 'LogicalExpression',
12171 type: 'Identifier',
12175 start: { line: 1, column: 0 },
12176 end: { line: 1, column: 1 }
12180 type: 'Identifier',
12184 start: { line: 1, column: 5 },
12185 end: { line: 1, column: 6 }
12190 start: { line: 1, column: 0 },
12191 end: { line: 1, column: 6 }
12200 start: { line: 1, column: 9 },
12201 end: { line: 1, column: 10 }
12210 start: { line: 1, column: 13 },
12211 end: { line: 1, column: 14 }
12216 start: { line: 1, column: 0 },
12217 end: { line: 1, column: 14 }
12222 start: { line: 1, column: 0 },
12223 end: { line: 1, column: 14 }
12226 'x = (0) ? 1 : 2' : {
12227 type: 'ExpressionStatement',
12229 type: 'AssignmentExpression',
12232 type: 'Identifier',
12236 start: { line: 1, column: 0 },
12237 end: { line: 1, column: 1 }
12241 type: 'ConditionalExpression',
12247 loc: { start: { line: 1, column: 5 }, end: { line: 1, column: 6 } }
12254 loc: { start: { line: 1, column: 10 }, end: { line: 1, column: 11 } }
12261 loc: { start: { line: 1, column: 14 }, end: { line: 1, column: 15 } }
12264 loc: { start: { line: 1, column: 4 }, end: { line: 1, column: 15 } }
12267 loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }
12270 loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }
12274 '[ES6] Arrow Function': {
12277 type: 'ExpressionStatement',
12279 type: 'ArrowFunctionExpression',
12289 start: { line: 1, column: 6 },
12290 end: { line: 1, column: 12 }
12298 start: { line: 1, column: 0 },
12299 end: { line: 1, column: 12 }
12304 start: { line: 1, column: 0 },
12305 end: { line: 1, column: 12 }
12310 type: 'ExpressionStatement',
12312 type: 'ArrowFunctionExpression',
12315 type: 'Identifier',
12319 start: { line: 1, column: 0 },
12320 end: { line: 1, column: 1 }
12330 start: { line: 1, column: 5 },
12331 end: { line: 1, column: 11 }
12339 start: { line: 1, column: 0 },
12340 end: { line: 1, column: 11 }
12345 start: { line: 1, column: 0 },
12346 end: { line: 1, column: 11 }
12351 type: 'ExpressionStatement',
12353 type: 'ArrowFunctionExpression',
12356 type: 'Identifier',
12360 start: { line: 1, column: 1 },
12361 end: { line: 1, column: 2 }
12371 start: { line: 1, column: 7 },
12372 end: { line: 1, column: 13 }
12380 start: { line: 1, column: 0 },
12381 end: { line: 1, column: 13 }
12386 start: { line: 1, column: 0 },
12387 end: { line: 1, column: 13 }
12391 '(a, b) => "test"': {
12392 type: 'ExpressionStatement',
12394 type: 'ArrowFunctionExpression',
12397 type: 'Identifier',
12401 start: { line: 1, column: 1 },
12402 end: { line: 1, column: 2 }
12405 type: 'Identifier',
12409 start: { line: 1, column: 4 },
12410 end: { line: 1, column: 5 }
12420 start: { line: 1, column: 10 },
12421 end: { line: 1, column: 16 }
12429 start: { line: 1, column: 0 },
12430 end: { line: 1, column: 16 }
12435 start: { line: 1, column: 0 },
12436 end: { line: 1, column: 16 }
12441 type: 'ExpressionStatement',
12443 type: 'ArrowFunctionExpression',
12446 type: 'Identifier',
12450 start: { line: 1, column: 0 },
12451 end: { line: 1, column: 1 }
12456 type: 'BlockStatement',
12458 type: 'ExpressionStatement',
12465 start: { line: 1, column: 7 },
12466 end: { line: 1, column: 9 }
12471 start: { line: 1, column: 7 },
12472 end: { line: 1, column: 10 }
12477 start: { line: 1, column: 5 },
12478 end: { line: 1, column: 12 }
12486 start: { line: 1, column: 0 },
12487 end: { line: 1, column: 12 }
12492 start: { line: 1, column: 0 },
12493 end: { line: 1, column: 12 }
12497 'e => ({ property: 42 })': {
12498 type: 'ExpressionStatement',
12500 type: 'ArrowFunctionExpression',
12503 type: 'Identifier',
12507 start: { line: 1, column: 0 },
12508 end: { line: 1, column: 1 }
12513 type: 'ObjectExpression',
12517 type: 'Identifier',
12521 start: { line: 1, column: 8 },
12522 end: { line: 1, column: 16 }
12531 start: { line: 1, column: 18 },
12532 end: { line: 1, column: 20 }
12540 start: { line: 1, column: 8 },
12541 end: { line: 1, column: 20 }
12546 start: { line: 1, column: 6 },
12547 end: { line: 1, column: 22 }
12555 start: { line: 1, column: 0 },
12556 end: { line: 1, column: 23 }
12561 start: { line: 1, column: 0 },
12562 end: { line: 1, column: 23 }
12567 'e => { label: 42 }': {
12568 type: 'ExpressionStatement',
12570 type: 'ArrowFunctionExpression',
12573 type: 'Identifier',
12577 start: { line: 1, column: 0 },
12578 end: { line: 1, column: 1 }
12583 type: 'BlockStatement',
12585 type: 'LabeledStatement',
12587 type: 'Identifier',
12591 start: { line: 1, column: 7 },
12592 end: { line: 1, column: 12 }
12596 type: 'ExpressionStatement',
12603 start: { line: 1, column: 14 },
12604 end: { line: 1, column: 16 }
12609 start: { line: 1, column: 14 },
12610 end: { line: 1, column: 17 }
12615 start: { line: 1, column: 7 },
12616 end: { line: 1, column: 17 }
12621 start: { line: 1, column: 5 },
12622 end: { line: 1, column: 18 }
12630 start: { line: 1, column: 0 },
12631 end: { line: 1, column: 18 }
12636 start: { line: 1, column: 0 },
12637 end: { line: 1, column: 18 }
12641 '(a, b) => { 42; }': {
12642 type: 'ExpressionStatement',
12644 type: 'ArrowFunctionExpression',
12647 type: 'Identifier',
12651 start: { line: 1, column: 1 },
12652 end: { line: 1, column: 2 }
12655 type: 'Identifier',
12659 start: { line: 1, column: 4 },
12660 end: { line: 1, column: 5 }
12665 type: 'BlockStatement',
12667 type: 'ExpressionStatement',
12674 start: { line: 1, column: 12 },
12675 end: { line: 1, column: 14 }
12680 start: { line: 1, column: 12 },
12681 end: { line: 1, column: 15 }
12686 start: { line: 1, column: 10 },
12687 end: { line: 1, column: 17 }
12695 start: { line: 1, column: 0 },
12696 end: { line: 1, column: 17 }
12701 start: { line: 1, column: 0 },
12702 end: { line: 1, column: 17 }
12706 '(x=1) => x * x': {
12707 type: 'ExpressionStatement',
12709 type: 'ArrowFunctionExpression',
12712 type: 'Identifier',
12716 start: { line: 1, column: 1 },
12717 end: { line: 1, column: 2 }
12726 start: { line: 1, column: 3 },
12727 end: { line: 1, column: 4 }
12731 type: 'BinaryExpression',
12734 type: 'Identifier',
12738 start: { line: 1, column: 9 },
12739 end: { line: 1, column: 10 }
12743 type: 'Identifier',
12747 start: { line: 1, column: 13 },
12748 end: { line: 1, column: 14 }
12753 start: { line: 1, column: 9 },
12754 end: { line: 1, column: 14 }
12762 start: { line: 1, column: 0 },
12763 end: { line: 1, column: 14 }
12768 start: { line: 1, column: 0 },
12769 end: { line: 1, column: 14 }
12773 // not strict mode, using eval
12775 type: 'ExpressionStatement',
12777 type: 'ArrowFunctionExpression',
12780 type: 'Identifier',
12784 start: { line: 1, column: 0 },
12785 end: { line: 1, column: 4 }
12795 start: { line: 1, column: 8 },
12796 end: { line: 1, column: 10 }
12804 start: { line: 1, column: 0 },
12805 end: { line: 1, column: 10 }
12810 start: { line: 1, column: 0 },
12811 end: { line: 1, column: 10 }
12815 // not strict mode, using arguments
12816 'arguments => 42': {
12817 type: 'ExpressionStatement',
12819 type: 'ArrowFunctionExpression',
12822 type: 'Identifier',
12826 start: { line: 1, column: 0 },
12827 end: { line: 1, column: 9 }
12837 start: { line: 1, column: 13 },
12838 end: { line: 1, column: 15 }
12846 start: { line: 1, column: 0 },
12847 end: { line: 1, column: 15 }
12852 start: { line: 1, column: 0 },
12853 end: { line: 1, column: 15 }
12857 // not strict mode, using octals
12859 type: 'ExpressionStatement',
12861 type: 'ArrowFunctionExpression',
12864 type: 'Identifier',
12868 start: { line: 1, column: 1 },
12869 end: { line: 1, column: 2 }
12879 start: { line: 1, column: 7 },
12880 end: { line: 1, column: 9 }
12888 start: { line: 1, column: 0 },
12889 end: { line: 1, column: 9 }
12894 start: { line: 1, column: 0 },
12895 end: { line: 1, column: 9 }
12899 // not strict mode, using eval, IsSimpleParameterList is true
12900 '(eval, a) => 42': {
12901 type: 'ExpressionStatement',
12903 type: 'ArrowFunctionExpression',
12906 type: 'Identifier',
12910 start: { line: 1, column: 1 },
12911 end: { line: 1, column: 5 }
12914 type: 'Identifier',
12918 start: { line: 1, column: 7 },
12919 end: { line: 1, column: 8 }
12929 start: { line: 1, column: 13 },
12930 end: { line: 1, column: 15 }
12938 start: { line: 1, column: 0 },
12939 end: { line: 1, column: 15 }
12944 start: { line: 1, column: 0 },
12945 end: { line: 1, column: 15 }
12949 // not strict mode, assigning to eval
12950 '(eval = 10) => 42': {
12951 type: 'ExpressionStatement',
12953 type: 'ArrowFunctionExpression',
12956 type: 'Identifier',
12960 start: { line: 1, column: 1 },
12961 end: { line: 1, column: 5 }
12970 start: { line: 1, column: 8 },
12971 end: { line: 1, column: 10 }
12980 start: { line: 1, column: 15 },
12981 end: { line: 1, column: 17 }
12989 start: { line: 1, column: 0 },
12990 end: { line: 1, column: 17 }
12995 start: { line: 1, column: 0 },
12996 end: { line: 1, column: 17 }
13000 // not strict mode, using eval, IsSimpleParameterList is false
13001 '(eval, a = 10) => 42': {
13002 type: 'ExpressionStatement',
13004 type: 'ArrowFunctionExpression',
13007 type: 'Identifier',
13011 start: { line: 1, column: 1 },
13012 end: { line: 1, column: 5 }
13015 type: 'Identifier',
13019 start: { line: 1, column: 7 },
13020 end: { line: 1, column: 8 }
13029 start: { line: 1, column: 11 },
13030 end: { line: 1, column: 13 }
13039 start: { line: 1, column: 18 },
13040 end: { line: 1, column: 20 }
13048 start: { line: 1, column: 0 },
13049 end: { line: 1, column: 20 }
13054 start: { line: 1, column: 0 },
13055 end: { line: 1, column: 20 }
13060 type: 'ExpressionStatement',
13062 type: 'ArrowFunctionExpression',
13065 type: 'Identifier',
13069 start: { line: 1, column: 1 },
13070 end: { line: 1, column: 2 }
13075 type: 'Identifier',
13079 start: { line: 1, column: 6 },
13080 end: { line: 1, column: 7 }
13088 start: { line: 1, column: 1 },
13089 end: { line: 1, column: 7 }
13094 start: { line: 1, column: 0 },
13095 end: { line: 1, column: 8 }
13100 type: 'ExpressionStatement',
13102 type: 'ArrowFunctionExpression',
13105 type: 'Identifier',
13109 start: { line: 1, column: 0 },
13110 end: { line: 1, column: 1 }
13115 type: 'ArrowFunctionExpression',
13118 type: 'Identifier',
13122 start: { line: 1, column: 5 },
13123 end: { line: 1, column: 6 }
13133 start: { line: 1, column: 10 },
13134 end: { line: 1, column: 12 }
13142 start: { line: 1, column: 5 },
13143 end: { line: 1, column: 12 }
13151 start: { line: 1, column: 0 },
13152 end: { line: 1, column: 12 }
13157 start: { line: 1, column: 0 },
13158 end: { line: 1, column: 12 }
13162 '(x) => ((y, z) => (x, y, z))': {
13163 type: 'ExpressionStatement',
13165 type: 'ArrowFunctionExpression',
13168 type: 'Identifier',
13172 start: { line: 1, column: 1 },
13173 end: { line: 1, column: 2 }
13178 type: 'ArrowFunctionExpression',
13181 type: 'Identifier',
13185 start: { line: 1, column: 9 },
13186 end: { line: 1, column: 10 }
13189 type: 'Identifier',
13193 start: { line: 1, column: 12 },
13194 end: { line: 1, column: 13 }
13199 type: 'SequenceExpression',
13201 type: 'Identifier',
13205 start: { line: 1, column: 19 },
13206 end: { line: 1, column: 20 }
13209 type: 'Identifier',
13213 start: { line: 1, column: 22 },
13214 end: { line: 1, column: 23 }
13217 type: 'Identifier',
13221 start: { line: 1, column: 25 },
13222 end: { line: 1, column: 26 }
13227 start: { line: 1, column: 19 },
13228 end: { line: 1, column: 26 }
13236 start: { line: 1, column: 8 },
13237 end: { line: 1, column: 27 }
13245 start: { line: 1, column: 0 },
13246 end: { line: 1, column: 28 }
13251 start: { line: 1, column: 0 },
13252 end: { line: 1, column: 28 }
13257 type: 'ExpressionStatement',
13259 type: 'CallExpression',
13261 type: 'Identifier',
13265 start: { line: 1, column: 0 },
13266 end: { line: 1, column: 3 }
13270 type: 'ArrowFunctionExpression',
13275 type: 'BlockStatement',
13279 start: { line: 1, column: 10 },
13280 end: { line: 1, column: 12 }
13288 start: { line: 1, column: 4 },
13289 end: { line: 1, column: 12 }
13294 start: { line: 1, column: 0 },
13295 end: { line: 1, column: 13 }
13300 start: { line: 1, column: 0 },
13301 end: { line: 1, column: 13 }
13305 'foo((x, y) => {})': {
13306 type: 'ExpressionStatement',
13308 type: 'CallExpression',
13310 type: 'Identifier',
13314 start: { line: 1, column: 0 },
13315 end: { line: 1, column: 3 }
13319 type: 'ArrowFunctionExpression',
13322 type: 'Identifier',
13326 start: { line: 1, column: 5 },
13327 end: { line: 1, column: 6 }
13330 type: 'Identifier',
13334 start: { line: 1, column: 8 },
13335 end: { line: 1, column: 9 }
13340 type: 'BlockStatement',
13344 start: { line: 1, column: 14 },
13345 end: { line: 1, column: 16 }
13353 start: { line: 1, column: 4 },
13354 end: { line: 1, column: 16 }
13359 start: { line: 1, column: 0 },
13360 end: { line: 1, column: 17 }
13365 start: { line: 1, column: 0 },
13366 end: { line: 1, column: 17 }
13370 '(sun) => earth': {
13373 type: "ExpressionStatement",
13375 type: "ArrowFunctionExpression",
13378 type: "Identifier",
13382 start: { line: 1, column: 1 },
13383 end: { line: 1, column: 4 }
13388 type: "Identifier",
13392 start: { line: 1, column: 9 },
13393 end: { line: 1, column: 14 }
13401 start: { line: 1, column: 0 },
13402 end: { line: 1, column: 14 }
13407 start: { line: 1, column: 0 },
13408 end: { line: 1, column: 14 }
13413 start: { line: 1, column: 0 },
13414 end: { line: 1, column: 14 }
13417 type: "Punctuator",
13421 start: { line: 1, column: 0 },
13422 end: { line: 1, column: 1 }
13425 type: "Identifier",
13429 start: { line: 1, column: 1 },
13430 end: { line: 1, column: 4 }
13433 type: "Punctuator",
13437 start: { line: 1, column: 4 },
13438 end: { line: 1, column: 5 }
13441 type: "Punctuator",
13445 start: { line: 1, column: 6 },
13446 end: { line: 1, column: 8 }
13449 type: "Identifier",
13453 start: { line: 1, column: 9 },
13454 end: { line: 1, column: 14 }
13461 '[ES6] Method Definition': {
13463 'x = { method() { } }': {
13464 type: 'ExpressionStatement',
13466 type: 'AssignmentExpression',
13469 type: 'Identifier',
13473 start: { line: 1, column: 0 },
13474 end: { line: 1, column: 1 }
13478 type: 'ObjectExpression',
13482 type: 'Identifier',
13486 start: { line: 1, column: 6 },
13487 end: { line: 1, column: 12 }
13491 type: 'FunctionExpression',
13496 type: 'BlockStatement',
13500 start: { line: 1, column: 15 },
13501 end: { line: 1, column: 18 }
13509 start: { line: 1, column: 15 },
13510 end: { line: 1, column: 18 }
13518 start: { line: 1, column: 6 },
13519 end: { line: 1, column: 18 }
13524 start: { line: 1, column: 4 },
13525 end: { line: 1, column: 20 }
13530 start: { line: 1, column: 0 },
13531 end: { line: 1, column: 20 }
13536 start: { line: 1, column: 0 },
13537 end: { line: 1, column: 20 }
13541 'x = { method(test) { } }': {
13542 type: 'ExpressionStatement',
13544 type: 'AssignmentExpression',
13547 type: 'Identifier',
13551 start: { line: 1, column: 0 },
13552 end: { line: 1, column: 1 }
13556 type: 'ObjectExpression',
13560 type: 'Identifier',
13564 start: { line: 1, column: 6 },
13565 end: { line: 1, column: 12 }
13569 type: 'FunctionExpression',
13572 type: 'Identifier',
13576 start: { line: 1, column: 13 },
13577 end: { line: 1, column: 17 }
13582 type: 'BlockStatement',
13586 start: { line: 1, column: 19 },
13587 end: { line: 1, column: 22 }
13595 start: { line: 1, column: 19 },
13596 end: { line: 1, column: 22 }
13604 start: { line: 1, column: 6 },
13605 end: { line: 1, column: 22 }
13610 start: { line: 1, column: 4 },
13611 end: { line: 1, column: 24 }
13616 start: { line: 1, column: 0 },
13617 end: { line: 1, column: 24 }
13622 start: { line: 1, column: 0 },
13623 end: { line: 1, column: 24 }
13627 'x = { \'method\'() { } }': {
13628 type: 'ExpressionStatement',
13630 type: 'AssignmentExpression',
13633 type: 'Identifier',
13637 start: { line: 1, column: 0 },
13638 end: { line: 1, column: 1 }
13642 type: 'ObjectExpression',
13651 start: { line: 1, column: 6 },
13652 end: { line: 1, column: 14 }
13656 type: 'FunctionExpression',
13661 type: 'BlockStatement',
13665 start: { line: 1, column: 17 },
13666 end: { line: 1, column: 20 }
13674 start: { line: 1, column: 17 },
13675 end: { line: 1, column: 20 }
13683 start: { line: 1, column: 6 },
13684 end: { line: 1, column: 20 }
13689 start: { line: 1, column: 4 },
13690 end: { line: 1, column: 22 }
13695 start: { line: 1, column: 0 },
13696 end: { line: 1, column: 22 }
13701 start: { line: 1, column: 0 },
13702 end: { line: 1, column: 22 }
13706 'x = { get() { } }': {
13707 type: 'ExpressionStatement',
13709 type: 'AssignmentExpression',
13712 type: 'Identifier',
13716 start: { line: 1, column: 0 },
13717 end: { line: 1, column: 1 }
13721 type: 'ObjectExpression',
13725 type: 'Identifier',
13729 start: { line: 1, column: 6 },
13730 end: { line: 1, column: 9 }
13734 type: 'FunctionExpression',
13739 type: 'BlockStatement',
13743 start: { line: 1, column: 12 },
13744 end: { line: 1, column: 15 }
13752 start: { line: 1, column: 12 },
13753 end: { line: 1, column: 15 }
13761 start: { line: 1, column: 6 },
13762 end: { line: 1, column: 15 }
13767 start: { line: 1, column: 4 },
13768 end: { line: 1, column: 17 }
13773 start: { line: 1, column: 0 },
13774 end: { line: 1, column: 17 }
13779 start: { line: 1, column: 0 },
13780 end: { line: 1, column: 17 }
13784 'x = { set() { } }': {
13785 type: 'ExpressionStatement',
13787 type: 'AssignmentExpression',
13790 type: 'Identifier',
13794 start: { line: 1, column: 0 },
13795 end: { line: 1, column: 1 }
13799 type: 'ObjectExpression',
13803 type: 'Identifier',
13807 start: { line: 1, column: 6 },
13808 end: { line: 1, column: 9 }
13812 type: 'FunctionExpression',
13817 type: 'BlockStatement',
13821 start: { line: 1, column: 12 },
13822 end: { line: 1, column: 15 }
13830 start: { line: 1, column: 12 },
13831 end: { line: 1, column: 15 }
13839 start: { line: 1, column: 6 },
13840 end: { line: 1, column: 15 }
13845 start: { line: 1, column: 4 },
13846 end: { line: 1, column: 17 }
13851 start: { line: 1, column: 0 },
13852 end: { line: 1, column: 17 }
13857 start: { line: 1, column: 0 },
13858 end: { line: 1, column: 17 }
13864 '[ES6] Object Literal Property Value Shorthand': {
13867 type: 'ExpressionStatement',
13869 type: 'AssignmentExpression',
13872 type: 'Identifier',
13876 start: { line: 1, column: 0 },
13877 end: { line: 1, column: 1 }
13881 type: 'ObjectExpression',
13885 type: 'Identifier',
13889 start: { line: 1, column: 6 },
13890 end: { line: 1, column: 7 }
13894 type: 'Identifier',
13898 start: { line: 1, column: 6 },
13899 end: { line: 1, column: 7 }
13907 start: { line: 1, column: 6 },
13908 end: { line: 1, column: 7 }
13913 type: 'Identifier',
13917 start: { line: 1, column: 9 },
13918 end: { line: 1, column: 10 }
13922 type: 'Identifier',
13926 start: { line: 1, column: 9 },
13927 end: { line: 1, column: 10 }
13935 start: { line: 1, column: 9 },
13936 end: { line: 1, column: 10 }
13941 start: { line: 1, column: 4 },
13942 end: { line: 1, column: 12 }
13947 start: { line: 1, column: 0 },
13948 end: { line: 1, column: 12 }
13953 start: { line: 1, column: 0 },
13954 end: { line: 1, column: 12 }
13959 'Assignment Operators': {
13962 type: 'ExpressionStatement',
13964 type: 'AssignmentExpression',
13967 type: 'Identifier',
13971 start: { line: 1, column: 0 },
13972 end: { line: 1, column: 1 }
13981 start: { line: 1, column: 4 },
13982 end: { line: 1, column: 6 }
13987 start: { line: 1, column: 0 },
13988 end: { line: 1, column: 6 }
13993 start: { line: 1, column: 0 },
13994 end: { line: 1, column: 6 }
13999 type: 'ExpressionStatement',
14001 type: 'AssignmentExpression',
14004 type: 'Identifier',
14008 start: { line: 1, column: 0 },
14009 end: { line: 1, column: 4 }
14018 start: { line: 1, column: 7 },
14019 end: { line: 1, column: 9 }
14024 start: { line: 1, column: 0 },
14025 end: { line: 1, column: 9 }
14030 start: { line: 1, column: 0 },
14031 end: { line: 1, column: 9 }
14035 'arguments = 42': {
14036 type: 'ExpressionStatement',
14038 type: 'AssignmentExpression',
14041 type: 'Identifier',
14045 start: { line: 1, column: 0 },
14046 end: { line: 1, column: 9 }
14055 start: { line: 1, column: 12 },
14056 end: { line: 1, column: 14 }
14061 start: { line: 1, column: 0 },
14062 end: { line: 1, column: 14 }
14067 start: { line: 1, column: 0 },
14068 end: { line: 1, column: 14 }
14073 type: 'ExpressionStatement',
14075 type: 'AssignmentExpression',
14078 type: 'Identifier',
14082 start: { line: 1, column: 0 },
14083 end: { line: 1, column: 1 }
14092 start: { line: 1, column: 5 },
14093 end: { line: 1, column: 7 }
14098 start: { line: 1, column: 0 },
14099 end: { line: 1, column: 7 }
14104 start: { line: 1, column: 0 },
14105 end: { line: 1, column: 7 }
14110 type: 'ExpressionStatement',
14112 type: 'AssignmentExpression',
14115 type: 'Identifier',
14119 start: { line: 1, column: 0 },
14120 end: { line: 1, column: 1 }
14129 start: { line: 1, column: 5 },
14130 end: { line: 1, column: 7 }
14135 start: { line: 1, column: 0 },
14136 end: { line: 1, column: 7 }
14141 start: { line: 1, column: 0 },
14142 end: { line: 1, column: 7 }
14147 type: 'ExpressionStatement',
14149 type: 'AssignmentExpression',
14152 type: 'Identifier',
14156 start: { line: 1, column: 0 },
14157 end: { line: 1, column: 1 }
14166 start: { line: 1, column: 5 },
14167 end: { line: 1, column: 7 }
14172 start: { line: 1, column: 0 },
14173 end: { line: 1, column: 7 }
14178 start: { line: 1, column: 0 },
14179 end: { line: 1, column: 7 }
14184 type: 'ExpressionStatement',
14186 type: 'AssignmentExpression',
14189 type: 'Identifier',
14193 start: { line: 1, column: 0 },
14194 end: { line: 1, column: 1 }
14203 start: { line: 1, column: 5 },
14204 end: { line: 1, column: 7 }
14209 start: { line: 1, column: 0 },
14210 end: { line: 1, column: 7 }
14215 start: { line: 1, column: 0 },
14216 end: { line: 1, column: 7 }
14221 type: 'ExpressionStatement',
14223 type: 'AssignmentExpression',
14226 type: 'Identifier',
14230 start: { line: 1, column: 0 },
14231 end: { line: 1, column: 1 }
14240 start: { line: 1, column: 5 },
14241 end: { line: 1, column: 7 }
14246 start: { line: 1, column: 0 },
14247 end: { line: 1, column: 7 }
14252 start: { line: 1, column: 0 },
14253 end: { line: 1, column: 7 }
14258 type: 'ExpressionStatement',
14260 type: 'AssignmentExpression',
14263 type: 'Identifier',
14267 start: { line: 1, column: 0 },
14268 end: { line: 1, column: 1 }
14277 start: { line: 1, column: 6 },
14278 end: { line: 1, column: 8 }
14283 start: { line: 1, column: 0 },
14284 end: { line: 1, column: 8 }
14289 start: { line: 1, column: 0 },
14290 end: { line: 1, column: 8 }
14295 type: 'ExpressionStatement',
14297 type: 'AssignmentExpression',
14300 type: 'Identifier',
14304 start: { line: 1, column: 0 },
14305 end: { line: 1, column: 1 }
14314 start: { line: 1, column: 6 },
14315 end: { line: 1, column: 8 }
14320 start: { line: 1, column: 0 },
14321 end: { line: 1, column: 8 }
14326 start: { line: 1, column: 0 },
14327 end: { line: 1, column: 8 }
14332 type: 'ExpressionStatement',
14334 type: 'AssignmentExpression',
14337 type: 'Identifier',
14341 start: { line: 1, column: 0 },
14342 end: { line: 1, column: 1 }
14351 start: { line: 1, column: 7 },
14352 end: { line: 1, column: 9 }
14357 start: { line: 1, column: 0 },
14358 end: { line: 1, column: 9 }
14363 start: { line: 1, column: 0 },
14364 end: { line: 1, column: 9 }
14369 type: 'ExpressionStatement',
14371 type: 'AssignmentExpression',
14374 type: 'Identifier',
14378 start: { line: 1, column: 0 },
14379 end: { line: 1, column: 1 }
14388 start: { line: 1, column: 5 },
14389 end: { line: 1, column: 7 }
14394 start: { line: 1, column: 0 },
14395 end: { line: 1, column: 7 }
14400 start: { line: 1, column: 0 },
14401 end: { line: 1, column: 7 }
14406 type: 'ExpressionStatement',
14408 type: 'AssignmentExpression',
14411 type: 'Identifier',
14415 start: { line: 1, column: 0 },
14416 end: { line: 1, column: 1 }
14425 start: { line: 1, column: 5 },
14426 end: { line: 1, column: 7 }
14431 start: { line: 1, column: 0 },
14432 end: { line: 1, column: 7 }
14437 start: { line: 1, column: 0 },
14438 end: { line: 1, column: 7 }
14443 type: 'ExpressionStatement',
14445 type: 'AssignmentExpression',
14448 type: 'Identifier',
14452 start: { line: 1, column: 0 },
14453 end: { line: 1, column: 1 }
14462 start: { line: 1, column: 5 },
14463 end: { line: 1, column: 7 }
14468 start: { line: 1, column: 0 },
14469 end: { line: 1, column: 7 }
14474 start: { line: 1, column: 0 },
14475 end: { line: 1, column: 7 }
14481 'Complex Expression': {
14483 'a || b && c | d ^ e & f == g < h >>> i + j * k': {
14484 type: 'ExpressionStatement',
14486 type: 'LogicalExpression',
14489 type: 'Identifier',
14493 start: { line: 1, column: 0 },
14494 end: { line: 1, column: 1 }
14498 type: 'LogicalExpression',
14501 type: 'Identifier',
14505 start: { line: 1, column: 5 },
14506 end: { line: 1, column: 6 }
14510 type: 'BinaryExpression',
14513 type: 'Identifier',
14517 start: { line: 1, column: 10 },
14518 end: { line: 1, column: 11 }
14522 type: 'BinaryExpression',
14525 type: 'Identifier',
14529 start: { line: 1, column: 14 },
14530 end: { line: 1, column: 15 }
14534 type: 'BinaryExpression',
14537 type: 'Identifier',
14541 start: { line: 1, column: 18 },
14542 end: { line: 1, column: 19 }
14546 type: 'BinaryExpression',
14549 type: 'Identifier',
14553 start: { line: 1, column: 22 },
14554 end: { line: 1, column: 23 }
14558 type: 'BinaryExpression',
14561 type: 'Identifier',
14565 start: { line: 1, column: 27 },
14566 end: { line: 1, column: 28 }
14570 type: 'BinaryExpression',
14573 type: 'Identifier',
14577 start: { line: 1, column: 31 },
14578 end: { line: 1, column: 32 }
14582 type: 'BinaryExpression',
14585 type: 'Identifier',
14589 start: { line: 1, column: 37 },
14590 end: { line: 1, column: 38 }
14594 type: 'BinaryExpression',
14597 type: 'Identifier',
14601 start: { line: 1, column: 41 },
14602 end: { line: 1, column: 42 }
14606 type: 'Identifier',
14610 start: { line: 1, column: 45 },
14611 end: { line: 1, column: 46 }
14616 start: { line: 1, column: 41 },
14617 end: { line: 1, column: 46 }
14622 start: { line: 1, column: 37 },
14623 end: { line: 1, column: 46 }
14628 start: { line: 1, column: 31 },
14629 end: { line: 1, column: 46 }
14634 start: { line: 1, column: 27 },
14635 end: { line: 1, column: 46 }
14640 start: { line: 1, column: 22 },
14641 end: { line: 1, column: 46 }
14646 start: { line: 1, column: 18 },
14647 end: { line: 1, column: 46 }
14652 start: { line: 1, column: 14 },
14653 end: { line: 1, column: 46 }
14658 start: { line: 1, column: 10 },
14659 end: { line: 1, column: 46 }
14664 start: { line: 1, column: 5 },
14665 end: { line: 1, column: 46 }
14670 start: { line: 1, column: 0 },
14671 end: { line: 1, column: 46 }
14676 start: { line: 1, column: 0 },
14677 end: { line: 1, column: 46 }
14686 type: 'BlockStatement',
14688 type: 'ExpressionStatement',
14690 type: 'Identifier',
14694 start: { line: 1, column: 2 },
14695 end: { line: 1, column: 5 }
14700 start: { line: 1, column: 2 },
14701 end: { line: 1, column: 6 }
14706 start: { line: 1, column: 0 },
14707 end: { line: 1, column: 7 }
14711 '{ doThis(); doThat(); }': {
14712 type: 'BlockStatement',
14714 type: 'ExpressionStatement',
14716 type: 'CallExpression',
14718 type: 'Identifier',
14722 start: { line: 1, column: 2 },
14723 end: { line: 1, column: 8 }
14729 start: { line: 1, column: 2 },
14730 end: { line: 1, column: 10 }
14735 start: { line: 1, column: 2 },
14736 end: { line: 1, column: 11 }
14739 type: 'ExpressionStatement',
14741 type: 'CallExpression',
14743 type: 'Identifier',
14747 start: { line: 1, column: 12 },
14748 end: { line: 1, column: 18 }
14754 start: { line: 1, column: 12 },
14755 end: { line: 1, column: 20 }
14760 start: { line: 1, column: 12 },
14761 end: { line: 1, column: 21 }
14766 start: { line: 1, column: 0 },
14767 end: { line: 1, column: 23 }
14772 type: 'BlockStatement',
14776 start: { line: 1, column: 0 },
14777 end: { line: 1, column: 2 }
14783 'Variable Statement': {
14786 type: 'VariableDeclaration',
14788 type: 'VariableDeclarator',
14790 type: 'Identifier',
14794 start: { line: 1, column: 4 },
14795 end: { line: 1, column: 5 }
14801 start: { line: 1, column: 4 },
14802 end: { line: 1, column: 5 }
14808 start: { line: 1, column: 0 },
14809 end: { line: 1, column: 5 }
14814 type: 'VariableDeclaration',
14816 type: 'VariableDeclarator',
14818 type: 'Identifier',
14822 start: { line: 1, column: 4 },
14823 end: { line: 1, column: 5 }
14829 start: { line: 1, column: 4 },
14830 end: { line: 1, column: 5 }
14833 type: 'VariableDeclarator',
14835 type: 'Identifier',
14839 start: { line: 1, column: 7 },
14840 end: { line: 1, column: 8 }
14846 start: { line: 1, column: 7 },
14847 end: { line: 1, column: 8 }
14853 start: { line: 1, column: 0 },
14854 end: { line: 1, column: 9 }
14859 type: 'VariableDeclaration',
14861 type: 'VariableDeclarator',
14863 type: 'Identifier',
14867 start: { line: 1, column: 4 },
14868 end: { line: 1, column: 5 }
14877 start: { line: 1, column: 8 },
14878 end: { line: 1, column: 10 }
14883 start: { line: 1, column: 4 },
14884 end: { line: 1, column: 10 }
14890 start: { line: 1, column: 0 },
14891 end: { line: 1, column: 10 }
14895 'var eval = 42, arguments = 42': {
14896 type: 'VariableDeclaration',
14898 type: 'VariableDeclarator',
14900 type: 'Identifier',
14904 start: { line: 1, column: 4 },
14905 end: { line: 1, column: 8 }
14914 start: { line: 1, column: 11 },
14915 end: { line: 1, column: 13 }
14920 start: { line: 1, column: 4 },
14921 end: { line: 1, column: 13 }
14924 type: 'VariableDeclarator',
14926 type: 'Identifier',
14930 start: { line: 1, column: 15 },
14931 end: { line: 1, column: 24 }
14940 start: { line: 1, column: 27 },
14941 end: { line: 1, column: 29 }
14946 start: { line: 1, column: 15 },
14947 end: { line: 1, column: 29 }
14953 start: { line: 1, column: 0 },
14954 end: { line: 1, column: 29 }
14958 'var x = 14, y = 3, z = 1977': {
14959 type: 'VariableDeclaration',
14961 type: 'VariableDeclarator',
14963 type: 'Identifier',
14967 start: { line: 1, column: 4 },
14968 end: { line: 1, column: 5 }
14977 start: { line: 1, column: 8 },
14978 end: { line: 1, column: 10 }
14983 start: { line: 1, column: 4 },
14984 end: { line: 1, column: 10 }
14987 type: 'VariableDeclarator',
14989 type: 'Identifier',
14993 start: { line: 1, column: 12 },
14994 end: { line: 1, column: 13 }
15003 start: { line: 1, column: 16 },
15004 end: { line: 1, column: 17 }
15009 start: { line: 1, column: 12 },
15010 end: { line: 1, column: 17 }
15013 type: 'VariableDeclarator',
15015 type: 'Identifier',
15019 start: { line: 1, column: 19 },
15020 end: { line: 1, column: 20 }
15029 start: { line: 1, column: 23 },
15030 end: { line: 1, column: 27 }
15035 start: { line: 1, column: 19 },
15036 end: { line: 1, column: 27 }
15042 start: { line: 1, column: 0 },
15043 end: { line: 1, column: 27 }
15047 'var implements, interface, package': {
15048 type: 'VariableDeclaration',
15050 type: 'VariableDeclarator',
15052 type: 'Identifier',
15053 name: 'implements',
15056 start: { line: 1, column: 4 },
15057 end: { line: 1, column: 14 }
15063 start: { line: 1, column: 4 },
15064 end: { line: 1, column: 14 }
15067 type: 'VariableDeclarator',
15069 type: 'Identifier',
15073 start: { line: 1, column: 16 },
15074 end: { line: 1, column: 25 }
15080 start: { line: 1, column: 16 },
15081 end: { line: 1, column: 25 }
15084 type: 'VariableDeclarator',
15086 type: 'Identifier',
15090 start: { line: 1, column: 27 },
15091 end: { line: 1, column: 34 }
15097 start: { line: 1, column: 27 },
15098 end: { line: 1, column: 34 }
15104 start: { line: 1, column: 0 },
15105 end: { line: 1, column: 34 }
15109 'var private, protected, public, static': {
15110 type: 'VariableDeclaration',
15112 type: 'VariableDeclarator',
15114 type: 'Identifier',
15118 start: { line: 1, column: 4 },
15119 end: { line: 1, column: 11 }
15125 start: { line: 1, column: 4 },
15126 end: { line: 1, column: 11 }
15129 type: 'VariableDeclarator',
15131 type: 'Identifier',
15135 start: { line: 1, column: 13 },
15136 end: { line: 1, column: 22 }
15142 start: { line: 1, column: 13 },
15143 end: { line: 1, column: 22 }
15146 type: 'VariableDeclarator',
15148 type: 'Identifier',
15152 start: { line: 1, column: 24 },
15153 end: { line: 1, column: 30 }
15159 start: { line: 1, column: 24 },
15160 end: { line: 1, column: 30 }
15163 type: 'VariableDeclarator',
15165 type: 'Identifier',
15169 start: { line: 1, column: 32 },
15170 end: { line: 1, column: 38 }
15176 start: { line: 1, column: 32 },
15177 end: { line: 1, column: 38 }
15183 start: { line: 1, column: 0 },
15184 end: { line: 1, column: 38 }
15193 type: 'VariableDeclaration',
15195 type: 'VariableDeclarator',
15197 type: 'Identifier',
15201 start: { line: 1, column: 4 },
15202 end: { line: 1, column: 5 }
15208 start: { line: 1, column: 4 },
15209 end: { line: 1, column: 5 }
15215 start: { line: 1, column: 0 },
15216 end: { line: 1, column: 5 }
15221 type: 'BlockStatement',
15223 type: 'VariableDeclaration',
15225 type: 'VariableDeclarator',
15227 type: 'Identifier',
15231 start: { line: 1, column: 6 },
15232 end: { line: 1, column: 7 }
15238 start: { line: 1, column: 6 },
15239 end: { line: 1, column: 7 }
15245 start: { line: 1, column: 2 },
15246 end: { line: 1, column: 8 }
15251 start: { line: 1, column: 0 },
15252 end: { line: 1, column: 9 }
15256 '{ let x = 42 }': {
15257 type: 'BlockStatement',
15259 type: 'VariableDeclaration',
15261 type: 'VariableDeclarator',
15263 type: 'Identifier',
15267 start: { line: 1, column: 6 },
15268 end: { line: 1, column: 7 }
15277 start: { line: 1, column: 10 },
15278 end: { line: 1, column: 12 }
15283 start: { line: 1, column: 6 },
15284 end: { line: 1, column: 12 }
15290 start: { line: 1, column: 2 },
15291 end: { line: 1, column: 13 }
15296 start: { line: 1, column: 0 },
15297 end: { line: 1, column: 14 }
15301 '{ let x = 14, y = 3, z = 1977 }': {
15302 type: 'BlockStatement',
15304 type: 'VariableDeclaration',
15306 type: 'VariableDeclarator',
15308 type: 'Identifier',
15312 start: { line: 1, column: 6 },
15313 end: { line: 1, column: 7 }
15322 start: { line: 1, column: 10 },
15323 end: { line: 1, column: 12 }
15328 start: { line: 1, column: 6 },
15329 end: { line: 1, column: 12 }
15332 type: 'VariableDeclarator',
15334 type: 'Identifier',
15338 start: { line: 1, column: 14 },
15339 end: { line: 1, column: 15 }
15348 start: { line: 1, column: 18 },
15349 end: { line: 1, column: 19 }
15354 start: { line: 1, column: 14 },
15355 end: { line: 1, column: 19 }
15358 type: 'VariableDeclarator',
15360 type: 'Identifier',
15364 start: { line: 1, column: 21 },
15365 end: { line: 1, column: 22 }
15374 start: { line: 1, column: 25 },
15375 end: { line: 1, column: 29 }
15380 start: { line: 1, column: 21 },
15381 end: { line: 1, column: 29 }
15387 start: { line: 1, column: 2 },
15388 end: { line: 1, column: 30 }
15393 start: { line: 1, column: 0 },
15394 end: { line: 1, column: 31 }
15400 'Const Statement': {
15403 type: 'VariableDeclaration',
15405 type: 'VariableDeclarator',
15407 type: 'Identifier',
15411 start: { line: 1, column: 6 },
15412 end: { line: 1, column: 7 }
15421 start: { line: 1, column: 10 },
15422 end: { line: 1, column: 12 }
15427 start: { line: 1, column: 6 },
15428 end: { line: 1, column: 12 }
15434 start: { line: 1, column: 0 },
15435 end: { line: 1, column: 12 }
15439 '{ const x = 42 }': {
15440 type: 'BlockStatement',
15442 type: 'VariableDeclaration',
15444 type: 'VariableDeclarator',
15446 type: 'Identifier',
15450 start: { line: 1, column: 8 },
15451 end: { line: 1, column: 9 }
15460 start: { line: 1, column: 12 },
15461 end: { line: 1, column: 14 }
15466 start: { line: 1, column: 8 },
15467 end: { line: 1, column: 14 }
15473 start: { line: 1, column: 2 },
15474 end: { line: 1, column: 15 }
15479 start: { line: 1, column: 0 },
15480 end: { line: 1, column: 16 }
15484 '{ const x = 14, y = 3, z = 1977 }': {
15485 type: 'BlockStatement',
15487 type: 'VariableDeclaration',
15489 type: 'VariableDeclarator',
15491 type: 'Identifier',
15495 start: { line: 1, column: 8 },
15496 end: { line: 1, column: 9 }
15505 start: { line: 1, column: 12 },
15506 end: { line: 1, column: 14 }
15511 start: { line: 1, column: 8 },
15512 end: { line: 1, column: 14 }
15515 type: 'VariableDeclarator',
15517 type: 'Identifier',
15521 start: { line: 1, column: 16 },
15522 end: { line: 1, column: 17 }
15531 start: { line: 1, column: 20 },
15532 end: { line: 1, column: 21 }
15537 start: { line: 1, column: 16 },
15538 end: { line: 1, column: 21 }
15541 type: 'VariableDeclarator',
15543 type: 'Identifier',
15547 start: { line: 1, column: 23 },
15548 end: { line: 1, column: 24 }
15557 start: { line: 1, column: 27 },
15558 end: { line: 1, column: 31 }
15563 start: { line: 1, column: 23 },
15564 end: { line: 1, column: 31 }
15570 start: { line: 1, column: 2 },
15571 end: { line: 1, column: 32 }
15576 start: { line: 1, column: 0 },
15577 end: { line: 1, column: 33 }
15583 'Empty Statement': {
15586 type: 'EmptyStatement',
15589 start: { line: 1, column: 0 },
15590 end: { line: 1, column: 1 }
15596 'Expression Statement': {
15599 type: 'ExpressionStatement',
15601 type: 'Identifier',
15605 start: { line: 1, column: 0 },
15606 end: { line: 1, column: 1 }
15611 start: { line: 1, column: 0 },
15612 end: { line: 1, column: 1 }
15617 type: 'ExpressionStatement',
15619 type: 'SequenceExpression',
15621 type: 'Identifier',
15625 start: { line: 1, column: 0 },
15626 end: { line: 1, column: 1 }
15629 type: 'Identifier',
15633 start: { line: 1, column: 3 },
15634 end: { line: 1, column: 4 }
15639 start: { line: 1, column: 0 },
15640 end: { line: 1, column: 4 }
15645 start: { line: 1, column: 0 },
15646 end: { line: 1, column: 4 }
15651 type: 'ExpressionStatement',
15653 type: 'Identifier',
15657 start: { line: 1, column: 0 },
15658 end: { line: 1, column: 6 }
15663 start: { line: 1, column: 0 },
15664 end: { line: 1, column: 6 }
15669 type: 'ExpressionStatement',
15671 type: 'Identifier',
15675 start: { line: 1, column: 0 },
15676 end: { line: 1, column: 7 }
15681 start: { line: 1, column: 0 },
15682 end: { line: 1, column: 7 }
15687 type: 'ExpressionStatement',
15689 type: 'Identifier',
15693 start: { line: 1, column: 0 },
15694 end: { line: 1, column: 7 }
15699 start: { line: 1, column: 0 },
15700 end: { line: 1, column: 7 }
15705 type: 'ExpressionStatement',
15707 type: 'Identifier',
15711 start: { line: 1, column: 0 },
15712 end: { line: 1, column: 7 }
15717 start: { line: 1, column: 0 },
15718 end: { line: 1, column: 8 }
15725 'if (morning) goodMorning()': {
15726 type: 'IfStatement',
15728 type: 'Identifier',
15732 start: { line: 1, column: 4 },
15733 end: { line: 1, column: 11 }
15737 type: 'ExpressionStatement',
15739 type: 'CallExpression',
15741 type: 'Identifier',
15742 name: 'goodMorning',
15745 start: { line: 1, column: 13 },
15746 end: { line: 1, column: 24 }
15752 start: { line: 1, column: 13 },
15753 end: { line: 1, column: 26 }
15758 start: { line: 1, column: 13 },
15759 end: { line: 1, column: 26 }
15765 start: { line: 1, column: 0 },
15766 end: { line: 1, column: 26 }
15770 'if (morning) (function(){})': {
15771 type: 'IfStatement',
15773 type: 'Identifier',
15777 start: { line: 1, column: 4 },
15778 end: { line: 1, column: 11 }
15782 type: 'ExpressionStatement',
15784 type: 'FunctionExpression',
15789 type: 'BlockStatement',
15793 start: { line: 1, column: 24 },
15794 end: { line: 1, column: 26 }
15802 start: { line: 1, column: 14 },
15803 end: { line: 1, column: 26 }
15808 start: { line: 1, column: 13 },
15809 end: { line: 1, column: 27 }
15815 start: { line: 1, column: 0 },
15816 end: { line: 1, column: 27 }
15820 'if (morning) var x = 0;': {
15821 type: 'IfStatement',
15823 type: 'Identifier',
15827 start: { line: 1, column: 4 },
15828 end: { line: 1, column: 11 }
15832 type: 'VariableDeclaration',
15834 type: 'VariableDeclarator',
15836 type: 'Identifier',
15840 start: { line: 1, column: 17 },
15841 end: { line: 1, column: 18 }
15850 start: { line: 1, column: 21 },
15851 end: { line: 1, column: 22 }
15856 start: { line: 1, column: 17 },
15857 end: { line: 1, column: 22 }
15863 start: { line: 1, column: 13 },
15864 end: { line: 1, column: 23 }
15870 start: { line: 1, column: 0 },
15871 end: { line: 1, column: 23 }
15875 'if (morning) function a(){}': {
15876 type: 'IfStatement',
15878 type: 'Identifier',
15882 start: { line: 1, column: 4 },
15883 end: { line: 1, column: 11 }
15887 type: 'FunctionDeclaration',
15889 type: 'Identifier',
15893 start: { line: 1, column: 22 },
15894 end: { line: 1, column: 23 }
15900 type: 'BlockStatement',
15904 start: { line: 1, column: 25 },
15905 end: { line: 1, column: 27 }
15913 start: { line: 1, column: 13 },
15914 end: { line: 1, column: 27 }
15920 start: { line: 1, column: 0 },
15921 end: { line: 1, column: 27 }
15925 'if (morning) goodMorning(); else goodDay()': {
15926 type: 'IfStatement',
15928 type: 'Identifier',
15932 start: { line: 1, column: 4 },
15933 end: { line: 1, column: 11 }
15937 type: 'ExpressionStatement',
15939 type: 'CallExpression',
15941 type: 'Identifier',
15942 name: 'goodMorning',
15945 start: { line: 1, column: 13 },
15946 end: { line: 1, column: 24 }
15952 start: { line: 1, column: 13 },
15953 end: { line: 1, column: 26 }
15958 start: { line: 1, column: 13 },
15959 end: { line: 1, column: 27 }
15963 type: 'ExpressionStatement',
15965 type: 'CallExpression',
15967 type: 'Identifier',
15971 start: { line: 1, column: 33 },
15972 end: { line: 1, column: 40 }
15978 start: { line: 1, column: 33 },
15979 end: { line: 1, column: 42 }
15984 start: { line: 1, column: 33 },
15985 end: { line: 1, column: 42 }
15990 start: { line: 1, column: 0 },
15991 end: { line: 1, column: 42 }
15995 'if (true) that()\n; else;': {
15996 type: "IfStatement",
16003 start: { line: 1, column: 4 },
16004 end: { line: 1, column: 8 }
16008 type: "ExpressionStatement",
16010 type: "CallExpression",
16012 type: "Identifier",
16016 start: { line: 1, column: 10 },
16017 end: { line: 1, column: 14 }
16023 start: { line: 1, column: 10 },
16024 end: { line: 1, column: 16 }
16029 start: { line: 1, column: 10 },
16030 end: { line: 2, column: 1 }
16034 type: "EmptyStatement",
16037 start: { line: 2, column: 6 },
16038 end: { line: 2, column: 7 }
16043 start: { line: 1, column: 0 },
16044 end: { line: 2, column: 7 }
16048 'if (true) that(); else;': {
16049 type: "IfStatement",
16056 start: { line: 1, column: 4 },
16057 end: { line: 1, column: 8 }
16061 type: "ExpressionStatement",
16063 type: "CallExpression",
16065 type: "Identifier",
16069 start: { line: 1, column: 10 },
16070 end: { line: 1, column: 14 }
16076 start: { line: 1, column: 10 },
16077 end: { line: 1, column: 16 }
16082 start: { line: 1, column: 10 },
16083 end: { line: 1, column: 17 }
16087 type: "EmptyStatement",
16090 start: { line: 1, column: 22 },
16091 end: { line: 1, column: 23 }
16096 start: { line: 1, column: 0 },
16097 end: { line: 1, column: 23 }
16103 'Iteration Statements': {
16105 'do keep(); while (true)': {
16106 type: 'DoWhileStatement',
16108 type: 'ExpressionStatement',
16110 type: 'CallExpression',
16112 type: 'Identifier',
16116 start: { line: 1, column: 3 },
16117 end: { line: 1, column: 7 }
16123 start: { line: 1, column: 3 },
16124 end: { line: 1, column: 9 }
16129 start: { line: 1, column: 3 },
16130 end: { line: 1, column: 10 }
16139 start: { line: 1, column: 18 },
16140 end: { line: 1, column: 22 }
16145 start: { line: 1, column: 0 },
16146 end: { line: 1, column: 23 }
16150 'do keep(); while (true);': {
16151 type: 'DoWhileStatement',
16153 type: 'ExpressionStatement',
16155 type: 'CallExpression',
16157 type: 'Identifier',
16161 start: { line: 1, column: 3 },
16162 end: { line: 1, column: 7 }
16168 start: { line: 1, column: 3 },
16169 end: { line: 1, column: 9 }
16174 start: { line: 1, column: 3 },
16175 end: { line: 1, column: 10 }
16184 start: { line: 1, column: 18 },
16185 end: { line: 1, column: 22 }
16190 start: { line: 1, column: 0 },
16191 end: { line: 1, column: 24 }
16195 'do { x++; y--; } while (x < 10)': {
16196 type: 'DoWhileStatement',
16198 type: 'BlockStatement',
16200 type: 'ExpressionStatement',
16202 type: 'UpdateExpression',
16205 type: 'Identifier',
16209 start: { line: 1, column: 5 },
16210 end: { line: 1, column: 6 }
16216 start: { line: 1, column: 5 },
16217 end: { line: 1, column: 8 }
16222 start: { line: 1, column: 5 },
16223 end: { line: 1, column: 9 }
16226 type: 'ExpressionStatement',
16228 type: 'UpdateExpression',
16231 type: 'Identifier',
16235 start: { line: 1, column: 10 },
16236 end: { line: 1, column: 11 }
16242 start: { line: 1, column: 10 },
16243 end: { line: 1, column: 13 }
16248 start: { line: 1, column: 10 },
16249 end: { line: 1, column: 14 }
16254 start: { line: 1, column: 3 },
16255 end: { line: 1, column: 16 }
16259 type: 'BinaryExpression',
16262 type: 'Identifier',
16266 start: { line: 1, column: 24 },
16267 end: { line: 1, column: 25 }
16276 start: { line: 1, column: 28 },
16277 end: { line: 1, column: 30 }
16282 start: { line: 1, column: 24 },
16283 end: { line: 1, column: 30 }
16288 start: { line: 1, column: 0 },
16289 end: { line: 1, column: 31 }
16293 '{ do { } while (false) false }': {
16294 type: 'BlockStatement',
16296 type: 'DoWhileStatement',
16298 type: 'BlockStatement',
16302 start: { line: 1, column: 5 },
16303 end: { line: 1, column: 8 }
16312 start: { line: 1, column: 16 },
16313 end: { line: 1, column: 21 }
16318 start: { line: 1, column: 2 },
16319 end: { line: 1, column: 22 }
16322 type: 'ExpressionStatement',
16329 start: { line: 1, column: 23 },
16330 end: { line: 1, column: 28 }
16335 start: { line: 1, column: 23 },
16336 end: { line: 1, column: 29 }
16341 start: { line: 1, column: 0 },
16342 end: { line: 1, column: 30 }
16346 'do that();while (true)': {
16347 type: "DoWhileStatement",
16349 type: "ExpressionStatement",
16351 type: "CallExpression",
16353 type: "Identifier",
16357 start: { line: 1, column: 3 },
16358 end: { line: 1, column: 7 }
16364 start: { line: 1, column: 3 },
16365 end: { line: 1, column: 9 }
16370 start: { line: 1, column: 3 },
16371 end: { line: 1, column: 10 }
16380 start: { line: 1, column: 17 },
16381 end: { line: 1, column: 21 }
16386 start: { line: 1, column: 0 },
16387 end: { line: 1, column: 22 }
16391 'do that()\n;while (true)': {
16392 type: "DoWhileStatement",
16394 type: "ExpressionStatement",
16396 type: "CallExpression",
16398 type: "Identifier",
16402 start: { line: 1, column: 3 },
16403 end: { line: 1, column: 7 }
16409 start: { line: 1, column: 3 },
16410 end: { line: 1, column: 9 }
16415 start: { line: 1, column: 3 },
16416 end: { line: 2, column: 1 }
16425 start: { line: 2, column: 8 },
16426 end: { line: 2, column: 12 }
16431 start: { line: 1, column: 0 },
16432 end: { line: 2, column: 13 }
16436 'while (true) doSomething()': {
16437 type: 'WhileStatement',
16444 start: { line: 1, column: 7 },
16445 end: { line: 1, column: 11 }
16449 type: 'ExpressionStatement',
16451 type: 'CallExpression',
16453 type: 'Identifier',
16454 name: 'doSomething',
16457 start: { line: 1, column: 13 },
16458 end: { line: 1, column: 24 }
16464 start: { line: 1, column: 13 },
16465 end: { line: 1, column: 26 }
16470 start: { line: 1, column: 13 },
16471 end: { line: 1, column: 26 }
16476 start: { line: 1, column: 0 },
16477 end: { line: 1, column: 26 }
16481 'while (x < 10) { x++; y--; }': {
16482 type: 'WhileStatement',
16484 type: 'BinaryExpression',
16487 type: 'Identifier',
16491 start: { line: 1, column: 7 },
16492 end: { line: 1, column: 8 }
16501 start: { line: 1, column: 11 },
16502 end: { line: 1, column: 13 }
16507 start: { line: 1, column: 7 },
16508 end: { line: 1, column: 13 }
16512 type: 'BlockStatement',
16514 type: 'ExpressionStatement',
16516 type: 'UpdateExpression',
16519 type: 'Identifier',
16523 start: { line: 1, column: 17 },
16524 end: { line: 1, column: 18 }
16530 start: { line: 1, column: 17 },
16531 end: { line: 1, column: 20 }
16536 start: { line: 1, column: 17 },
16537 end: { line: 1, column: 21 }
16540 type: 'ExpressionStatement',
16542 type: 'UpdateExpression',
16545 type: 'Identifier',
16549 start: { line: 1, column: 22 },
16550 end: { line: 1, column: 23 }
16556 start: { line: 1, column: 22 },
16557 end: { line: 1, column: 25 }
16562 start: { line: 1, column: 22 },
16563 end: { line: 1, column: 26 }
16568 start: { line: 1, column: 15 },
16569 end: { line: 1, column: 28 }
16574 start: { line: 1, column: 0 },
16575 end: { line: 1, column: 28 }
16580 type: 'ForStatement',
16585 type: 'EmptyStatement',
16588 start: { line: 1, column: 7 },
16589 end: { line: 1, column: 8 }
16594 start: { line: 1, column: 0 },
16595 end: { line: 1, column: 8 }
16600 type: 'ForStatement',
16605 type: 'BlockStatement',
16609 start: { line: 1, column: 7 },
16610 end: { line: 1, column: 9 }
16615 start: { line: 1, column: 0 },
16616 end: { line: 1, column: 9 }
16621 type: 'ForStatement',
16623 type: 'AssignmentExpression',
16626 type: 'Identifier',
16630 start: { line: 1, column: 4 },
16631 end: { line: 1, column: 5 }
16640 start: { line: 1, column: 8 },
16641 end: { line: 1, column: 9 }
16646 start: { line: 1, column: 4 },
16647 end: { line: 1, column: 9 }
16653 type: 'EmptyStatement',
16656 start: { line: 1, column: 12 },
16657 end: { line: 1, column: 13 }
16662 start: { line: 1, column: 0 },
16663 end: { line: 1, column: 13 }
16667 'for(var x = 0;;);': {
16668 type: 'ForStatement',
16670 type: 'VariableDeclaration',
16672 type: 'VariableDeclarator',
16674 type: 'Identifier',
16678 start: { line: 1, column: 8 },
16679 end: { line: 1, column: 9 }
16688 start: { line: 1, column: 12 },
16689 end: { line: 1, column: 13 }
16694 start: { line: 1, column: 8 },
16695 end: { line: 1, column: 13 }
16701 start: { line: 1, column: 4 },
16702 end: { line: 1, column: 13 }
16708 type: 'EmptyStatement',
16711 start: { line: 1, column: 16 },
16712 end: { line: 1, column: 17 }
16717 start: { line: 1, column: 0 },
16718 end: { line: 1, column: 17 }
16722 'for(let x = 0;;);': {
16723 type: 'ForStatement',
16725 type: 'VariableDeclaration',
16727 type: 'VariableDeclarator',
16729 type: 'Identifier',
16733 start: { line: 1, column: 8 },
16734 end: { line: 1, column: 9 }
16743 start: { line: 1, column: 12 },
16744 end: { line: 1, column: 13 }
16749 start: { line: 1, column: 8 },
16750 end: { line: 1, column: 13 }
16756 start: { line: 1, column: 4 },
16757 end: { line: 1, column: 13 }
16763 type: 'EmptyStatement',
16766 start: { line: 1, column: 16 },
16767 end: { line: 1, column: 17 }
16772 start: { line: 1, column: 0 },
16773 end: { line: 1, column: 17 }
16777 'for(var x = 0, y = 1;;);': {
16778 type: 'ForStatement',
16780 type: 'VariableDeclaration',
16782 type: 'VariableDeclarator',
16784 type: 'Identifier',
16788 start: { line: 1, column: 8 },
16789 end: { line: 1, column: 9 }
16798 start: { line: 1, column: 12 },
16799 end: { line: 1, column: 13 }
16804 start: { line: 1, column: 8 },
16805 end: { line: 1, column: 13 }
16808 type: 'VariableDeclarator',
16810 type: 'Identifier',
16814 start: { line: 1, column: 15 },
16815 end: { line: 1, column: 16 }
16824 start: { line: 1, column: 19 },
16825 end: { line: 1, column: 20 }
16830 start: { line: 1, column: 15 },
16831 end: { line: 1, column: 20 }
16837 start: { line: 1, column: 4 },
16838 end: { line: 1, column: 20 }
16844 type: 'EmptyStatement',
16847 start: { line: 1, column: 23 },
16848 end: { line: 1, column: 24 }
16853 start: { line: 1, column: 0 },
16854 end: { line: 1, column: 24 }
16858 'for(x = 0; x < 42;);': {
16859 type: 'ForStatement',
16861 type: 'AssignmentExpression',
16864 type: 'Identifier',
16868 start: { line: 1, column: 4 },
16869 end: { line: 1, column: 5 }
16878 start: { line: 1, column: 8 },
16879 end: { line: 1, column: 9 }
16884 start: { line: 1, column: 4 },
16885 end: { line: 1, column: 9 }
16889 type: 'BinaryExpression',
16892 type: 'Identifier',
16896 start: { line: 1, column: 11 },
16897 end: { line: 1, column: 12 }
16906 start: { line: 1, column: 15 },
16907 end: { line: 1, column: 17 }
16912 start: { line: 1, column: 11 },
16913 end: { line: 1, column: 17 }
16918 type: 'EmptyStatement',
16921 start: { line: 1, column: 19 },
16922 end: { line: 1, column: 20 }
16927 start: { line: 1, column: 0 },
16928 end: { line: 1, column: 20 }
16932 'for(x = 0; x < 42; x++);': {
16933 type: 'ForStatement',
16935 type: 'AssignmentExpression',
16938 type: 'Identifier',
16942 start: { line: 1, column: 4 },
16943 end: { line: 1, column: 5 }
16952 start: { line: 1, column: 8 },
16953 end: { line: 1, column: 9 }
16958 start: { line: 1, column: 4 },
16959 end: { line: 1, column: 9 }
16963 type: 'BinaryExpression',
16966 type: 'Identifier',
16970 start: { line: 1, column: 11 },
16971 end: { line: 1, column: 12 }
16980 start: { line: 1, column: 15 },
16981 end: { line: 1, column: 17 }
16986 start: { line: 1, column: 11 },
16987 end: { line: 1, column: 17 }
16991 type: 'UpdateExpression',
16994 type: 'Identifier',
16998 start: { line: 1, column: 19 },
16999 end: { line: 1, column: 20 }
17005 start: { line: 1, column: 19 },
17006 end: { line: 1, column: 22 }
17010 type: 'EmptyStatement',
17013 start: { line: 1, column: 23 },
17014 end: { line: 1, column: 24 }
17019 start: { line: 1, column: 0 },
17020 end: { line: 1, column: 24 }
17024 'for(x = 0; x < 42; x++) process(x);': {
17025 type: 'ForStatement',
17027 type: 'AssignmentExpression',
17030 type: 'Identifier',
17034 start: { line: 1, column: 4 },
17035 end: { line: 1, column: 5 }
17044 start: { line: 1, column: 8 },
17045 end: { line: 1, column: 9 }
17050 start: { line: 1, column: 4 },
17051 end: { line: 1, column: 9 }
17055 type: 'BinaryExpression',
17058 type: 'Identifier',
17062 start: { line: 1, column: 11 },
17063 end: { line: 1, column: 12 }
17072 start: { line: 1, column: 15 },
17073 end: { line: 1, column: 17 }
17078 start: { line: 1, column: 11 },
17079 end: { line: 1, column: 17 }
17083 type: 'UpdateExpression',
17086 type: 'Identifier',
17090 start: { line: 1, column: 19 },
17091 end: { line: 1, column: 20 }
17097 start: { line: 1, column: 19 },
17098 end: { line: 1, column: 22 }
17102 type: 'ExpressionStatement',
17104 type: 'CallExpression',
17106 type: 'Identifier',
17110 start: { line: 1, column: 24 },
17111 end: { line: 1, column: 31 }
17115 type: 'Identifier',
17119 start: { line: 1, column: 32 },
17120 end: { line: 1, column: 33 }
17125 start: { line: 1, column: 24 },
17126 end: { line: 1, column: 34 }
17131 start: { line: 1, column: 24 },
17132 end: { line: 1, column: 35 }
17137 start: { line: 1, column: 0 },
17138 end: { line: 1, column: 35 }
17142 'for(x in list) process(x);': {
17143 type: 'ForInStatement',
17145 type: 'Identifier',
17149 start: { line: 1, column: 4 },
17150 end: { line: 1, column: 5 }
17154 type: 'Identifier',
17158 start: { line: 1, column: 9 },
17159 end: { line: 1, column: 13 }
17163 type: 'ExpressionStatement',
17165 type: 'CallExpression',
17167 type: 'Identifier',
17171 start: { line: 1, column: 15 },
17172 end: { line: 1, column: 22 }
17176 type: 'Identifier',
17180 start: { line: 1, column: 23 },
17181 end: { line: 1, column: 24 }
17186 start: { line: 1, column: 15 },
17187 end: { line: 1, column: 25 }
17192 start: { line: 1, column: 15 },
17193 end: { line: 1, column: 26 }
17199 start: { line: 1, column: 0 },
17200 end: { line: 1, column: 26 }
17204 'for (var x in list) process(x);': {
17205 type: 'ForInStatement',
17207 type: 'VariableDeclaration',
17209 type: 'VariableDeclarator',
17211 type: 'Identifier',
17215 start: { line: 1, column: 9 },
17216 end: { line: 1, column: 10 }
17222 start: { line: 1, column: 9 },
17223 end: { line: 1, column: 10 }
17229 start: { line: 1, column: 5 },
17230 end: { line: 1, column: 10 }
17234 type: 'Identifier',
17238 start: { line: 1, column: 14 },
17239 end: { line: 1, column: 18 }
17243 type: 'ExpressionStatement',
17245 type: 'CallExpression',
17247 type: 'Identifier',
17251 start: { line: 1, column: 20 },
17252 end: { line: 1, column: 27 }
17256 type: 'Identifier',
17260 start: { line: 1, column: 28 },
17261 end: { line: 1, column: 29 }
17266 start: { line: 1, column: 20 },
17267 end: { line: 1, column: 30 }
17272 start: { line: 1, column: 20 },
17273 end: { line: 1, column: 31 }
17279 start: { line: 1, column: 0 },
17280 end: { line: 1, column: 31 }
17284 'for (var x = 42 in list) process(x);': {
17285 type: 'ForInStatement',
17287 type: 'VariableDeclaration',
17289 type: 'VariableDeclarator',
17291 type: 'Identifier',
17295 start: { line: 1, column: 9 },
17296 end: { line: 1, column: 10 }
17305 start: { line: 1, column: 13 },
17306 end: { line: 1, column: 15 }
17311 start: { line: 1, column: 9 },
17312 end: { line: 1, column: 15 }
17318 start: { line: 1, column: 5 },
17319 end: { line: 1, column: 15 }
17323 type: 'Identifier',
17327 start: { line: 1, column: 19 },
17328 end: { line: 1, column: 23 }
17332 type: 'ExpressionStatement',
17334 type: 'CallExpression',
17336 type: 'Identifier',
17340 start: { line: 1, column: 25 },
17341 end: { line: 1, column: 32 }
17345 type: 'Identifier',
17349 start: { line: 1, column: 33 },
17350 end: { line: 1, column: 34 }
17355 start: { line: 1, column: 25 },
17356 end: { line: 1, column: 35 }
17361 start: { line: 1, column: 25 },
17362 end: { line: 1, column: 36 }
17368 start: { line: 1, column: 0 },
17369 end: { line: 1, column: 36 }
17373 'for (let x in list) process(x);': {
17374 type: 'ForInStatement',
17376 type: 'VariableDeclaration',
17378 type: 'VariableDeclarator',
17380 type: 'Identifier',
17384 start: { line: 1, column: 9 },
17385 end: { line: 1, column: 10 }
17391 start: { line: 1, column: 9 },
17392 end: { line: 1, column: 10 }
17398 start: { line: 1, column: 5 },
17399 end: { line: 1, column: 10 }
17403 type: 'Identifier',
17407 start: { line: 1, column: 14 },
17408 end: { line: 1, column: 18 }
17412 type: 'ExpressionStatement',
17414 type: 'CallExpression',
17416 type: 'Identifier',
17420 start: { line: 1, column: 20 },
17421 end: { line: 1, column: 27 }
17425 type: 'Identifier',
17429 start: { line: 1, column: 28 },
17430 end: { line: 1, column: 29 }
17435 start: { line: 1, column: 20 },
17436 end: { line: 1, column: 30 }
17441 start: { line: 1, column: 20 },
17442 end: { line: 1, column: 31 }
17448 start: { line: 1, column: 0 },
17449 end: { line: 1, column: 31 }
17453 'for (var x = y = z in q);': {
17454 type: 'ForInStatement',
17456 type: 'VariableDeclaration',
17458 type: 'VariableDeclarator',
17460 type: 'Identifier',
17464 start: { line: 1, column: 9 },
17465 end: { line: 1, column: 10 }
17469 type: 'AssignmentExpression',
17472 type: 'Identifier',
17476 start: { line: 1, column: 13 },
17477 end: { line: 1, column: 14 }
17481 type: 'Identifier',
17485 start: { line: 1, column: 17 },
17486 end: { line: 1, column: 18 }
17491 start: { line: 1, column: 13 },
17492 end: { line: 1, column: 18 }
17497 start: { line: 1, column: 9 },
17498 end: { line: 1, column: 18 }
17504 start: { line: 1, column: 5 },
17505 end: { line: 1, column: 18 }
17509 type: 'Identifier',
17513 start: { line: 1, column: 22 },
17514 end: { line: 1, column: 23 }
17518 type: 'EmptyStatement',
17521 start: { line: 1, column: 24 },
17522 end: { line: 1, column: 25 }
17528 start: { line: 1, column: 0 },
17529 end: { line: 1, column: 25 }
17533 'for (var a = b = c = (d in e) in z);': {
17534 type: 'ForInStatement',
17536 type: 'VariableDeclaration',
17538 type: 'VariableDeclarator',
17540 type: 'Identifier',
17544 start: { line: 1, column: 9 },
17545 end: { line: 1, column: 10 }
17549 type: 'AssignmentExpression',
17552 type: 'Identifier',
17556 start: { line: 1, column: 13 },
17557 end: { line: 1, column: 14 }
17561 type: 'AssignmentExpression',
17564 type: 'Identifier',
17568 start: { line: 1, column: 17 },
17569 end: { line: 1, column: 18 }
17573 type: 'BinaryExpression',
17576 type: 'Identifier',
17580 start: { line: 1, column: 22 },
17581 end: { line: 1, column: 23 }
17585 type: 'Identifier',
17589 start: { line: 1, column: 27 },
17590 end: { line: 1, column: 28 }
17595 start: { line: 1, column: 22 },
17596 end: { line: 1, column: 28 }
17601 start: { line: 1, column: 17 },
17602 end: { line: 1, column: 29 }
17607 start: { line: 1, column: 13 },
17608 end: { line: 1, column: 29 }
17613 start: { line: 1, column: 9 },
17614 end: { line: 1, column: 29 }
17620 start: { line: 1, column: 5 },
17621 end: { line: 1, column: 29 }
17625 type: 'Identifier',
17629 start: { line: 1, column: 33 },
17630 end: { line: 1, column: 34 }
17634 type: 'EmptyStatement',
17637 start: { line: 1, column: 35 },
17638 end: { line: 1, column: 36 }
17644 start: { line: 1, column: 0 },
17645 end: { line: 1, column: 36 }
17649 'for (var i = function() { return 10 in [] } in list) process(x);': {
17650 type: 'ForInStatement',
17652 type: 'VariableDeclaration',
17654 type: 'VariableDeclarator',
17656 type: 'Identifier',
17660 start: { line: 1, column: 9 },
17661 end: { line: 1, column: 10 }
17665 type: 'FunctionExpression',
17670 type: 'BlockStatement',
17672 type: 'ReturnStatement',
17674 type: 'BinaryExpression',
17682 start: { line: 1, column: 33 },
17683 end: { line: 1, column: 35 }
17687 type: 'ArrayExpression',
17691 start: { line: 1, column: 39 },
17692 end: { line: 1, column: 41 }
17697 start: { line: 1, column: 33 },
17698 end: { line: 1, column: 41 }
17703 start: { line: 1, column: 26 },
17704 end: { line: 1, column: 42 }
17709 start: { line: 1, column: 24 },
17710 end: { line: 1, column: 43 }
17718 start: { line: 1, column: 13 },
17719 end: { line: 1, column: 43 }
17724 start: { line: 1, column: 9 },
17725 end: { line: 1, column: 43 }
17731 start: { line: 1, column: 5 },
17732 end: { line: 1, column: 43 }
17736 type: 'Identifier',
17740 start: { line: 1, column: 47 },
17741 end: { line: 1, column: 51 }
17745 type: 'ExpressionStatement',
17747 type: 'CallExpression',
17749 type: 'Identifier',
17753 start: { line: 1, column: 53 },
17754 end: { line: 1, column: 60 }
17758 type: 'Identifier',
17762 start: { line: 1, column: 61 },
17763 end: { line: 1, column: 62 }
17768 start: { line: 1, column: 53 },
17769 end: { line: 1, column: 63 }
17774 start: { line: 1, column: 53 },
17775 end: { line: 1, column: 64 }
17781 start: { line: 1, column: 0 },
17782 end: { line: 1, column: 64 }
17786 'for (a[b in c] in d);': {
17787 type: 'ForInStatement',
17789 type: 'MemberExpression',
17792 type: 'Identifier',
17796 start: { line: 1, column: 5 },
17797 end: { line: 1, column: 6 }
17801 type: 'BinaryExpression',
17804 type: 'Identifier',
17808 start: { line: 1, column: 7 },
17809 end: { line: 1, column: 8 }
17813 type: 'Identifier',
17817 start: { line: 1, column: 12 },
17818 end: { line: 1, column: 13 }
17823 start: { line: 1, column: 7 },
17824 end: { line: 1, column: 13 }
17829 start: { line: 1, column: 5 },
17830 end: { line: 1, column: 14 }
17834 type: 'Identifier',
17838 start: { line: 1, column: 18 },
17839 end: { line: 1, column: 19 }
17843 type: 'EmptyStatement',
17846 start: { line: 1, column: 20 },
17847 end: { line: 1, column: 21 }
17853 start: { line: 1, column: 0 },
17854 end: { line: 1, column: 21 }
17858 'for (a(b in c)[0] in d);': {
17859 type: 'ForInStatement',
17861 type: 'MemberExpression',
17864 type: 'CallExpression',
17866 type: 'Identifier',
17870 start: { line: 1, column: 5 },
17871 end: { line: 1, column: 6 }
17875 type: 'BinaryExpression',
17878 type: 'Identifier',
17882 start: { line: 1, column: 7 },
17883 end: { line: 1, column: 8 }
17887 type: 'Identifier',
17891 start: { line: 1, column: 12 },
17892 end: { line: 1, column: 13 }
17897 start: { line: 1, column: 7 },
17898 end: { line: 1, column: 13 }
17903 start: { line: 1, column: 5 },
17904 end: { line: 1, column: 14 }
17913 start: { line: 1, column: 15 },
17914 end: { line: 1, column: 16 }
17919 start: { line: 1, column: 5 },
17920 end: { line: 1, column: 17 }
17924 type: 'Identifier',
17928 start: { line: 1, column: 21 },
17929 end: { line: 1, column: 22 }
17933 type: 'EmptyStatement',
17936 start: { line: 1, column: 23 },
17937 end: { line: 1, column: 24 }
17943 start: { line: 1, column: 0 },
17944 end: { line: 1, column: 24 }
17948 'for (a.in in a);': {
17949 type: 'ForInStatement',
17951 type: 'MemberExpression',
17954 type: 'Identifier',
17958 start: { line: 1, column: 5 },
17959 end: { line: 1, column: 6 }
17963 type: 'Identifier',
17967 start: { line: 1, column: 7 },
17968 end: { line: 1, column: 9 }
17973 start: { line: 1, column: 5 },
17974 end: { line: 1, column: 9 }
17978 type: 'Identifier',
17982 start: { line: 1, column: 13 },
17983 end: { line: 1, column: 14 }
17987 type: 'EmptyStatement',
17990 start: { line: 1, column: 15 },
17991 end: { line: 1, column: 16 }
17997 start: { line: 1, column: 0 },
17998 end: { line: 1, column: 16 }
18003 'continue statement': {
18005 'while (true) { continue; }': {
18006 type: 'WhileStatement',
18013 start: { line: 1, column: 7 },
18014 end: { line: 1, column: 11 }
18018 type: 'BlockStatement',
18021 type: 'ContinueStatement',
18025 start: { line: 1, column: 15 },
18026 end: { line: 1, column: 24 }
18032 start: { line: 1, column: 13 },
18033 end: { line: 1, column: 26 }
18038 start: { line: 1, column: 0 },
18039 end: { line: 1, column: 26 }
18043 'while (true) { continue }': {
18044 type: 'WhileStatement',
18051 start: { line: 1, column: 7 },
18052 end: { line: 1, column: 11 }
18056 type: 'BlockStatement',
18059 type: 'ContinueStatement',
18063 start: { line: 1, column: 15 },
18064 end: { line: 1, column: 24 }
18070 start: { line: 1, column: 13 },
18071 end: { line: 1, column: 25 }
18076 start: { line: 1, column: 0 },
18077 end: { line: 1, column: 25 }
18081 'done: while (true) { continue done }': {
18082 type: 'LabeledStatement',
18084 type: 'Identifier',
18088 start: { line: 1, column: 0 },
18089 end: { line: 1, column: 4 }
18093 type: 'WhileStatement',
18100 start: { line: 1, column: 13 },
18101 end: { line: 1, column: 17 }
18105 type: 'BlockStatement',
18108 type: 'ContinueStatement',
18110 type: 'Identifier',
18114 start: { line: 1, column: 30 },
18115 end: { line: 1, column: 34 }
18120 start: { line: 1, column: 21 },
18121 end: { line: 1, column: 35 }
18127 start: { line: 1, column: 19 },
18128 end: { line: 1, column: 36 }
18133 start: { line: 1, column: 6 },
18134 end: { line: 1, column: 36 }
18139 start: { line: 1, column: 0 },
18140 end: { line: 1, column: 36 }
18144 'done: while (true) { continue done; }': {
18145 type: 'LabeledStatement',
18147 type: 'Identifier',
18151 start: { line: 1, column: 0 },
18152 end: { line: 1, column: 4 }
18156 type: 'WhileStatement',
18163 start: { line: 1, column: 13 },
18164 end: { line: 1, column: 17 }
18168 type: 'BlockStatement',
18171 type: 'ContinueStatement',
18173 type: 'Identifier',
18177 start: { line: 1, column: 30 },
18178 end: { line: 1, column: 34 }
18183 start: { line: 1, column: 21 },
18184 end: { line: 1, column: 35 }
18190 start: { line: 1, column: 19 },
18191 end: { line: 1, column: 37 }
18196 start: { line: 1, column: 6 },
18197 end: { line: 1, column: 37 }
18202 start: { line: 1, column: 0 },
18203 end: { line: 1, column: 37 }
18207 '__proto__: while (true) { continue __proto__; }': {
18208 type: 'LabeledStatement',
18210 type: 'Identifier',
18214 start: { line: 1, column: 0 },
18215 end: { line: 1, column: 9 }
18219 type: 'WhileStatement',
18226 start: { line: 1, column: 18 },
18227 end: { line: 1, column: 22 }
18231 type: 'BlockStatement',
18233 type: 'ContinueStatement',
18235 type: 'Identifier',
18239 start: { line: 1, column: 35 },
18240 end: { line: 1, column: 44 }
18245 start: { line: 1, column: 26 },
18246 end: { line: 1, column: 45 }
18251 start: { line: 1, column: 24 },
18252 end: { line: 1, column: 47 }
18257 start: { line: 1, column: 11 },
18258 end: { line: 1, column: 47 }
18263 start: { line: 1, column: 0 },
18264 end: { line: 1, column: 47 }
18270 'break statement': {
18272 'while (true) { break }': {
18273 type: 'WhileStatement',
18280 start: { line: 1, column: 7 },
18281 end: { line: 1, column: 11 }
18285 type: 'BlockStatement',
18288 type: 'BreakStatement',
18292 start: { line: 1, column: 15 },
18293 end: { line: 1, column: 21 }
18299 start: { line: 1, column: 13 },
18300 end: { line: 1, column: 22 }
18305 start: { line: 1, column: 0 },
18306 end: { line: 1, column: 22 }
18310 'done: while (true) { break done }': {
18311 type: 'LabeledStatement',
18313 type: 'Identifier',
18317 start: { line: 1, column: 0 },
18318 end: { line: 1, column: 4 }
18322 type: 'WhileStatement',
18329 start: { line: 1, column: 13 },
18330 end: { line: 1, column: 17 }
18334 type: 'BlockStatement',
18337 type: 'BreakStatement',
18339 type: 'Identifier',
18343 start: { line: 1, column: 27 },
18344 end: { line: 1, column: 31 }
18349 start: { line: 1, column: 21 },
18350 end: { line: 1, column: 32 }
18356 start: { line: 1, column: 19 },
18357 end: { line: 1, column: 33 }
18362 start: { line: 1, column: 6 },
18363 end: { line: 1, column: 33 }
18368 start: { line: 1, column: 0 },
18369 end: { line: 1, column: 33 }
18373 'done: while (true) { break done; }': {
18374 type: 'LabeledStatement',
18376 type: 'Identifier',
18380 start: { line: 1, column: 0 },
18381 end: { line: 1, column: 4 }
18385 type: 'WhileStatement',
18392 start: { line: 1, column: 13 },
18393 end: { line: 1, column: 17 }
18397 type: 'BlockStatement',
18400 type: 'BreakStatement',
18402 type: 'Identifier',
18406 start: { line: 1, column: 27 },
18407 end: { line: 1, column: 31 }
18412 start: { line: 1, column: 21 },
18413 end: { line: 1, column: 32 }
18419 start: { line: 1, column: 19 },
18420 end: { line: 1, column: 34 }
18425 start: { line: 1, column: 6 },
18426 end: { line: 1, column: 34 }
18431 start: { line: 1, column: 0 },
18432 end: { line: 1, column: 34 }
18436 '__proto__: while (true) { break __proto__; }': {
18437 type: 'LabeledStatement',
18439 type: 'Identifier',
18443 start: { line: 1, column: 0 },
18444 end: { line: 1, column: 9 }
18448 type: 'WhileStatement',
18455 start: { line: 1, column: 18 },
18456 end: { line: 1, column: 22 }
18460 type: 'BlockStatement',
18462 type: 'BreakStatement',
18464 type: 'Identifier',
18468 start: { line: 1, column: 32 },
18469 end: { line: 1, column: 41 }
18474 start: { line: 1, column: 26 },
18475 end: { line: 1, column: 42 }
18480 start: { line: 1, column: 24 },
18481 end: { line: 1, column: 44 }
18486 start: { line: 1, column: 11 },
18487 end: { line: 1, column: 44 }
18492 start: { line: 1, column: 0 },
18493 end: { line: 1, column: 44 }
18499 'return statement': {
18501 '(function(){ return })': {
18502 type: 'ExpressionStatement',
18504 type: 'FunctionExpression',
18509 type: 'BlockStatement',
18512 type: 'ReturnStatement',
18516 start: { line: 1, column: 13 },
18517 end: { line: 1, column: 20 }
18523 start: { line: 1, column: 11 },
18524 end: { line: 1, column: 21 }
18532 start: { line: 1, column: 1 },
18533 end: { line: 1, column: 21 }
18538 start: { line: 1, column: 0 },
18539 end: { line: 1, column: 22 }
18543 '(function(){ return; })': {
18544 type: 'ExpressionStatement',
18546 type: 'FunctionExpression',
18551 type: 'BlockStatement',
18554 type: 'ReturnStatement',
18558 start: { line: 1, column: 13 },
18559 end: { line: 1, column: 20 }
18565 start: { line: 1, column: 11 },
18566 end: { line: 1, column: 22 }
18574 start: { line: 1, column: 1 },
18575 end: { line: 1, column: 22 }
18580 start: { line: 1, column: 0 },
18581 end: { line: 1, column: 23 }
18585 '(function(){ return x; })': {
18586 type: 'ExpressionStatement',
18588 type: 'FunctionExpression',
18593 type: 'BlockStatement',
18596 type: 'ReturnStatement',
18598 type: 'Identifier',
18602 start: { line: 1, column: 20 },
18603 end: { line: 1, column: 21 }
18608 start: { line: 1, column: 13 },
18609 end: { line: 1, column: 22 }
18615 start: { line: 1, column: 11 },
18616 end: { line: 1, column: 24 }
18624 start: { line: 1, column: 1 },
18625 end: { line: 1, column: 24 }
18630 start: { line: 1, column: 0 },
18631 end: { line: 1, column: 25 }
18635 '(function(){ return x * y })': {
18636 type: 'ExpressionStatement',
18638 type: 'FunctionExpression',
18643 type: 'BlockStatement',
18646 type: 'ReturnStatement',
18648 type: 'BinaryExpression',
18651 type: 'Identifier',
18655 start: { line: 1, column: 20 },
18656 end: { line: 1, column: 21 }
18660 type: 'Identifier',
18664 start: { line: 1, column: 24 },
18665 end: { line: 1, column: 25 }
18670 start: { line: 1, column: 20 },
18671 end: { line: 1, column: 25 }
18676 start: { line: 1, column: 13 },
18677 end: { line: 1, column: 26 }
18683 start: { line: 1, column: 11 },
18684 end: { line: 1, column: 27 }
18692 start: { line: 1, column: 1 },
18693 end: { line: 1, column: 27 }
18698 start: { line: 1, column: 0 },
18699 end: { line: 1, column: 28 }
18704 'with statement': {
18706 'with (x) foo = bar': {
18707 type: 'WithStatement',
18709 type: 'Identifier',
18713 start: { line: 1, column: 6 },
18714 end: { line: 1, column: 7 }
18718 type: 'ExpressionStatement',
18720 type: 'AssignmentExpression',
18723 type: 'Identifier',
18727 start: { line: 1, column: 9 },
18728 end: { line: 1, column: 12 }
18732 type: 'Identifier',
18736 start: { line: 1, column: 15 },
18737 end: { line: 1, column: 18 }
18742 start: { line: 1, column: 9 },
18743 end: { line: 1, column: 18 }
18748 start: { line: 1, column: 9 },
18749 end: { line: 1, column: 18 }
18754 start: { line: 1, column: 0 },
18755 end: { line: 1, column: 18 }
18759 'with (x) foo = bar;': {
18760 type: 'WithStatement',
18762 type: 'Identifier',
18766 start: { line: 1, column: 6 },
18767 end: { line: 1, column: 7 }
18771 type: 'ExpressionStatement',
18773 type: 'AssignmentExpression',
18776 type: 'Identifier',
18780 start: { line: 1, column: 9 },
18781 end: { line: 1, column: 12 }
18785 type: 'Identifier',
18789 start: { line: 1, column: 15 },
18790 end: { line: 1, column: 18 }
18795 start: { line: 1, column: 9 },
18796 end: { line: 1, column: 18 }
18801 start: { line: 1, column: 9 },
18802 end: { line: 1, column: 19 }
18807 start: { line: 1, column: 0 },
18808 end: { line: 1, column: 19 }
18812 'with (x) { foo = bar }': {
18813 type: 'WithStatement',
18815 type: 'Identifier',
18819 start: { line: 1, column: 6 },
18820 end: { line: 1, column: 7 }
18824 type: 'BlockStatement',
18826 type: 'ExpressionStatement',
18828 type: 'AssignmentExpression',
18831 type: 'Identifier',
18835 start: { line: 1, column: 11 },
18836 end: { line: 1, column: 14 }
18840 type: 'Identifier',
18844 start: { line: 1, column: 17 },
18845 end: { line: 1, column: 20 }
18850 start: { line: 1, column: 11 },
18851 end: { line: 1, column: 20 }
18856 start: { line: 1, column: 11 },
18857 end: { line: 1, column: 21 }
18862 start: { line: 1, column: 9 },
18863 end: { line: 1, column: 22 }
18868 start: { line: 1, column: 0 },
18869 end: { line: 1, column: 22 }
18875 'switch statement': {
18878 type: 'SwitchStatement',
18880 type: 'Identifier',
18884 start: { line: 1, column: 8 },
18885 end: { line: 1, column: 9 }
18891 start: { line: 1, column: 0 },
18892 end: { line: 1, column: 13 }
18896 'switch (answer) { case 42: hi(); break; }': {
18897 type: 'SwitchStatement',
18899 type: 'Identifier',
18903 start: { line: 1, column: 8 },
18904 end: { line: 1, column: 14 }
18908 type: 'SwitchCase',
18915 start: { line: 1, column: 23 },
18916 end: { line: 1, column: 25 }
18920 type: 'ExpressionStatement',
18922 type: 'CallExpression',
18924 type: 'Identifier',
18928 start: { line: 1, column: 27 },
18929 end: { line: 1, column: 29 }
18935 start: { line: 1, column: 27 },
18936 end: { line: 1, column: 31 }
18941 start: { line: 1, column: 27 },
18942 end: { line: 1, column: 32 }
18945 type: 'BreakStatement',
18949 start: { line: 1, column: 33 },
18950 end: { line: 1, column: 39 }
18955 start: { line: 1, column: 18 },
18956 end: { line: 1, column: 39 }
18961 start: { line: 1, column: 0 },
18962 end: { line: 1, column: 41 }
18966 'switch (answer) { case 42: hi(); break; default: break }': {
18967 type: 'SwitchStatement',
18969 type: 'Identifier',
18973 start: { line: 1, column: 8 },
18974 end: { line: 1, column: 14 }
18978 type: 'SwitchCase',
18985 start: { line: 1, column: 23 },
18986 end: { line: 1, column: 25 }
18990 type: 'ExpressionStatement',
18992 type: 'CallExpression',
18994 type: 'Identifier',
18998 start: { line: 1, column: 27 },
18999 end: { line: 1, column: 29 }
19005 start: { line: 1, column: 27 },
19006 end: { line: 1, column: 31 }
19011 start: { line: 1, column: 27 },
19012 end: { line: 1, column: 32 }
19015 type: 'BreakStatement',
19019 start: { line: 1, column: 33 },
19020 end: { line: 1, column: 39 }
19025 start: { line: 1, column: 18 },
19026 end: { line: 1, column: 39 }
19029 type: 'SwitchCase',
19032 type: 'BreakStatement',
19036 start: { line: 1, column: 49 },
19037 end: { line: 1, column: 55 }
19042 start: { line: 1, column: 40 },
19043 end: { line: 1, column: 55 }
19048 start: { line: 1, column: 0 },
19049 end: { line: 1, column: 56 }
19055 'Labelled Statements': {
19057 'start: for (;;) break start': {
19058 type: 'LabeledStatement',
19060 type: 'Identifier',
19064 start: { line: 1, column: 0 },
19065 end: { line: 1, column: 5 }
19069 type: 'ForStatement',
19074 type: 'BreakStatement',
19076 type: 'Identifier',
19080 start: { line: 1, column: 22 },
19081 end: { line: 1, column: 27 }
19086 start: { line: 1, column: 16 },
19087 end: { line: 1, column: 27 }
19092 start: { line: 1, column: 7 },
19093 end: { line: 1, column: 27 }
19098 start: { line: 1, column: 0 },
19099 end: { line: 1, column: 27 }
19103 'start: while (true) break start': {
19104 type: 'LabeledStatement',
19106 type: 'Identifier',
19110 start: { line: 1, column: 0 },
19111 end: { line: 1, column: 5 }
19115 type: 'WhileStatement',
19122 start: { line: 1, column: 14 },
19123 end: { line: 1, column: 18 }
19127 type: 'BreakStatement',
19129 type: 'Identifier',
19133 start: { line: 1, column: 26 },
19134 end: { line: 1, column: 31 }
19139 start: { line: 1, column: 20 },
19140 end: { line: 1, column: 31 }
19145 start: { line: 1, column: 7 },
19146 end: { line: 1, column: 31 }
19151 start: { line: 1, column: 0 },
19152 end: { line: 1, column: 31 }
19156 '__proto__: test': {
19157 type: 'LabeledStatement',
19159 type: 'Identifier',
19163 start: { line: 1, column: 0 },
19164 end: { line: 1, column: 9 }
19168 type: 'ExpressionStatement',
19170 type: 'Identifier',
19174 start: { line: 1, column: 11 },
19175 end: { line: 1, column: 15 }
19180 start: { line: 1, column: 11 },
19181 end: { line: 1, column: 15 }
19186 start: { line: 1, column: 0 },
19187 end: { line: 1, column: 15 }
19193 'throw statement': {
19196 type: 'ThrowStatement',
19198 type: 'Identifier',
19202 start: { line: 1, column: 6 },
19203 end: { line: 1, column: 7 }
19208 start: { line: 1, column: 0 },
19209 end: { line: 1, column: 8 }
19214 type: 'ThrowStatement',
19216 type: 'BinaryExpression',
19219 type: 'Identifier',
19223 start: { line: 1, column: 6 },
19224 end: { line: 1, column: 7 }
19228 type: 'Identifier',
19232 start: { line: 1, column: 10 },
19233 end: { line: 1, column: 11 }
19238 start: { line: 1, column: 6 },
19239 end: { line: 1, column: 11 }
19244 start: { line: 1, column: 0 },
19245 end: { line: 1, column: 11 }
19249 'throw { message: "Error" }': {
19250 type: 'ThrowStatement',
19252 type: 'ObjectExpression',
19256 type: 'Identifier',
19260 start: { line: 1, column: 8 },
19261 end: { line: 1, column: 15 }
19270 start: { line: 1, column: 17 },
19271 end: { line: 1, column: 24 }
19279 start: { line: 1, column: 8 },
19280 end: { line: 1, column: 24 }
19285 start: { line: 1, column: 6 },
19286 end: { line: 1, column: 26 }
19291 start: { line: 1, column: 0 },
19292 end: { line: 1, column: 26 }
19300 'try { } catch (e) { }': {
19301 type: 'TryStatement',
19303 type: 'BlockStatement',
19307 start: { line: 1, column: 4 },
19308 end: { line: 1, column: 7 }
19311 guardedHandlers: [],
19313 type: 'CatchClause',
19315 type: 'Identifier',
19319 start: { line: 1, column: 15 },
19320 end: { line: 1, column: 16 }
19324 type: 'BlockStatement',
19328 start: { line: 1, column: 18 },
19329 end: { line: 1, column: 21 }
19334 start: { line: 1, column: 8 },
19335 end: { line: 1, column: 21 }
19341 start: { line: 1, column: 0 },
19342 end: { line: 1, column: 21 }
19346 'try { } catch (eval) { }': {
19347 type: 'TryStatement',
19349 type: 'BlockStatement',
19353 start: { line: 1, column: 4 },
19354 end: { line: 1, column: 7 }
19357 guardedHandlers: [],
19359 type: 'CatchClause',
19361 type: 'Identifier',
19365 start: { line: 1, column: 15 },
19366 end: { line: 1, column: 19 }
19370 type: 'BlockStatement',
19374 start: { line: 1, column: 21 },
19375 end: { line: 1, column: 24 }
19380 start: { line: 1, column: 8 },
19381 end: { line: 1, column: 24 }
19387 start: { line: 1, column: 0 },
19388 end: { line: 1, column: 24 }
19392 'try { } catch (arguments) { }': {
19393 type: 'TryStatement',
19395 type: 'BlockStatement',
19399 start: { line: 1, column: 4 },
19400 end: { line: 1, column: 7 }
19403 guardedHandlers: [],
19405 type: 'CatchClause',
19407 type: 'Identifier',
19411 start: { line: 1, column: 15 },
19412 end: { line: 1, column: 24 }
19416 type: 'BlockStatement',
19420 start: { line: 1, column: 26 },
19421 end: { line: 1, column: 29 }
19426 start: { line: 1, column: 8 },
19427 end: { line: 1, column: 29 }
19433 start: { line: 1, column: 0 },
19434 end: { line: 1, column: 29 }
19438 'try { } catch (e) { say(e) }': {
19439 type: 'TryStatement',
19441 type: 'BlockStatement',
19445 start: { line: 1, column: 4 },
19446 end: { line: 1, column: 7 }
19449 guardedHandlers: [],
19451 type: 'CatchClause',
19453 type: 'Identifier',
19457 start: { line: 1, column: 15 },
19458 end: { line: 1, column: 16 }
19462 type: 'BlockStatement',
19464 type: 'ExpressionStatement',
19466 type: 'CallExpression',
19468 type: 'Identifier',
19472 start: { line: 1, column: 20 },
19473 end: { line: 1, column: 23 }
19477 type: 'Identifier',
19481 start: { line: 1, column: 24 },
19482 end: { line: 1, column: 25 }
19487 start: { line: 1, column: 20 },
19488 end: { line: 1, column: 26 }
19493 start: { line: 1, column: 20 },
19494 end: { line: 1, column: 27 }
19499 start: { line: 1, column: 18 },
19500 end: { line: 1, column: 28 }
19505 start: { line: 1, column: 8 },
19506 end: { line: 1, column: 28 }
19512 start: { line: 1, column: 0 },
19513 end: { line: 1, column: 28 }
19517 'try { } finally { cleanup(stuff) }': {
19518 type: 'TryStatement',
19520 type: 'BlockStatement',
19524 start: { line: 1, column: 4 },
19525 end: { line: 1, column: 7 }
19528 guardedHandlers: [],
19531 type: 'BlockStatement',
19533 type: 'ExpressionStatement',
19535 type: 'CallExpression',
19537 type: 'Identifier',
19541 start: { line: 1, column: 18 },
19542 end: { line: 1, column: 25 }
19546 type: 'Identifier',
19550 start: { line: 1, column: 26 },
19551 end: { line: 1, column: 31 }
19556 start: { line: 1, column: 18 },
19557 end: { line: 1, column: 32 }
19562 start: { line: 1, column: 18 },
19563 end: { line: 1, column: 33 }
19568 start: { line: 1, column: 16 },
19569 end: { line: 1, column: 34 }
19574 start: { line: 1, column: 0 },
19575 end: { line: 1, column: 34 }
19579 'try { doThat(); } catch (e) { say(e) }': {
19580 type: 'TryStatement',
19582 type: 'BlockStatement',
19584 type: 'ExpressionStatement',
19586 type: 'CallExpression',
19588 type: 'Identifier',
19592 start: { line: 1, column: 6 },
19593 end: { line: 1, column: 12 }
19599 start: { line: 1, column: 6 },
19600 end: { line: 1, column: 14 }
19605 start: { line: 1, column: 6 },
19606 end: { line: 1, column: 15 }
19611 start: { line: 1, column: 4 },
19612 end: { line: 1, column: 17 }
19615 guardedHandlers: [],
19617 type: 'CatchClause',
19619 type: 'Identifier',
19623 start: { line: 1, column: 25 },
19624 end: { line: 1, column: 26 }
19628 type: 'BlockStatement',
19630 type: 'ExpressionStatement',
19632 type: 'CallExpression',
19634 type: 'Identifier',
19638 start: { line: 1, column: 30 },
19639 end: { line: 1, column: 33 }
19643 type: 'Identifier',
19647 start: { line: 1, column: 34 },
19648 end: { line: 1, column: 35 }
19653 start: { line: 1, column: 30 },
19654 end: { line: 1, column: 36 }
19659 start: { line: 1, column: 30 },
19660 end: { line: 1, column: 37 }
19665 start: { line: 1, column: 28 },
19666 end: { line: 1, column: 38 }
19671 start: { line: 1, column: 18 },
19672 end: { line: 1, column: 38 }
19678 start: { line: 1, column: 0 },
19679 end: { line: 1, column: 38 }
19683 'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': {
19684 type: 'TryStatement',
19686 type: 'BlockStatement',
19688 type: 'ExpressionStatement',
19690 type: 'CallExpression',
19692 type: 'Identifier',
19696 start: { line: 1, column: 6 },
19697 end: { line: 1, column: 12 }
19703 start: { line: 1, column: 6 },
19704 end: { line: 1, column: 14 }
19709 start: { line: 1, column: 6 },
19710 end: { line: 1, column: 15 }
19715 start: { line: 1, column: 4 },
19716 end: { line: 1, column: 17 }
19719 guardedHandlers: [],
19721 type: 'CatchClause',
19723 type: 'Identifier',
19727 start: { line: 1, column: 25 },
19728 end: { line: 1, column: 26 }
19732 type: 'BlockStatement',
19734 type: 'ExpressionStatement',
19736 type: 'CallExpression',
19738 type: 'Identifier',
19742 start: { line: 1, column: 30 },
19743 end: { line: 1, column: 33 }
19747 type: 'Identifier',
19751 start: { line: 1, column: 34 },
19752 end: { line: 1, column: 35 }
19757 start: { line: 1, column: 30 },
19758 end: { line: 1, column: 36 }
19763 start: { line: 1, column: 30 },
19764 end: { line: 1, column: 37 }
19769 start: { line: 1, column: 28 },
19770 end: { line: 1, column: 38 }
19775 start: { line: 1, column: 18 },
19776 end: { line: 1, column: 38 }
19780 type: 'BlockStatement',
19782 type: 'ExpressionStatement',
19784 type: 'CallExpression',
19786 type: 'Identifier',
19790 start: { line: 1, column: 49 },
19791 end: { line: 1, column: 56 }
19795 type: 'Identifier',
19799 start: { line: 1, column: 57 },
19800 end: { line: 1, column: 62 }
19805 start: { line: 1, column: 49 },
19806 end: { line: 1, column: 63 }
19811 start: { line: 1, column: 49 },
19812 end: { line: 1, column: 64 }
19817 start: { line: 1, column: 47 },
19818 end: { line: 1, column: 65 }
19823 start: { line: 1, column: 0 },
19824 end: { line: 1, column: 65 }
19830 'debugger statement': {
19833 type: 'DebuggerStatement',
19836 start: { line: 1, column: 0 },
19837 end: { line: 1, column: 9 }
19843 'Function Definition': {
19845 'function hello() { sayHi(); }': {
19846 type: 'FunctionDeclaration',
19848 type: 'Identifier',
19852 start: { line: 1, column: 9 },
19853 end: { line: 1, column: 14 }
19859 type: 'BlockStatement',
19861 type: 'ExpressionStatement',
19863 type: 'CallExpression',
19865 type: 'Identifier',
19869 start: { line: 1, column: 19 },
19870 end: { line: 1, column: 24 }
19876 start: { line: 1, column: 19 },
19877 end: { line: 1, column: 26 }
19882 start: { line: 1, column: 19 },
19883 end: { line: 1, column: 27 }
19888 start: { line: 1, column: 17 },
19889 end: { line: 1, column: 29 }
19897 start: { line: 1, column: 0 },
19898 end: { line: 1, column: 29 }
19902 'function eval() { }': {
19903 type: 'FunctionDeclaration',
19905 type: 'Identifier',
19909 start: { line: 1, column: 9 },
19910 end: { line: 1, column: 13 }
19916 type: 'BlockStatement',
19920 start: { line: 1, column: 16 },
19921 end: { line: 1, column: 19 }
19929 start: { line: 1, column: 0 },
19930 end: { line: 1, column: 19 }
19934 'function arguments() { }': {
19935 type: 'FunctionDeclaration',
19937 type: 'Identifier',
19941 start: { line: 1, column: 9 },
19942 end: { line: 1, column: 18 }
19948 type: 'BlockStatement',
19952 start: { line: 1, column: 21 },
19953 end: { line: 1, column: 24 }
19961 start: { line: 1, column: 0 },
19962 end: { line: 1, column: 24 }
19966 'function test(t, t) { }': {
19967 type: 'FunctionDeclaration',
19969 type: 'Identifier',
19973 start: { line: 1, column: 9 },
19974 end: { line: 1, column: 13 }
19978 type: 'Identifier',
19982 start: { line: 1, column: 14 },
19983 end: { line: 1, column: 15 }
19986 type: 'Identifier',
19990 start: { line: 1, column: 17 },
19991 end: { line: 1, column: 18 }
19996 type: 'BlockStatement',
20000 start: { line: 1, column: 20 },
20001 end: { line: 1, column: 23 }
20009 start: { line: 1, column: 0 },
20010 end: { line: 1, column: 23 }
20014 '(function test(t, t) { })': {
20015 type: 'ExpressionStatement',
20017 type: 'FunctionExpression',
20019 type: 'Identifier',
20023 start: { line: 1, column: 10 },
20024 end: { line: 1, column: 14 }
20028 type: 'Identifier',
20032 start: { line: 1, column: 15 },
20033 end: { line: 1, column: 16 }
20036 type: 'Identifier',
20040 start: { line: 1, column: 18 },
20041 end: { line: 1, column: 19 }
20046 type: 'BlockStatement',
20050 start: { line: 1, column: 21 },
20051 end: { line: 1, column: 24 }
20059 start: { line: 1, column: 1 },
20060 end: { line: 1, column: 24 }
20065 start: { line: 1, column: 0 },
20066 end: { line: 1, column: 25 }
20070 'function eval() { function inner() { "use strict" } }': {
20071 type: 'FunctionDeclaration',
20073 type: 'Identifier',
20077 start: { line: 1, column: 9 },
20078 end: { line: 1, column: 13 }
20084 type: 'BlockStatement',
20086 type: 'FunctionDeclaration',
20088 type: 'Identifier',
20092 start: { line: 1, column: 27 },
20093 end: { line: 1, column: 32 }
20099 type: 'BlockStatement',
20101 type: 'ExpressionStatement',
20104 value: 'use strict',
20105 raw: '\"use strict\"',
20108 start: { line: 1, column: 37 },
20109 end: { line: 1, column: 49 }
20114 start: { line: 1, column: 37 },
20115 end: { line: 1, column: 50 }
20120 start: { line: 1, column: 35 },
20121 end: { line: 1, column: 51 }
20129 start: { line: 1, column: 18 },
20130 end: { line: 1, column: 51 }
20135 start: { line: 1, column: 16 },
20136 end: { line: 1, column: 53 }
20144 start: { line: 1, column: 0 },
20145 end: { line: 1, column: 53 }
20149 'function hello(a) { sayHi(); }': {
20150 type: 'FunctionDeclaration',
20152 type: 'Identifier',
20156 start: { line: 1, column: 9 },
20157 end: { line: 1, column: 14 }
20161 type: 'Identifier',
20165 start: { line: 1, column: 15 },
20166 end: { line: 1, column: 16 }
20171 type: 'BlockStatement',
20173 type: 'ExpressionStatement',
20175 type: 'CallExpression',
20177 type: 'Identifier',
20181 start: { line: 1, column: 20 },
20182 end: { line: 1, column: 25 }
20188 start: { line: 1, column: 20 },
20189 end: { line: 1, column: 27 }
20194 start: { line: 1, column: 20 },
20195 end: { line: 1, column: 28 }
20200 start: { line: 1, column: 18 },
20201 end: { line: 1, column: 30 }
20209 start: { line: 1, column: 0 },
20210 end: { line: 1, column: 30 }
20214 'function hello(a, b) { sayHi(); }': {
20215 type: 'FunctionDeclaration',
20217 type: 'Identifier',
20221 start: { line: 1, column: 9 },
20222 end: { line: 1, column: 14 }
20226 type: 'Identifier',
20230 start: { line: 1, column: 15 },
20231 end: { line: 1, column: 16 }
20234 type: 'Identifier',
20238 start: { line: 1, column: 18 },
20239 end: { line: 1, column: 19 }
20244 type: 'BlockStatement',
20246 type: 'ExpressionStatement',
20248 type: 'CallExpression',
20250 type: 'Identifier',
20254 start: { line: 1, column: 23 },
20255 end: { line: 1, column: 28 }
20261 start: { line: 1, column: 23 },
20262 end: { line: 1, column: 30 }
20267 start: { line: 1, column: 23 },
20268 end: { line: 1, column: 31 }
20273 start: { line: 1, column: 21 },
20274 end: { line: 1, column: 33 }
20282 start: { line: 1, column: 0 },
20283 end: { line: 1, column: 33 }
20287 'var hi = function() { sayHi() };': {
20288 type: 'VariableDeclaration',
20290 type: 'VariableDeclarator',
20292 type: 'Identifier',
20296 start: { line: 1, column: 4 },
20297 end: { line: 1, column: 6 }
20301 type: 'FunctionExpression',
20306 type: 'BlockStatement',
20308 type: 'ExpressionStatement',
20310 type: 'CallExpression',
20312 type: 'Identifier',
20316 start: { line: 1, column: 22 },
20317 end: { line: 1, column: 27 }
20323 start: { line: 1, column: 22 },
20324 end: { line: 1, column: 29 }
20329 start: { line: 1, column: 22 },
20330 end: { line: 1, column: 30 }
20335 start: { line: 1, column: 20 },
20336 end: { line: 1, column: 31 }
20344 start: { line: 1, column: 9 },
20345 end: { line: 1, column: 31 }
20350 start: { line: 1, column: 4 },
20351 end: { line: 1, column: 31 }
20357 start: { line: 1, column: 0 },
20358 end: { line: 1, column: 32 }
20362 'var hi = function eval() { };': {
20363 type: 'VariableDeclaration',
20365 type: 'VariableDeclarator',
20367 type: 'Identifier',
20371 start: { line: 1, column: 4 },
20372 end: { line: 1, column: 6 }
20376 type: 'FunctionExpression',
20378 type: 'Identifier',
20382 start: { line: 1, column: 18 },
20383 end: { line: 1, column: 22 }
20389 type: 'BlockStatement',
20393 start: { line: 1, column: 25 },
20394 end: { line: 1, column: 28 }
20402 start: { line: 1, column: 9 },
20403 end: { line: 1, column: 28 }
20408 start: { line: 1, column: 4 },
20409 end: { line: 1, column: 28 }
20415 start: { line: 1, column: 0 },
20416 end: { line: 1, column: 29 }
20420 'var hi = function arguments() { };': {
20421 type: 'VariableDeclaration',
20423 type: 'VariableDeclarator',
20425 type: 'Identifier',
20429 start: { line: 1, column: 4 },
20430 end: { line: 1, column: 6 }
20434 type: 'FunctionExpression',
20436 type: 'Identifier',
20440 start: { line: 1, column: 18 },
20441 end: { line: 1, column: 27 }
20447 type: 'BlockStatement',
20451 start: { line: 1, column: 30 },
20452 end: { line: 1, column: 33 }
20460 start: { line: 1, column: 9 },
20461 end: { line: 1, column: 33 }
20466 start: { line: 1, column: 4 },
20467 end: { line: 1, column: 33 }
20473 start: { line: 1, column: 0 },
20474 end: { line: 1, column: 34 }
20478 'var hello = function hi() { sayHi() };': {
20479 type: 'VariableDeclaration',
20481 type: 'VariableDeclarator',
20483 type: 'Identifier',
20487 start: { line: 1, column: 4 },
20488 end: { line: 1, column: 9 }
20492 type: 'FunctionExpression',
20494 type: 'Identifier',
20498 start: { line: 1, column: 21 },
20499 end: { line: 1, column: 23 }
20505 type: 'BlockStatement',
20507 type: 'ExpressionStatement',
20509 type: 'CallExpression',
20511 type: 'Identifier',
20515 start: { line: 1, column: 28 },
20516 end: { line: 1, column: 33 }
20522 start: { line: 1, column: 28 },
20523 end: { line: 1, column: 35 }
20528 start: { line: 1, column: 28 },
20529 end: { line: 1, column: 36 }
20534 start: { line: 1, column: 26 },
20535 end: { line: 1, column: 37 }
20543 start: { line: 1, column: 12 },
20544 end: { line: 1, column: 37 }
20549 start: { line: 1, column: 4 },
20550 end: { line: 1, column: 37 }
20556 start: { line: 1, column: 0 },
20557 end: { line: 1, column: 38 }
20561 '(function(){})': {
20562 type: 'ExpressionStatement',
20564 type: 'FunctionExpression',
20569 type: 'BlockStatement',
20573 start: { line: 1, column: 11 },
20574 end: { line: 1, column: 13 }
20582 start: { line: 1, column: 1 },
20583 end: { line: 1, column: 13 }
20588 start: { line: 1, column: 0 },
20589 end: { line: 1, column: 14 }
20593 'function universe(__proto__) { }': {
20594 type: 'FunctionDeclaration',
20596 type: 'Identifier',
20600 start: { line: 1, column: 9 },
20601 end: { line: 1, column: 17 }
20605 type: 'Identifier',
20609 start: { line: 1, column: 18 },
20610 end: { line: 1, column: 27 }
20615 type: 'BlockStatement',
20619 start: { line: 1, column: 29 },
20620 end: { line: 1, column: 32 }
20628 start: { line: 1, column: 0 },
20629 end: { line: 1, column: 32 }
20633 'function test() { "use strict" + 42; }': {
20634 type: 'FunctionDeclaration',
20636 type: 'Identifier',
20640 start: { line: 1, column: 9 },
20641 end: { line: 1, column: 13 }
20647 type: 'BlockStatement',
20649 type: 'ExpressionStatement',
20651 type: 'BinaryExpression',
20655 value: 'use strict',
20656 raw: '"use strict"',
20659 start: { line: 1, column: 18 },
20660 end: { line: 1, column: 30 }
20669 start: { line: 1, column: 33 },
20670 end: { line: 1, column: 35 }
20675 start: { line: 1, column: 18 },
20676 end: { line: 1, column: 35 }
20681 start: { line: 1, column: 18 },
20682 end: { line: 1, column: 36 }
20687 start: { line: 1, column: 16 },
20688 end: { line: 1, column: 38 }
20696 start: { line: 1, column: 0 },
20697 end: { line: 1, column: 38 }
20703 '[ES6] Default Parameter Value': {
20705 'x = function(y = 1) {}': {
20706 type: 'ExpressionStatement',
20708 type: 'AssignmentExpression',
20711 type: 'Identifier',
20715 start: { line: 1, column: 0 },
20716 end: { line: 1, column: 1 }
20720 type: 'FunctionExpression',
20723 type: 'Identifier',
20727 start: { line: 1, column: 13 },
20728 end: { line: 1, column: 14 }
20737 start: { line: 1, column: 17 },
20738 end: { line: 1, column: 18 }
20742 type: 'BlockStatement',
20746 start: { line: 1, column: 20 },
20747 end: { line: 1, column: 22 }
20755 start: { line: 1, column: 4 },
20756 end: { line: 1, column: 22 }
20761 start: { line: 1, column: 0 },
20762 end: { line: 1, column: 22 }
20767 start: { line: 1, column: 0 },
20768 end: { line: 1, column: 22 }
20772 'function f(a = 1) {}': {
20773 type: 'FunctionDeclaration',
20775 type: 'Identifier',
20779 start: { line: 1, column: 9 },
20780 end: { line: 1, column: 10 }
20784 type: 'Identifier',
20788 start: { line: 1, column: 11 },
20789 end: { line: 1, column: 12 }
20798 start: { line: 1, column: 15 },
20799 end: { line: 1, column: 16 }
20803 type: 'BlockStatement',
20807 start: { line: 1, column: 18 },
20808 end: { line: 1, column: 20 }
20816 start: { line: 1, column: 0 },
20817 end: { line: 1, column: 20 }
20821 'x = { f: function(a=1) {} }': {
20822 type: 'ExpressionStatement',
20824 type: 'AssignmentExpression',
20827 type: 'Identifier',
20831 start: { line: 1, column: 0 },
20832 end: { line: 1, column: 1 }
20836 type: 'ObjectExpression',
20840 type: 'Identifier',
20844 start: { line: 1, column: 6 },
20845 end: { line: 1, column: 7 }
20849 type: 'FunctionExpression',
20852 type: 'Identifier',
20856 start: { line: 1, column: 18 },
20857 end: { line: 1, column: 19 }
20866 start: { line: 1, column: 20 },
20867 end: { line: 1, column: 21 }
20871 type: 'BlockStatement',
20875 start: { line: 1, column: 23 },
20876 end: { line: 1, column: 25 }
20884 start: { line: 1, column: 9 },
20885 end: { line: 1, column: 25 }
20893 start: { line: 1, column: 6 },
20894 end: { line: 1, column: 25 }
20899 start: { line: 1, column: 4 },
20900 end: { line: 1, column: 27 }
20905 start: { line: 1, column: 0 },
20906 end: { line: 1, column: 27 }
20911 start: { line: 1, column: 0 },
20912 end: { line: 1, column: 27 }
20918 'Automatic semicolon insertion': {
20921 type: 'BlockStatement',
20923 type: 'ExpressionStatement',
20925 type: 'Identifier',
20929 start: { line: 1, column: 2 },
20930 end: { line: 1, column: 3 }
20935 start: { line: 1, column: 2 },
20936 end: { line: 1, column: 3 }
20939 type: 'ExpressionStatement',
20941 type: 'UpdateExpression',
20944 type: 'Identifier',
20948 start: { line: 2, column: 2 },
20949 end: { line: 2, column: 3 }
20955 start: { line: 2, column: 0 },
20956 end: { line: 2, column: 3 }
20961 start: { line: 2, column: 0 },
20962 end: { line: 2, column: 4 }
20967 start: { line: 1, column: 0 },
20968 end: { line: 2, column: 5 }
20973 type: 'BlockStatement',
20975 type: 'ExpressionStatement',
20977 type: 'Identifier',
20981 start: { line: 1, column: 2 },
20982 end: { line: 1, column: 3 }
20987 start: { line: 1, column: 2 },
20988 end: { line: 1, column: 3 }
20991 type: 'ExpressionStatement',
20993 type: 'UpdateExpression',
20996 type: 'Identifier',
21000 start: { line: 2, column: 2 },
21001 end: { line: 2, column: 3 }
21007 start: { line: 2, column: 0 },
21008 end: { line: 2, column: 3 }
21013 start: { line: 2, column: 0 },
21014 end: { line: 2, column: 4 }
21019 start: { line: 1, column: 0 },
21020 end: { line: 2, column: 5 }
21024 'var x /* comment */;': {
21025 type: 'VariableDeclaration',
21027 type: 'VariableDeclarator',
21029 type: 'Identifier',
21033 start: { line: 1, column: 4 },
21034 end: { line: 1, column: 5 }
21040 start: { line: 1, column: 4 },
21041 end: { line: 1, column: 5 }
21047 start: { line: 1, column: 0 },
21048 end: { line: 1, column: 20 }
21052 '{ var x = 14, y = 3\nz; }': {
21053 type: 'BlockStatement',
21055 type: 'VariableDeclaration',
21057 type: 'VariableDeclarator',
21059 type: 'Identifier',
21063 start: { line: 1, column: 6 },
21064 end: { line: 1, column: 7 }
21073 start: { line: 1, column: 10 },
21074 end: { line: 1, column: 12 }
21079 start: { line: 1, column: 6 },
21080 end: { line: 1, column: 12 }
21083 type: 'VariableDeclarator',
21085 type: 'Identifier',
21089 start: { line: 1, column: 14 },
21090 end: { line: 1, column: 15 }
21099 start: { line: 1, column: 18 },
21100 end: { line: 1, column: 19 }
21105 start: { line: 1, column: 14 },
21106 end: { line: 1, column: 19 }
21112 start: { line: 1, column: 2 },
21113 end: { line: 1, column: 19 }
21116 type: 'ExpressionStatement',
21118 type: 'Identifier',
21122 start: { line: 2, column: 0 },
21123 end: { line: 2, column: 1 }
21128 start: { line: 2, column: 0 },
21129 end: { line: 2, column: 2 }
21134 start: { line: 1, column: 0 },
21135 end: { line: 2, column: 4 }
21139 'while (true) { continue\nthere; }': {
21140 type: 'WhileStatement',
21147 start: { line: 1, column: 7 },
21148 end: { line: 1, column: 11 }
21152 type: 'BlockStatement',
21154 type: 'ContinueStatement',
21158 start: { line: 1, column: 15 },
21159 end: { line: 1, column: 23 }
21162 type: 'ExpressionStatement',
21164 type: 'Identifier',
21168 start: { line: 2, column: 0 },
21169 end: { line: 2, column: 5 }
21174 start: { line: 2, column: 0 },
21175 end: { line: 2, column: 6 }
21180 start: { line: 1, column: 13 },
21181 end: { line: 2, column: 8 }
21186 start: { line: 1, column: 0 },
21187 end: { line: 2, column: 8 }
21191 'while (true) { continue // Comment\nthere; }': {
21192 type: 'WhileStatement',
21199 start: { line: 1, column: 7 },
21200 end: { line: 1, column: 11 }
21204 type: 'BlockStatement',
21206 type: 'ContinueStatement',
21210 start: { line: 1, column: 15 },
21211 end: { line: 1, column: 23 }
21214 type: 'ExpressionStatement',
21216 type: 'Identifier',
21220 start: { line: 2, column: 0 },
21221 end: { line: 2, column: 5 }
21226 start: { line: 2, column: 0 },
21227 end: { line: 2, column: 6 }
21232 start: { line: 1, column: 13 },
21233 end: { line: 2, column: 8 }
21238 start: { line: 1, column: 0 },
21239 end: { line: 2, column: 8 }
21243 'while (true) { continue /* Multiline\nComment */there; }': {
21244 type: 'WhileStatement',
21251 start: { line: 1, column: 7 },
21252 end: { line: 1, column: 11 }
21256 type: 'BlockStatement',
21258 type: 'ContinueStatement',
21262 start: { line: 1, column: 15 },
21263 end: { line: 1, column: 23 }
21266 type: 'ExpressionStatement',
21268 type: 'Identifier',
21272 start: { line: 2, column: 10 },
21273 end: { line: 2, column: 15 }
21278 start: { line: 2, column: 10 },
21279 end: { line: 2, column: 16 }
21284 start: { line: 1, column: 13 },
21285 end: { line: 2, column: 18 }
21290 start: { line: 1, column: 0 },
21291 end: { line: 2, column: 18 }
21295 'while (true) { break\nthere; }': {
21296 type: 'WhileStatement',
21303 start: { line: 1, column: 7 },
21304 end: { line: 1, column: 11 }
21308 type: 'BlockStatement',
21310 type: 'BreakStatement',
21314 start: { line: 1, column: 15 },
21315 end: { line: 1, column: 20 }
21318 type: 'ExpressionStatement',
21320 type: 'Identifier',
21324 start: { line: 2, column: 0 },
21325 end: { line: 2, column: 5 }
21330 start: { line: 2, column: 0 },
21331 end: { line: 2, column: 6 }
21336 start: { line: 1, column: 13 },
21337 end: { line: 2, column: 8 }
21342 start: { line: 1, column: 0 },
21343 end: { line: 2, column: 8 }
21347 'while (true) { break // Comment\nthere; }': {
21348 type: 'WhileStatement',
21355 start: { line: 1, column: 7 },
21356 end: { line: 1, column: 11 }
21360 type: 'BlockStatement',
21362 type: 'BreakStatement',
21366 start: { line: 1, column: 15 },
21367 end: { line: 1, column: 20 }
21370 type: 'ExpressionStatement',
21372 type: 'Identifier',
21376 start: { line: 2, column: 0 },
21377 end: { line: 2, column: 5 }
21382 start: { line: 2, column: 0 },
21383 end: { line: 2, column: 6 }
21388 start: { line: 1, column: 13 },
21389 end: { line: 2, column: 8 }
21394 start: { line: 1, column: 0 },
21395 end: { line: 2, column: 8 }
21399 'while (true) { break /* Multiline\nComment */there; }': {
21400 type: 'WhileStatement',
21407 start: { line: 1, column: 7 },
21408 end: { line: 1, column: 11 }
21412 type: 'BlockStatement',
21414 type: 'BreakStatement',
21418 start: { line: 1, column: 15 },
21419 end: { line: 1, column: 20 }
21422 type: 'ExpressionStatement',
21424 type: 'Identifier',
21428 start: { line: 2, column: 10 },
21429 end: { line: 2, column: 15 }
21434 start: { line: 2, column: 10 },
21435 end: { line: 2, column: 16 }
21440 start: { line: 1, column: 13 },
21441 end: { line: 2, column: 18 }
21446 start: { line: 1, column: 0 },
21447 end: { line: 2, column: 18 }
21451 '(function(){ return\nx; })': {
21452 type: 'ExpressionStatement',
21454 type: 'FunctionExpression',
21459 type: 'BlockStatement',
21462 type: 'ReturnStatement',
21466 start: { line: 1, column: 13 },
21467 end: { line: 1, column: 19 }
21471 type: 'ExpressionStatement',
21473 type: 'Identifier',
21477 start: { line: 2, column: 0 },
21478 end: { line: 2, column: 1 }
21483 start: { line: 2, column: 0 },
21484 end: { line: 2, column: 2 }
21490 start: { line: 1, column: 11 },
21491 end: { line: 2, column: 4 }
21499 start: { line: 1, column: 1 },
21500 end: { line: 2, column: 4 }
21505 start: { line: 1, column: 0 },
21506 end: { line: 2, column: 5 }
21510 '(function(){ return // Comment\nx; })': {
21511 type: 'ExpressionStatement',
21513 type: 'FunctionExpression',
21518 type: 'BlockStatement',
21521 type: 'ReturnStatement',
21525 start: { line: 1, column: 13 },
21526 end: { line: 1, column: 19 }
21530 type: 'ExpressionStatement',
21532 type: 'Identifier',
21536 start: { line: 2, column: 0 },
21537 end: { line: 2, column: 1 }
21542 start: { line: 2, column: 0 },
21543 end: { line: 2, column: 2 }
21549 start: { line: 1, column: 11 },
21550 end: { line: 2, column: 4 }
21558 start: { line: 1, column: 1 },
21559 end: { line: 2, column: 4 }
21564 start: { line: 1, column: 0 },
21565 end: { line: 2, column: 5 }
21569 '(function(){ return/* Multiline\nComment */x; })': {
21570 type: 'ExpressionStatement',
21572 type: 'FunctionExpression',
21577 type: 'BlockStatement',
21580 type: 'ReturnStatement',
21584 start: { line: 1, column: 13 },
21585 end: { line: 1, column: 19 }
21589 type: 'ExpressionStatement',
21591 type: 'Identifier',
21595 start: { line: 2, column: 10 },
21596 end: { line: 2, column: 11 }
21601 start: { line: 2, column: 10 },
21602 end: { line: 2, column: 12 }
21608 start: { line: 1, column: 11 },
21609 end: { line: 2, column: 14 }
21617 start: { line: 1, column: 1 },
21618 end: { line: 2, column: 14 }
21623 start: { line: 1, column: 0 },
21624 end: { line: 2, column: 15 }
21628 '{ throw error\nerror; }': {
21629 type: 'BlockStatement',
21631 type: 'ThrowStatement',
21633 type: 'Identifier',
21637 start: { line: 1, column: 8 },
21638 end: { line: 1, column: 13 }
21643 start: { line: 1, column: 2 },
21644 end: { line: 1, column: 13 }
21647 type: 'ExpressionStatement',
21649 type: 'Identifier',
21653 start: { line: 2, column: 0 },
21654 end: { line: 2, column: 5 }
21659 start: { line: 2, column: 0 },
21660 end: { line: 2, column: 6 }
21665 start: { line: 1, column: 0 },
21666 end: { line: 2, column: 8 }
21670 '{ throw error// Comment\nerror; }': {
21671 type: 'BlockStatement',
21673 type: 'ThrowStatement',
21675 type: 'Identifier',
21679 start: { line: 1, column: 8 },
21680 end: { line: 1, column: 13 }
21685 start: { line: 1, column: 2 },
21686 end: { line: 1, column: 13 }
21689 type: 'ExpressionStatement',
21691 type: 'Identifier',
21695 start: { line: 2, column: 0 },
21696 end: { line: 2, column: 5 }
21701 start: { line: 2, column: 0 },
21702 end: { line: 2, column: 6 }
21707 start: { line: 1, column: 0 },
21708 end: { line: 2, column: 8 }
21712 '{ throw error/* Multiline\nComment */error; }': {
21713 type: 'BlockStatement',
21715 type: 'ThrowStatement',
21717 type: 'Identifier',
21721 start: { line: 1, column: 8 },
21722 end: { line: 1, column: 13 }
21727 start: { line: 1, column: 2 },
21728 end: { line: 1, column: 13 }
21731 type: 'ExpressionStatement',
21733 type: 'Identifier',
21737 start: { line: 2, column: 10 },
21738 end: { line: 2, column: 15 }
21743 start: { line: 2, column: 10 },
21744 end: { line: 2, column: 16 }
21749 start: { line: 1, column: 0 },
21750 end: { line: 2, column: 18 }
21756 'Directive Prolog': {
21758 '(function () { \'use\\x20strict\'; with (i); }())': {
21759 type: 'ExpressionStatement',
21761 type: 'CallExpression',
21763 type: 'FunctionExpression',
21768 type: 'BlockStatement',
21770 type: 'ExpressionStatement',
21773 value: 'use strict',
21774 raw: '\'use\\x20strict\'',
21777 start: { line: 1, column: 15 },
21778 end: { line: 1, column: 30 }
21783 start: { line: 1, column: 15 },
21784 end: { line: 1, column: 31 }
21787 type: 'WithStatement',
21789 type: 'Identifier',
21793 start: { line: 1, column: 38 },
21794 end: { line: 1, column: 39 }
21798 type: 'EmptyStatement',
21801 start: { line: 1, column: 40 },
21802 end: { line: 1, column: 41 }
21807 start: { line: 1, column: 32 },
21808 end: { line: 1, column: 41 }
21813 start: { line: 1, column: 13 },
21814 end: { line: 1, column: 43 }
21822 start: { line: 1, column: 1 },
21823 end: { line: 1, column: 43 }
21829 start: { line: 1, column: 1 },
21830 end: { line: 1, column: 45 }
21835 start: { line: 1, column: 0 },
21836 end: { line: 1, column: 46 }
21840 '(function () { \'use\\nstrict\'; with (i); }())': {
21841 type: 'ExpressionStatement',
21843 type: 'CallExpression',
21845 type: 'FunctionExpression',
21850 type: 'BlockStatement',
21852 type: 'ExpressionStatement',
21855 value: 'use\nstrict',
21856 raw: '\'use\\nstrict\'',
21859 start: { line: 1, column: 15 },
21860 end: { line: 1, column: 28 }
21865 start: { line: 1, column: 15 },
21866 end: { line: 1, column: 29 }
21869 type: 'WithStatement',
21871 type: 'Identifier',
21875 start: { line: 1, column: 36 },
21876 end: { line: 1, column: 37 }
21880 type: 'EmptyStatement',
21883 start: { line: 1, column: 38 },
21884 end: { line: 1, column: 39 }
21889 start: { line: 1, column: 30 },
21890 end: { line: 1, column: 39 }
21895 start: { line: 1, column: 13 },
21896 end: { line: 1, column: 41 }
21904 start: { line: 1, column: 1 },
21905 end: { line: 1, column: 41 }
21911 start: { line: 1, column: 1 },
21912 end: { line: 1, column: 43 }
21917 start: { line: 1, column: 0 },
21918 end: { line: 1, column: 44 }
21926 'new\x20\x09\x0B\x0C\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFFa': {
21927 type: 'ExpressionStatement',
21929 type: 'NewExpression',
21931 type: 'Identifier',
21935 start: {line: 1, column: 25},
21936 end: {line: 1, column: 26}
21942 start: {line: 1, column: 0},
21943 end: {line: 1, column: 26}
21948 start: {line: 1, column: 0},
21949 end: {line: 1, column: 26}
21953 '{0\x0A1\x0D2\u20283\u20294}': {
21954 type: 'BlockStatement',
21957 type: 'ExpressionStatement',
21964 start: {line: 1, column: 1},
21965 end: {line: 1, column: 2}
21970 start: {line: 1, column: 1},
21971 end: {line: 1, column: 2}
21975 type: 'ExpressionStatement',
21982 start: {line: 2, column: 0},
21983 end: {line: 2, column: 1}
21988 start: {line: 2, column: 0},
21989 end: {line: 2, column: 1}
21993 type: 'ExpressionStatement',
22000 start: {line: 3, column: 0},
22001 end: {line: 3, column: 1}
22006 start: {line: 3, column: 0},
22007 end: {line: 3, column: 1}
22011 type: 'ExpressionStatement',
22018 start: {line: 4, column: 0},
22019 end: {line: 4, column: 1}
22024 start: {line: 4, column: 0},
22025 end: {line: 4, column: 1}
22029 type: 'ExpressionStatement',
22036 start: {line: 5, column: 0},
22037 end: {line: 5, column: 1}
22042 start: {line: 5, column: 0},
22043 end: {line: 5, column: 1}
22049 start: {line: 1, column: 0},
22050 end: {line: 5, column: 2}
22056 'Source elements': {
22063 start: { line: 0, column: 0 },
22064 end: { line: 0, column: 0 }
22072 type: 'ExpressionStatement',
22074 type: 'BinaryExpression',
22077 type: 'BinaryExpression',
22080 type: 'Identifier',
22084 start: { line: 1, column: 0 },
22085 end: { line: 1, column: 1 },
22090 type: 'Identifier',
22094 start: { line: 1, column: 4 },
22095 end: { line: 1, column: 5 },
22101 start: { line: 1, column: 0 },
22102 end: { line: 1, column: 5 },
22107 type: 'Identifier',
22111 start: { line: 1, column: 8 },
22112 end: { line: 1, column: 9 },
22118 start: { line: 1, column: 0 },
22119 end: { line: 1, column: 9 },
22125 start: { line: 1, column: 0 },
22126 end: { line: 1, column: 9 },
22131 'a + (b < (c * d)) + e': {
22132 type: 'ExpressionStatement',
22134 type: 'BinaryExpression',
22137 type: 'BinaryExpression',
22140 type: 'Identifier',
22144 start: { line: 1, column: 0 },
22145 end: { line: 1, column: 1 },
22150 type: 'BinaryExpression',
22153 type: 'Identifier',
22157 start: { line: 1, column: 5 },
22158 end: { line: 1, column: 6 },
22163 type: 'BinaryExpression',
22166 type: 'Identifier',
22170 start: { line: 1, column: 10 },
22171 end: { line: 1, column: 11 },
22176 type: 'Identifier',
22180 start: { line: 1, column: 14 },
22181 end: { line: 1, column: 15 },
22187 start: { line: 1, column: 10 },
22188 end: { line: 1, column: 15 },
22194 start: { line: 1, column: 5 },
22195 end: { line: 1, column: 16 },
22201 start: { line: 1, column: 0 },
22202 end: { line: 1, column: 17 },
22207 type: 'Identifier',
22211 start: { line: 1, column: 20 },
22212 end: { line: 1, column: 21 },
22218 start: { line: 1, column: 0 },
22219 end: { line: 1, column: 21 },
22225 start: { line: 1, column: 0 },
22226 end: { line: 1, column: 21 },
22234 'Invalid syntax': {
22240 message: 'Error: Line 1: Unexpected end of input'
22247 message: 'Error: Line 1: Unexpected token }'
22254 message: 'Error: Line 1: Unexpected token ILLEGAL'
22261 message: 'Error: Line 1: Unexpected token ILLEGAL'
22268 message: 'Error: Line 1: Unexpected token ILLEGAL'
22275 message: 'Error: Line 1: Unexpected token ILLEGAL'
22282 message: 'Error: Line 1: Unexpected token ILLEGAL'
22289 message: 'Error: Line 1: Unexpected token ILLEGAL'
22296 message: 'Error: Line 1: Unexpected token ILLEGAL'
22303 message: 'Error: Line 1: Unexpected token ILLEGAL'
22310 message: 'Error: Line 1: Unexpected token ILLEGAL'
22317 message: 'Error: Line 1: Unexpected token ILLEGAL'
22324 message: 'Error: Line 1: Unexpected token ILLEGAL'
22331 message: 'Error: Line 1: Unexpected token ILLEGAL'
22338 message: 'Error: Line 1: Unexpected token ILLEGAL'
22345 message: 'Error: Line 1: Unexpected token ILLEGAL'
22352 message: 'Error: Line 1: Unexpected token ILLEGAL'
22359 message: 'Error: Line 1: Unexpected token ILLEGAL'
22366 message: 'Error: Line 1: Unexpected token ILLEGAL'
22373 message: 'Error: Line 1: Unexpected token ILLEGAL'
22380 message: 'Error: Line 1: Unexpected token ILLEGAL'
22387 message: 'Error: Line 1: Unexpected token ILLEGAL'
22394 message: 'Error: Line 1: Unexpected token ILLEGAL'
22401 message: 'Error: Line 1: Unexpected token ILLEGAL'
22408 message: 'Error: Line 1: Unexpected token ILLEGAL'
22415 message: 'Error: Line 1: Unexpected token ILLEGAL'
22422 message: 'Error: Line 1: Unexpected token ILLEGAL'
22429 message: 'Error: Line 1: Unexpected token ILLEGAL'
22436 message: 'Error: Line 1: Unexpected token ILLEGAL'
22443 message: 'Error: Line 1: Unexpected token ILLEGAL'
22450 message: 'Error: Line 1: Unexpected token ILLEGAL'
22453 '"Hello\nWorld"': {
22457 message: 'Error: Line 1: Unexpected token ILLEGAL'
22464 message: 'Error: Line 1: Unexpected token ILLEGAL'
22471 message: 'Error: Line 1: Unexpected token ILLEGAL'
22478 message: 'Error: Line 1: Unexpected token ILLEGAL'
22485 message: 'Error: Line 1: Invalid regular expression'
22492 message: 'Error: Line 1: Unexpected token ILLEGAL'
22499 message: 'Error: Line 1: Unexpected token ILLEGAL'
22506 message: 'Error: Line 1: Invalid regular expression: missing /'
22513 message: 'Error: Line 1: Invalid regular expression: missing /'
22520 message: 'Error: Line 1: Invalid regular expression: missing /'
22523 'var x = /[a-z]/\\ux': {
22527 message: 'Error: Line 1: Unexpected token ILLEGAL'
22530 'var x = /[a-z\n]/\\ux': {
22534 message: 'Error: Line 1: Invalid regular expression: missing /'
22537 'var x = /[a-z]/\\\\ux': {
22541 message: 'Error: Line 1: Unexpected token ILLEGAL'
22544 'var x = /[P QR]/\\\\u0067': {
22548 message: 'Error: Line 1: Unexpected token ILLEGAL'
22555 message: 'Error: Line 1: Invalid left-hand side in assignment'
22562 message: 'Error: Line 1: Invalid left-hand side in assignment'
22569 message: 'Error: Line 1: Invalid left-hand side in assignment'
22576 message: 'Error: Line 1: Unexpected token ILLEGAL'
22583 message: 'Error: Line 1: Unexpected token ILLEGAL'
22590 message: 'Error: Line 1: Unexpected token ILLEGAL'
22597 message: 'Error: Line 1: Unexpected token ILLEGAL'
22604 message: 'Error: Line 1: Invalid left-hand side in assignment'
22611 message: 'Error: Line 1: Invalid left-hand side in assignment'
22618 message: 'Error: Line 1: Invalid left-hand side in assignment'
22625 message: 'Error: Line 1: Invalid left-hand side in assignment'
22628 'for((1 + 1) in list) process(x);': {
22632 message: 'Error: Line 1: Invalid left-hand side in for-in'
22639 message: 'Error: Line 1: Unexpected end of input'
22646 message: 'Error: Line 1: Unexpected end of input'
22653 message: 'Error: Line 1: Unexpected end of input'
22660 message: 'Error: Line 1: Unexpected end of input'
22667 message: 'Error: Line 1: Unexpected end of input'
22674 message: 'Error: Line 1: Invalid regular expression: missing /'
22681 message: 'Error: Line 1: Unexpected token ILLEGAL'
22688 message: 'Error: Line 1: Unexpected token if'
22695 message: 'Error: Line 1: Unexpected token ILLEGAL'
22702 message: 'Error: Line 1: Invalid left-hand side in assignment'
22709 message: 'Error: Line 1: Invalid left-hand side in assignment'
22716 message: 'Error: Line 1: Unexpected end of input'
22723 message: 'Error: Line 4: Unexpected end of input'
22726 '\n/* Some multiline\ncomment */\n)': {
22730 message: 'Error: Line 4: Unexpected token )'
22737 message: 'Error: Line 1: Unexpected number'
22744 message: 'Error: Line 1: Unexpected number'
22747 '({ set: s(if) { } })': {
22751 message: 'Error: Line 1: Unexpected token if'
22754 '({ set s(.) { } })': {
22758 message: 'Error: Line 1: Unexpected token .'
22761 '({ set s() { } })': {
22765 message: 'Error: Line 1: Unexpected token )'
22768 '({ set: s() { } })': {
22772 message: 'Error: Line 1: Unexpected token {'
22775 '({ set: s(a, b) { } })': {
22779 message: 'Error: Line 1: Unexpected token {'
22782 '({ get: g(d) { } })': {
22786 message: 'Error: Line 1: Unexpected token {'
22789 '({ get i() { }, i: 42 })': {
22793 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22796 '({ i: 42, get i() { } })': {
22800 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22803 '({ set i(x) { }, i: 42 })': {
22807 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22810 '({ i: 42, set i(x) { } })': {
22814 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22817 '({ get i() { }, get i() { } })': {
22821 message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
22824 '({ set i(x) { }, set i(x) { } })': {
22828 message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
22835 message: 'Error: Line 1: Unexpected token =>'
22838 '(a, (b)) => 42': {
22842 message: 'Error: Line 1: Unexpected token =>'
22845 '"use strict"; (eval = 10) => 42': {
22849 message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
22852 // strict mode, using eval when IsSimpleParameterList is true
22853 '"use strict"; eval => 42': {
22857 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22860 // strict mode, using arguments when IsSimpleParameterList is true
22861 '"use strict"; arguments => 42': {
22865 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22868 // strict mode, using eval when IsSimpleParameterList is true
22869 '"use strict"; (eval, a) => 42': {
22873 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22876 // strict mode, using arguments when IsSimpleParameterList is true
22877 '"use strict"; (arguments, a) => 42': {
22881 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22888 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
22891 '"use strict"; (a, a) => 42': {
22895 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
22898 '"use strict"; (a) => 00': {
22902 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
22909 message: 'Error: Line 1: Unexpected token <='
22916 message: 'Error: Line 1: Unexpected token ?'
22923 message: 'Error: Line 1: Unexpected token +'
22930 message: 'Error: Line 1: Unexpected token =>'
22933 '(10, 20) => 00': {
22937 message: 'Error: Line 1: Unexpected token =>'
22940 '"use strict"; (eval) => 42': {
22944 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22947 '(eval) => { "use strict"; 42 }': {
22951 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22958 message: 'Error: Line 1: Unexpected token /'
22965 message: 'Error: Line 1: Unexpected token /'
22968 'function t(if) { }': {
22972 message: 'Error: Line 1: Unexpected token if'
22975 'function t(true) { }': {
22979 message: 'Error: Line 1: Unexpected token true'
22982 'function t(false) { }': {
22986 message: 'Error: Line 1: Unexpected token false'
22989 'function t(null) { }': {
22993 message: 'Error: Line 1: Unexpected token null'
22996 'function null() { }': {
23000 message: 'Error: Line 1: Unexpected token null'
23003 'function true() { }': {
23007 message: 'Error: Line 1: Unexpected token true'
23010 'function false() { }': {
23014 message: 'Error: Line 1: Unexpected token false'
23017 'function if() { }': {
23021 message: 'Error: Line 1: Unexpected token if'
23028 message: 'Error: Line 1: Unexpected identifier'
23035 message: 'Error: Line 1: Unexpected token .'
23042 message: 'Error: Line 1: Unexpected token if'
23049 message: 'Error: Line 1: Unexpected reserved word'
23056 message: 'Error: Line 1: Illegal break statement'
23063 message: 'Error: Line 1: Unexpected number'
23070 message: 'Error: Line 1: Illegal continue statement'
23077 message: 'Error: Line 1: Unexpected number'
23084 message: 'Error: Line 1: Unexpected end of input'
23091 message: 'Error: Line 1: Unexpected token ;'
23098 message: 'Error: Line 1: Illegal newline after throw'
23101 'for (var i, i2 in {});': {
23105 message: 'Error: Line 1: Unexpected token in'
23108 'for ((i in {}));': {
23112 message: 'Error: Line 1: Unexpected token )'
23115 'for (i + 1 in {});': {
23119 message: 'Error: Line 1: Invalid left-hand side in for-in'
23122 'for (+i in {});': {
23126 message: 'Error: Line 1: Invalid left-hand side in for-in'
23133 message: 'Error: Line 1: Unexpected end of input'
23136 'if(false) doThis(); else': {
23140 message: 'Error: Line 1: Unexpected end of input'
23147 message: 'Error: Line 1: Unexpected end of input'
23154 message: 'Error: Line 1: Unexpected end of input'
23161 message: 'Error: Line 1: Unexpected end of input'
23168 message: 'Error: Line 1: Unexpected end of input'
23175 message: 'Error: Line 1: Missing catch or finally after try'
23178 'try {} catch (42) {} ': {
23182 message: 'Error: Line 1: Unexpected number'
23185 'try {} catch (answer()) {} ': {
23189 message: 'Error: Line 1: Unexpected token ('
23192 'try {} catch (-x) {} ': {
23196 message: 'Error: Line 1: Unexpected token -'
23204 message: 'Error: Line 1: Unexpected token ILLEGAL'
23207 'const x = 12, y;': {
23211 message: 'Error: Line 1: Unexpected token ;'
23214 'const x, y = 12;': {
23218 message: 'Error: Line 1: Unexpected token ,'
23225 message: 'Error: Line 1: Unexpected token ;'
23228 'if(true) let a = 1;': {
23232 message: 'Error: Line 1: Unexpected token let'
23235 'if(true) const a = 1;': {
23239 message: 'Error: Line 1: Unexpected token const'
23242 'switch (c) { default: default: }': {
23246 message: 'Error: Line 1: More than one default clause in switch statement'
23253 message: 'Error: Line 1: Unexpected string'
23260 message: 'Error: Line 1: Unexpected token ILLEGAL'
23267 message: 'Error: Line 4: Unexpected token ILLEGAL'
23274 message: 'Error: Line 1: Unexpected token ILLEGAL'
23281 message: 'Error: Line 3: Unexpected token ILLEGAL'
23288 message: 'Error: Line 1: Unexpected token ILLEGAL'
23295 message: 'Error: Line 1: Unexpected token ILLEGAL'
23302 message: 'Error: Line 2: Unexpected token ]'
23309 message: 'Error: Line 2: Unexpected token ]'
23316 message: 'Error: Line 2: Unexpected token ]'
23323 message: 'Error: Line 3: Unexpected token ]'
23330 message: 'Error: Line 2: Unexpected token ]'
23337 message: 'Error: Line 3: Unexpected token ]'
23344 message: 'Error: Line 1: Invalid regular expression: missing /'
23351 message: 'Error: Line 3: Unexpected token ]'
23358 message: 'Error: Line 2: Unexpected token ]'
23365 message: 'Error: Line 3: Unexpected token ]'
23372 message: 'Error: Line 3: Unexpected token ]'
23379 message: 'Error: Line 1: Unexpected token ILLEGAL'
23386 message: 'Error: Line 1: Unexpected token ILLEGAL'
23394 message: 'Error: Line 1: Unexpected token ILLEGAL'
23401 message: 'Error: Line 1: Unexpected token ILLEGAL'
23408 message: 'Error: Line 1: Unexpected token ILLEGAL'
23415 message: 'Error: Line 1: Unexpected token ILLEGAL'
23422 message: 'Error: Line 1: Unexpected token ILLEGAL'
23429 message: 'Error: Line 1: Unexpected token ILLEGAL'
23432 'try { } catch() {}': {
23436 message: 'Error: Line 1: Unexpected token )'
23443 message: 'Error: Line 1: Illegal return statement'
23450 message: 'Error: Line 1: Illegal break statement'
23457 message: 'Error: Line 1: Illegal continue statement'
23460 'switch (x) { default: continue; }': {
23464 message: 'Error: Line 1: Illegal continue statement'
23471 message: 'Error: Line 1: Unexpected token *'
23474 'while (true) { break x; }': {
23478 message: 'Error: Line 1: Undefined label \'x\''
23481 'while (true) { continue x; }': {
23485 message: 'Error: Line 1: Undefined label \'x\''
23488 'x: while (true) { (function () { break x; }); }': {
23492 message: 'Error: Line 1: Undefined label \'x\''
23495 'x: while (true) { (function () { continue x; }); }': {
23499 message: 'Error: Line 1: Undefined label \'x\''
23502 'x: while (true) { (function () { break; }); }': {
23506 message: 'Error: Line 1: Illegal break statement'
23509 'x: while (true) { (function () { continue; }); }': {
23513 message: 'Error: Line 1: Illegal continue statement'
23516 'x: while (true) { x: while (true) { } }': {
23520 message: 'Error: Line 1: Label \'x\' has already been declared'
23523 '(function () { \'use strict\'; delete i; }())': {
23527 message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
23530 '(function () { \'use strict\'; with (i); }())': {
23534 message: 'Error: Line 1: Strict mode code may not include a with statement'
23537 'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': {
23541 message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
23544 'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': {
23548 message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
23551 'function hello() {\'use strict\'; var eval = 10; }': {
23555 message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
23558 'function hello() {\'use strict\'; var arguments = 10; }': {
23562 message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
23565 'function hello() {\'use strict\'; try { } catch (eval) { } }': {
23569 message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
23572 'function hello() {\'use strict\'; try { } catch (arguments) { } }': {
23576 message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
23579 'function hello() {\'use strict\'; eval = 10; }': {
23583 message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
23586 'function hello() {\'use strict\'; arguments = 10; }': {
23590 message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
23593 'function hello() {\'use strict\'; ++eval; }': {
23597 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23600 'function hello() {\'use strict\'; --eval; }': {
23604 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23607 'function hello() {\'use strict\'; ++arguments; }': {
23611 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23614 'function hello() {\'use strict\'; --arguments; }': {
23618 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23621 'function hello() {\'use strict\'; eval++; }': {
23625 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23628 'function hello() {\'use strict\'; eval--; }': {
23632 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23635 'function hello() {\'use strict\'; arguments++; }': {
23639 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23642 'function hello() {\'use strict\'; arguments--; }': {
23646 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23649 'function hello() {\'use strict\'; function eval() { } }': {
23653 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23656 'function hello() {\'use strict\'; function arguments() { } }': {
23660 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23663 'function eval() {\'use strict\'; }': {
23667 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23670 'function arguments() {\'use strict\'; }': {
23674 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23677 'function hello() {\'use strict\'; (function eval() { }()) }': {
23681 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23684 'function hello() {\'use strict\'; (function arguments() { }()) }': {
23688 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23691 '(function eval() {\'use strict\'; })()': {
23695 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23698 '(function arguments() {\'use strict\'; })()': {
23702 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23705 'function hello() {\'use strict\'; ({ s: function eval() { } }); }': {
23709 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23712 '(function package() {\'use strict\'; })()': {
23716 message: 'Error: Line 1: Use of future reserved word in strict mode'
23719 'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': {
23723 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23726 'function hello() {\'use strict\'; ({ set s(eval) { } }); }': {
23730 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23733 'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': {
23737 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23740 'function hello(eval) {\'use strict\';}': {
23744 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23747 'function hello(arguments) {\'use strict\';}': {
23751 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23754 'function hello() { \'use strict\'; function inner(eval) {} }': {
23758 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23761 'function hello() { \'use strict\'; function inner(arguments) {} }': {
23765 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23768 ' "\\1"; \'use strict\';': {
23772 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23775 'function hello() { \'use strict\'; "\\1"; }': {
23779 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23782 'function hello() { \'use strict\'; 021; }': {
23786 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23789 'function hello() { \'use strict\'; ({ "\\1": 42 }); }': {
23793 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23796 'function hello() { \'use strict\'; ({ 021: 42 }); }': {
23800 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23803 'function hello() { "octal directive\\1"; "use strict"; }': {
23807 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23810 'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': {
23814 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23817 'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': {
23821 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
23824 'function hello() { "use strict"; var implements; }': {
23828 message: 'Error: Line 1: Use of future reserved word in strict mode'
23831 'function hello() { "use strict"; var interface; }': {
23835 message: 'Error: Line 1: Use of future reserved word in strict mode'
23838 'function hello() { "use strict"; var package; }': {
23842 message: 'Error: Line 1: Use of future reserved word in strict mode'
23845 'function hello() { "use strict"; var private; }': {
23849 message: 'Error: Line 1: Use of future reserved word in strict mode'
23852 'function hello() { "use strict"; var protected; }': {
23856 message: 'Error: Line 1: Use of future reserved word in strict mode'
23859 'function hello() { "use strict"; var public; }': {
23863 message: 'Error: Line 1: Use of future reserved word in strict mode'
23866 'function hello() { "use strict"; var static; }': {
23870 message: 'Error: Line 1: Use of future reserved word in strict mode'
23873 'function hello() { "use strict"; var yield; }': {
23877 message: 'Error: Line 1: Use of future reserved word in strict mode'
23880 'function hello() { "use strict"; var let; }': {
23884 message: 'Error: Line 1: Use of future reserved word in strict mode'
23887 'function hello(static) { "use strict"; }': {
23891 message: 'Error: Line 1: Use of future reserved word in strict mode'
23894 'function static() { "use strict"; }': {
23898 message: 'Error: Line 1: Use of future reserved word in strict mode'
23901 'function eval(a) { "use strict"; }': {
23905 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23908 'function arguments(a) { "use strict"; }': {
23912 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23919 message: 'Error: Line 1: Unexpected token yield'
23926 message: 'Error: Line 1: Unexpected token let'
23929 '"use strict"; function static() { }': {
23933 message: 'Error: Line 1: Use of future reserved word in strict mode'
23936 'function a(t, t) { "use strict"; }': {
23940 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
23943 'function a(eval) { "use strict"; }': {
23947 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23950 'function a(package) { "use strict"; }': {
23954 message: 'Error: Line 1: Use of future reserved word in strict mode'
23957 'function a() { "use strict"; function b(t, t) { }; }': {
23961 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
23964 '(function a(t, t) { "use strict"; })': {
23968 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
23971 'function a() { "use strict"; (function b(t, t) { }); }': {
23975 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
23978 '(function a(eval) { "use strict"; })': {
23982 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23985 '(function a(package) { "use strict"; })': {
23989 message: 'Error: Line 1: Use of future reserved word in strict mode'
23992 '__proto__: __proto__: 42;': {
23996 message: 'Error: Line 1: Label \'__proto__\' has already been declared'
23999 '"use strict"; function t(__proto__, __proto__) { }': {
24003 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
24006 '"use strict"; x = { __proto__: 42, __proto__: 43 }': {
24010 message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
24013 '"use strict"; x = { get __proto__() { }, __proto__: 43 }': {
24017 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
24024 message: 'Error: Line 1: Unexpected end of input'
24031 message: 'Error: Line 1: Unexpected end of input'
24038 message: 'Error: Line 1: Unexpected end of input'
24045 message: 'Error: Line 1: Unexpected end of input'
24048 'function t() { ; ; ': {
24052 message: 'Error: Line 1: Unexpected end of input'
24058 'tokenize(/42/)': [
24060 "type": "Identifier",
24061 "value": "tokenize",
24078 "type": "Punctuator",
24096 "type": "RegularExpression",
24118 "type": "Punctuator",
24137 'if (false) { /42/ }': [
24157 "type": "Punctuator",
24193 "type": "Punctuator",
24211 "type": "Punctuator",
24229 "type": "RegularExpression",
24251 "type": "Punctuator",
24270 'with (false) /42/': [
24290 "type": "Punctuator",
24326 "type": "Punctuator",
24344 "type": "RegularExpression",
24369 "type": "Punctuator",
24405 "type": "Punctuator",
24423 "type": "Punctuator",
24459 "type": "Punctuator",
24478 'function f(){} /42/': [
24481 "value": "function",
24498 "type": "Identifier",
24516 "type": "Punctuator",
24534 "type": "Punctuator",
24552 "type": "Punctuator",
24570 "type": "Punctuator",
24588 "type": "RegularExpression",
24611 'function(){} /42': [
24614 "value": "function",
24631 "type": "Punctuator",
24649 "type": "Punctuator",
24667 "type": "Punctuator",
24685 "type": "Punctuator",
24703 "type": "Punctuator",
24742 "type": "Punctuator",
24760 "type": "Punctuator",
24778 "type": "Punctuator",
24815 '[function(){} /42]': [
24817 "type": "Punctuator",
24836 "value": "function",
24853 "type": "Punctuator",
24871 "type": "Punctuator",
24889 "type": "Punctuator",
24907 "type": "Punctuator",
24925 "type": "Punctuator",
24961 "type": "Punctuator",
24980 ';function f(){} /42/': [
24982 "type": "Punctuator",
25001 "value": "function",
25018 "type": "Identifier",
25036 "type": "Punctuator",
25054 "type": "Punctuator",
25072 "type": "Punctuator",
25090 "type": "Punctuator",
25108 "type": "RegularExpression",
25151 "type": "RegularExpression",
25176 "type": "RegularExpression",
25201 "type": "Identifier",
25219 "type": "Punctuator",
25240 "type": "Punctuator",
25258 "type": "Identifier",
25276 "type": "Punctuator",
25294 "type": "Punctuator",
25312 "type": "Identifier",
25338 message: 'Error: Line 1: Invalid regular expression: missing /'
25346 message: 'Error: Line 1: Invalid regular expression: missing /'
25369 "type": "Punctuator",
25405 "type": "Punctuator",
25432 type: 'ExpressionStatement',
25434 type: 'Identifier',
25447 type: 'ExpressionStatement',
25463 type: 'ExpressionStatement',
25479 type: 'ExpressionStatement',
25489 'parse(undefined)': {
25495 type: 'ExpressionStatement',
25497 type: 'Identifier',
25504 'parse(new String("test"))': {
25506 args: [new String('test')],
25510 type: 'ExpressionStatement',
25512 type: 'Identifier',
25519 'parse(new Number(42))': {
25521 args: [new Number(42)],
25525 type: 'ExpressionStatement',
25535 'parse(new Boolean(true))': {
25537 args: [new Boolean(true)],
25541 type: 'ExpressionStatement',
25552 property: 'Syntax',
25554 AssignmentExpression: 'AssignmentExpression',
25555 ArrayExpression: 'ArrayExpression',
25556 ArrowFunctionExpression: 'ArrowFunctionExpression',
25557 BlockStatement: 'BlockStatement',
25558 BinaryExpression: 'BinaryExpression',
25559 BreakStatement: 'BreakStatement',
25560 CallExpression: 'CallExpression',
25561 CatchClause: 'CatchClause',
25562 ConditionalExpression: 'ConditionalExpression',
25563 ContinueStatement: 'ContinueStatement',
25564 DoWhileStatement: 'DoWhileStatement',
25565 DebuggerStatement: 'DebuggerStatement',
25566 EmptyStatement: 'EmptyStatement',
25567 ExpressionStatement: 'ExpressionStatement',
25568 ForStatement: 'ForStatement',
25569 ForInStatement: 'ForInStatement',
25570 FunctionDeclaration: 'FunctionDeclaration',
25571 FunctionExpression: 'FunctionExpression',
25572 Identifier: 'Identifier',
25573 IfStatement: 'IfStatement',
25574 Literal: 'Literal',
25575 LabeledStatement: 'LabeledStatement',
25576 LogicalExpression: 'LogicalExpression',
25577 MemberExpression: 'MemberExpression',
25578 NewExpression: 'NewExpression',
25579 ObjectExpression: 'ObjectExpression',
25580 Program: 'Program',
25581 Property: 'Property',
25582 ReturnStatement: 'ReturnStatement',
25583 SequenceExpression: 'SequenceExpression',
25584 SwitchStatement: 'SwitchStatement',
25585 SwitchCase: 'SwitchCase',
25586 ThisExpression: 'ThisExpression',
25587 ThrowStatement: 'ThrowStatement',
25588 TryStatement: 'TryStatement',
25589 UnaryExpression: 'UnaryExpression',
25590 UpdateExpression: 'UpdateExpression',
25591 VariableDeclaration: 'VariableDeclaration',
25592 VariableDeclarator: 'VariableDeclarator',
25593 WhileStatement: 'WhileStatement',
25594 WithStatement: 'WithStatement'
25602 type: 'Identifier',
25607 'tokenize(null)': {
25625 'tokenize(true)': {
25634 'tokenize(undefined)': {
25638 type: 'Identifier',
25643 'tokenize(new String("test"))': {
25645 args: [new String('test')],
25647 type: 'Identifier',
25652 'tokenize(new Number(42))': {
25654 args: [new Number(42)],
25661 'tokenize(new Boolean(true))': {
25663 args: [new Boolean(true)],
25671 'Tolerant parse': {
25672 /** argument recovery */
25676 start: { line: 1, column: 0 },
25677 end: { line: 1, column: 9 }
25683 start: { line: 1, column: 0 },
25684 end: { line: 1, column: 9 }
25686 type: "ExpressionStatement",
25690 start: { line: 1, column: 0 },
25691 end: { line: 1, column: 8 }
25693 type: "CallExpression",
25697 start: { line: 1, column: 0 },
25698 end: { line: 1, column: 1 }
25700 type: "Identifier",
25706 start: { line: 1, column: 2 },
25707 end: { line: 1, column: 3 }
25709 type: "Identifier",
25714 start: { line: 1, column: 4 },
25715 end: { line: 1, column: 5 }
25717 type: "Identifier",
25722 start: { line: 1, column: 6 },
25723 end: { line: 1, column: 7 }
25725 type: "Identifier",
25734 message: "Error: Line 1: Unexpected token b"
25739 message: "Error: Line 1: Unexpected token c"
25743 /** argument recovery function */
25744 'f(a function(){} c);': {
25747 start: { line: 1, column: 0 },
25748 end: { line: 1, column: 20 }
25754 start: { line: 1, column: 0 },
25755 end: { line: 1, column: 20 }
25757 type: "ExpressionStatement",
25761 start: { line: 1, column: 0 },
25762 end: { line: 1, column: 19 }
25764 type: "CallExpression",
25768 start: { line: 1, column: 0 },
25769 end: { line: 1, column: 1 }
25771 type: "Identifier",
25777 start: { line: 1, column: 2 },
25778 end: { line: 1, column: 3 }
25780 type: "Identifier",
25785 start: { line: 1, column: 4 },
25786 end: { line: 1, column: 16 }
25788 type: "FunctionExpression",
25795 start: { line: 1, column: 14 },
25796 end: { line: 1, column: 16 }
25798 type: "BlockStatement",
25807 start: { line: 1, column: 17 },
25808 end: { line: 1, column: 18 }
25810 type: "Identifier",
25819 message: "Error: Line 1: Unexpected token function"
25824 message: "Error: Line 1: Unexpected token c"
25828 /** argument recovery object */
25832 start: { line: 1, column: 0 },
25833 end: { line: 1, column: 10 }
25839 start: { line: 1, column: 0 },
25840 end: { line: 1, column: 10 }
25842 type: "ExpressionStatement",
25846 start: { line: 1, column: 0 },
25847 end: { line: 1, column: 9 }
25849 type: "CallExpression",
25853 start: { line: 1, column: 0 },
25854 end: { line: 1, column: 1 }
25856 type: "Identifier",
25862 start: { line: 1, column: 2 },
25863 end: { line: 1, column: 4 }
25865 type: "ObjectExpression",
25870 start: { line: 1, column: 5 },
25871 end: { line: 1, column: 6 }
25873 type: "Identifier",
25878 start: { line: 1, column: 7 },
25879 end: { line: 1, column: 8 }
25881 type: "Identifier",
25890 message: "Error: Line 1: Unexpected token b"
25895 message: "Error: Line 1: Unexpected token c"
25899 /** single recovery - missing comma*/
25900 'var o = {one: function() {} two:2};': {
25903 start: { line: 1, column: 0 },
25904 end: { line: 1, column: 35 }
25910 start: { line: 1, column: 0 },
25911 end: { line: 1, column: 35 }
25913 type: "VariableDeclaration",
25917 start: { line: 1, column: 4 },
25918 end: { line: 1, column: 34 }
25920 type: "VariableDeclarator",
25924 start: { line: 1, column: 4 },
25925 end: { line: 1, column: 5 }
25927 type: "Identifier",
25933 start: { line: 1, column: 8 },
25934 end: { line: 1, column: 34 }
25936 type: "ObjectExpression",
25940 start: { line: 1, column: 9 },
25941 end: { line: 1, column: 27 }
25947 start: { line: 1, column: 9 },
25948 end: { line: 1, column: 12 }
25950 type: "Identifier",
25956 start: { line: 1, column: 14 },
25957 end: { line: 1, column: 27 }
25959 type: "FunctionExpression",
25966 start: { line: 1, column: 25 },
25967 end: { line: 1, column: 27 }
25969 type: "BlockStatement",
25982 start: { line: 1, column: 28 },
25983 end: { line: 1, column: 33 }
25989 start: { line: 1, column: 28 },
25990 end: { line: 1, column: 31 }
25992 type: "Identifier",
25998 start: { line: 1, column: 32 },
25999 end: { line: 1, column: 33 }
26018 start: { line: 1, column: 0 },
26019 end: { line: 1, column: 3 }
26022 type: "Identifier",
26026 start: { line: 1, column: 4 },
26027 end: { line: 1, column: 5 }
26030 type: "Punctuator",
26034 start: { line: 1, column: 6 },
26035 end: { line: 1, column: 7 }
26038 type: "Punctuator",
26042 start: { line: 1, column: 8 },
26043 end: { line: 1, column: 9 }
26046 type: "Identifier",
26050 start: { line: 1, column: 9 },
26051 end: { line: 1, column: 12 }
26054 type: "Punctuator",
26058 start: { line: 1, column: 12 },
26059 end: { line: 1, column: 13 }
26066 start: { line: 1, column: 14 },
26067 end: { line: 1, column: 22 }
26070 type: "Punctuator",
26074 start: { line: 1, column: 22 },
26075 end: { line: 1, column: 23 }
26078 type: "Punctuator",
26082 start: { line: 1, column: 23 },
26083 end: { line: 1, column: 24 }
26086 type: "Punctuator",
26090 start: { line: 1, column: 25 },
26091 end: { line: 1, column: 26 }
26094 type: "Punctuator",
26098 start: { line: 1, column: 26 },
26099 end: { line: 1, column: 27 }
26102 type: "Identifier",
26106 start: { line: 1, column: 28 },
26107 end: { line: 1, column: 31 }
26110 type: "Punctuator",
26114 start: { line: 1, column: 31 },
26115 end: { line: 1, column: 32 }
26122 start: { line: 1, column: 32 },
26123 end: { line: 1, column: 33 }
26126 type: "Punctuator",
26130 start: { line: 1, column: 33 },
26131 end: { line: 1, column: 34 }
26134 type: "Punctuator",
26138 start: { line: 1, column: 34 },
26139 end: { line: 1, column: 35 }
26146 message: "Error: Line 1: Unexpected token two"
26150 /** successive recovery - missing comma*/
26151 'var o = {one: function() {} two:2 three: 3};': {
26154 start: { line: 1, column: 0 },
26155 end: { line: 1, column: 44 }
26161 start: { line: 1, column: 0 },
26162 end: { line: 1, column: 44 }
26164 type: "VariableDeclaration",
26168 start: { line: 1, column: 4 },
26169 end: { line: 1, column: 43 }
26171 type: "VariableDeclarator",
26175 start: { line: 1, column: 4 },
26176 end: { line: 1, column: 5 }
26178 type: "Identifier",
26184 start: { line: 1, column: 8 },
26185 end: { line: 1, column: 43 }
26187 type: "ObjectExpression",
26191 start: { line: 1, column: 9 },
26192 end: { line: 1, column: 27 }
26198 start: { line: 1, column: 9 },
26199 end: { line: 1, column: 12 }
26201 type: "Identifier",
26207 start: { line: 1, column: 14 },
26208 end: { line: 1, column: 27 }
26210 type: "FunctionExpression",
26217 start: { line: 1, column: 25 },
26218 end: { line: 1, column: 27 }
26220 type: "BlockStatement",
26233 start: { line: 1, column: 28 },
26234 end: { line: 1, column: 33 }
26240 start: { line: 1, column: 28 },
26241 end: { line: 1, column: 31 }
26243 type: "Identifier",
26249 start: { line: 1, column: 32 },
26250 end: { line: 1, column: 33 }
26262 start: { line: 1, column: 34 },
26263 end: { line: 1, column: 42 }
26269 start: { line: 1, column: 34 },
26270 end: { line: 1, column: 39 }
26272 type: "Identifier",
26278 start: { line: 1, column: 41 },
26279 end: { line: 1, column: 42 }
26297 message: "Error: Line 1: Unexpected token two"
26302 message: "Error: Line 1: Unexpected token three"
26306 /** mixed recovery - missing comma */
26307 'var o = {one: function() {} two:2, three: 3 "four":4};': {
26310 start: { line: 1, column: 0 },
26311 end: { line: 1, column: 54 }
26317 start: { line: 1, column: 0 },
26318 end: { line: 1, column: 54 }
26320 type: "VariableDeclaration",
26324 start: { line: 1, column: 4 },
26325 end: { line: 1, column: 53 }
26327 type: "VariableDeclarator",
26331 start: { line: 1, column: 4 },
26332 end: { line: 1, column: 5 }
26334 type: "Identifier",
26340 start: { line: 1, column: 8 },
26341 end: { line: 1, column: 53 }
26343 type: "ObjectExpression",
26347 start: { line: 1, column: 9 },
26348 end: { line: 1, column: 27 }
26354 start: { line: 1, column: 9 },
26355 end: { line: 1, column: 12 }
26357 type: "Identifier",
26363 start: { line: 1, column: 14 },
26364 end: { line: 1, column: 27 }
26366 type: "FunctionExpression",
26373 start: { line: 1, column: 25 },
26374 end: { line: 1, column: 27 }
26376 type: "BlockStatement",
26389 start: { line: 1, column: 28 },
26390 end: { line: 1, column: 33 }
26396 start: { line: 1, column: 28 },
26397 end: { line: 1, column: 31 }
26399 type: "Identifier",
26405 start: { line: 1, column: 32 },
26406 end: { line: 1, column: 33 }
26418 start: { line: 1, column: 35 },
26419 end: { line: 1, column: 43 }
26425 start: { line: 1, column: 35 },
26426 end: { line: 1, column: 40 }
26428 type: "Identifier",
26434 start: { line: 1, column: 42 },
26435 end: { line: 1, column: 43 }
26447 start: { line: 1, column: 44 },
26448 end: { line: 1, column: 52 }
26454 start: { line: 1, column: 44 },
26455 end: { line: 1, column: 50 }
26464 start: { line: 1, column: 51 },
26465 end: { line: 1, column: 52 }
26483 message: "Error: Line 1: Unexpected token two"
26488 message: "Error: Line 1: Unexpected token four"
26492 /** nested recovery - missing comma */
26493 'var o = {one: function() {} two:2, three: {aa: "a" bb: "b"} four: 4};': {
26496 start: { line: 1, column: 0 },
26497 end: { line: 1, column: 69 }
26503 start: { line: 1, column: 0 },
26504 end: { line: 1, column: 69 }
26506 type: "VariableDeclaration",
26510 start: { line: 1, column: 4 },
26511 end: { line: 1, column: 68 }
26513 type: "VariableDeclarator",
26517 start: { line: 1, column: 4 },
26518 end: { line: 1, column: 5 }
26520 type: "Identifier",
26526 start: { line: 1, column: 8 },
26527 end: { line: 1, column: 68 }
26529 type: "ObjectExpression",
26533 start: { line: 1, column: 9 },
26534 end: { line: 1, column: 27 }
26540 start: { line: 1, column: 9 },
26541 end: { line: 1, column: 12 }
26543 type: "Identifier",
26549 start: { line: 1, column: 14 },
26550 end: { line: 1, column: 27 }
26552 type: "FunctionExpression",
26559 start: { line: 1, column: 25 },
26560 end: { line: 1, column: 27 }
26562 type: "BlockStatement",
26575 start: { line: 1, column: 28 },
26576 end: { line: 1, column: 33 }
26582 start: { line: 1, column: 28 },
26583 end: { line: 1, column: 31 }
26585 type: "Identifier",
26591 start: { line: 1, column: 32 },
26592 end: { line: 1, column: 33 }
26604 start: { line: 1, column: 35 },
26605 end: { line: 1, column: 59 }
26611 start: { line: 1, column: 35 },
26612 end: { line: 1, column: 40 }
26614 type: "Identifier",
26620 start: { line: 1, column: 42 },
26621 end: { line: 1, column: 59 }
26623 type: "ObjectExpression",
26627 start: { line: 1, column: 43 },
26628 end: { line: 1, column: 50 }
26634 start: { line: 1, column: 43 },
26635 end: { line: 1, column: 45 }
26637 type: "Identifier",
26643 start: { line: 1, column: 47 },
26644 end: { line: 1, column: 50 }
26656 start: { line: 1, column: 51 },
26657 end: { line: 1, column: 58 }
26663 start: { line: 1, column: 51 },
26664 end: { line: 1, column: 53 }
26666 type: "Identifier",
26672 start: { line: 1, column: 55 },
26673 end: { line: 1, column: 58 }
26690 start: { line: 1, column: 60 },
26691 end: { line: 1, column: 67 }
26697 start: { line: 1, column: 60 },
26698 end: { line: 1, column: 64 }
26700 type: "Identifier",
26706 start: { line: 1, column: 66 },
26707 end: { line: 1, column: 67 }
26725 message: "Error: Line 1: Unexpected token two"
26730 message: "Error: Line 1: Unexpected token bb"
26735 message: "Error: Line 1: Unexpected token four"
26742 start: { line: 1, column: 0 },
26743 end: { line: 1, column: 13 }
26749 start: { line: 1, column: 0 },
26750 end: { line: 1, column: 13 }
26752 type: "ExpressionStatement",
26756 start: { line: 1, column: 0 },
26757 end: { line: 1, column: 13 }
26759 type: "AssignmentExpression",
26764 start: { line: 1, column: 0 },
26765 end: { line: 1, column: 1 }
26767 type: "Identifier",
26773 start: { line: 1, column: 4 },
26774 end: { line: 1, column: 13 }
26776 type: "ObjectExpression",
26780 start: { line: 1, column: 6 },
26781 end: { line: 1, column: 10 }
26787 start: { line: 1, column: 6 },
26788 end: { line: 1, column: 7 }
26790 type: "Identifier",
26796 start: { line: 1, column: 9 },
26797 end: { line: 1, column: 10 }
26799 type: "Identifier",
26813 message: "Error: Line 1: Unexpected token ;"
26820 type: 'ReturnStatement',
26824 start: { line: 1, column: 0 },
26825 end: { line: 1, column: 6 }
26830 start: { line: 1, column: 0 },
26831 end: { line: 1, column: 6 }
26837 message: 'Error: Line 1: Illegal return statement'
26841 '(function () { \'use strict\'; with (i); }())': {
26844 type: 'ExpressionStatement',
26846 type: 'CallExpression',
26848 type: 'FunctionExpression',
26853 type: 'BlockStatement',
26855 type: 'ExpressionStatement',
26858 value: 'use strict',
26859 raw: '\'use strict\'',
26862 start: { line: 1, column: 15 },
26863 end: { line: 1, column: 27 }
26868 start: { line: 1, column: 15 },
26869 end: { line: 1, column: 28 }
26872 type: 'WithStatement',
26874 type: 'Identifier',
26878 start: { line: 1, column: 35 },
26879 end: { line: 1, column: 36 }
26883 type: 'EmptyStatement',
26886 start: { line: 1, column: 37 },
26887 end: { line: 1, column: 38 }
26892 start: { line: 1, column: 29 },
26893 end: { line: 1, column: 38 }
26898 start: { line: 1, column: 13 },
26899 end: { line: 1, column: 40 }
26907 start: { line: 1, column: 1 },
26908 end: { line: 1, column: 40 }
26914 start: { line: 1, column: 1 },
26915 end: { line: 1, column: 42 }
26920 start: { line: 1, column: 0 },
26921 end: { line: 1, column: 43 }
26926 start: { line: 1, column: 0 },
26927 end: { line: 1, column: 43 }
26933 message: 'Error: Line 1: Strict mode code may not include a with statement'
26937 '(function () { \'use strict\'; 021 }())': {
26940 type: 'ExpressionStatement',
26942 type: 'CallExpression',
26944 type: 'FunctionExpression',
26949 type: 'BlockStatement',
26951 type: 'ExpressionStatement',
26954 value: 'use strict',
26955 raw: '\'use strict\'',
26958 start: { line: 1, column: 15 },
26959 end: { line: 1, column: 27 }
26964 start: { line: 1, column: 15 },
26965 end: { line: 1, column: 28 }
26968 type: 'ExpressionStatement',
26975 start: { line: 1, column: 29 },
26976 end: { line: 1, column: 32 }
26981 start: { line: 1, column: 29 },
26982 end: { line: 1, column: 33 }
26987 start: { line: 1, column: 13 },
26988 end: { line: 1, column: 34 }
26996 start: { line: 1, column: 1 },
26997 end: { line: 1, column: 34 }
27003 start: { line: 1, column: 1 },
27004 end: { line: 1, column: 36 }
27009 start: { line: 1, column: 0 },
27010 end: { line: 1, column: 37 }
27015 start: { line: 1, column: 0 },
27016 end: { line: 1, column: 37 }
27022 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
27026 '"use strict"; delete x': {
27029 type: 'ExpressionStatement',
27032 value: 'use strict',
27033 raw: '"use strict"',
27036 start: { line: 1, column: 0 },
27037 end: { line: 1, column: 12 }
27042 start: { line: 1, column: 0 },
27043 end: { line: 1, column: 13 }
27046 type: 'ExpressionStatement',
27048 type: 'UnaryExpression',
27049 operator: 'delete',
27051 type: 'Identifier',
27055 start: { line: 1, column: 21 },
27056 end: { line: 1, column: 22 }
27062 start: { line: 1, column: 14 },
27063 end: { line: 1, column: 22 }
27068 start: { line: 1, column: 14 },
27069 end: { line: 1, column: 22 }
27074 start: { line: 1, column: 0 },
27075 end: { line: 1, column: 22 }
27081 message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
27085 '"use strict"; try {} catch (eval) {}': {
27088 type: 'ExpressionStatement',
27091 value: 'use strict',
27092 raw: '"use strict"',
27095 start: { line: 1, column: 0 },
27096 end: { line: 1, column: 12 }
27101 start: { line: 1, column: 0 },
27102 end: { line: 1, column: 13 }
27105 type: 'TryStatement',
27107 type: 'BlockStatement',
27111 start: { line: 1, column: 18 },
27112 end: { line: 1, column: 20 }
27115 guardedHandlers: [],
27117 type: 'CatchClause',
27119 type: 'Identifier',
27123 start: { line: 1, column: 28 },
27124 end: { line: 1, column: 32 }
27128 type: 'BlockStatement',
27132 start: { line: 1, column: 34 },
27133 end: { line: 1, column: 36 }
27138 start: { line: 1, column: 21 },
27139 end: { line: 1, column: 36 }
27145 start: { line: 1, column: 14 },
27146 end: { line: 1, column: 36 }
27151 start: { line: 1, column: 0 },
27152 end: { line: 1, column: 36 }
27158 message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
27162 '"use strict"; try {} catch (arguments) {}': {
27165 type: 'ExpressionStatement',
27168 value: 'use strict',
27169 raw: '"use strict"',
27172 start: { line: 1, column: 0 },
27173 end: { line: 1, column: 12 }
27178 start: { line: 1, column: 0 },
27179 end: { line: 1, column: 13 }
27182 type: 'TryStatement',
27184 type: 'BlockStatement',
27188 start: { line: 1, column: 18 },
27189 end: { line: 1, column: 20 }
27192 guardedHandlers: [],
27194 type: 'CatchClause',
27196 type: 'Identifier',
27200 start: { line: 1, column: 28 },
27201 end: { line: 1, column: 37 }
27205 type: 'BlockStatement',
27209 start: { line: 1, column: 39 },
27210 end: { line: 1, column: 41 }
27215 start: { line: 1, column: 21 },
27216 end: { line: 1, column: 41 }
27222 start: { line: 1, column: 14 },
27223 end: { line: 1, column: 41 }
27228 start: { line: 1, column: 0 },
27229 end: { line: 1, column: 41 }
27235 message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
27239 '"use strict"; var eval;': {
27242 type: 'ExpressionStatement',
27245 value: 'use strict',
27246 raw: '"use strict"',
27249 start: { line: 1, column: 0 },
27250 end: { line: 1, column: 12 }
27255 start: { line: 1, column: 0 },
27256 end: { line: 1, column: 13 }
27259 type: 'VariableDeclaration',
27261 type: 'VariableDeclarator',
27263 type: 'Identifier',
27267 start: { line: 1, column: 18 },
27268 end: { line: 1, column: 22 }
27274 start: { line: 1, column: 18 },
27275 end: { line: 1, column: 22 }
27281 start: { line: 1, column: 14 },
27282 end: { line: 1, column: 23 }
27287 start: { line: 1, column: 0 },
27288 end: { line: 1, column: 23 }
27294 message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
27298 '"use strict"; var arguments;': {
27301 type: 'ExpressionStatement',
27304 value: 'use strict',
27305 raw: '"use strict"',
27308 start: { line: 1, column: 0 },
27309 end: { line: 1, column: 12 }
27314 start: { line: 1, column: 0 },
27315 end: { line: 1, column: 13 }
27318 type: 'VariableDeclaration',
27320 type: 'VariableDeclarator',
27322 type: 'Identifier',
27326 start: { line: 1, column: 18 },
27327 end: { line: 1, column: 27 }
27333 start: { line: 1, column: 18 },
27334 end: { line: 1, column: 27 }
27340 start: { line: 1, column: 14 },
27341 end: { line: 1, column: 28 }
27346 start: { line: 1, column: 0 },
27347 end: { line: 1, column: 28 }
27353 message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
27357 '"use strict"; eval = 0;': {
27360 type: 'ExpressionStatement',
27363 value: 'use strict',
27364 raw: '"use strict"',
27367 start: { line: 1, column: 0 },
27368 end: { line: 1, column: 12 }
27373 start: { line: 1, column: 0 },
27374 end: { line: 1, column: 13 }
27377 type: 'ExpressionStatement',
27379 type: 'AssignmentExpression',
27382 type: 'Identifier',
27386 start: { line: 1, column: 14 },
27387 end: { line: 1, column: 18 }
27396 start: { line: 1, column: 21 },
27397 end: { line: 1, column: 22 }
27402 start: { line: 1, column: 14 },
27403 end: { line: 1, column: 22 }
27408 start: { line: 1, column: 14 },
27409 end: { line: 1, column: 23 }
27414 start: { line: 1, column: 0 },
27415 end: { line: 1, column: 23 }
27421 message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
27425 '"use strict"; eval++;': {
27428 type: 'ExpressionStatement',
27431 value: 'use strict',
27432 raw: '"use strict"',
27435 start: { line: 1, column: 0 },
27436 end: { line: 1, column: 12 }
27441 start: { line: 1, column: 0 },
27442 end: { line: 1, column: 13 }
27445 type: 'ExpressionStatement',
27447 type: 'UpdateExpression',
27450 type: 'Identifier',
27454 start: { line: 1, column: 14 },
27455 end: { line: 1, column: 18 }
27461 start: { line: 1, column: 14 },
27462 end: { line: 1, column: 20 }
27467 start: { line: 1, column: 14 },
27468 end: { line: 1, column: 21 }
27473 start: { line: 1, column: 0 },
27474 end: { line: 1, column: 21 }
27480 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
27484 '"use strict"; --eval;': {
27487 type: 'ExpressionStatement',
27490 value: 'use strict',
27491 raw: '"use strict"',
27494 start: { line: 1, column: 0 },
27495 end: { line: 1, column: 12 }
27500 start: { line: 1, column: 0 },
27501 end: { line: 1, column: 13 }
27504 type: 'ExpressionStatement',
27506 type: 'UpdateExpression',
27509 type: 'Identifier',
27513 start: { line: 1, column: 16 },
27514 end: { line: 1, column: 20 }
27520 start: { line: 1, column: 14 },
27521 end: { line: 1, column: 20 }
27526 start: { line: 1, column: 14 },
27527 end: { line: 1, column: 21 }
27532 start: { line: 1, column: 0 },
27533 end: { line: 1, column: 21 }
27539 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
27543 '"use strict"; arguments = 0;': {
27546 type: 'ExpressionStatement',
27549 value: 'use strict',
27550 raw: '"use strict"',
27553 start: { line: 1, column: 0 },
27554 end: { line: 1, column: 12 }
27559 start: { line: 1, column: 0 },
27560 end: { line: 1, column: 13 }
27563 type: 'ExpressionStatement',
27565 type: 'AssignmentExpression',
27568 type: 'Identifier',
27572 start: { line: 1, column: 14 },
27573 end: { line: 1, column: 23 }
27582 start: { line: 1, column: 26 },
27583 end: { line: 1, column: 27 }
27588 start: { line: 1, column: 14 },
27589 end: { line: 1, column: 27 }
27594 start: { line: 1, column: 14 },
27595 end: { line: 1, column: 28 }
27600 start: { line: 1, column: 0 },
27601 end: { line: 1, column: 28 }
27607 message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
27611 '"use strict"; arguments--;': {
27614 type: 'ExpressionStatement',
27617 value: 'use strict',
27618 raw: '"use strict"',
27621 start: { line: 1, column: 0 },
27622 end: { line: 1, column: 12 }
27627 start: { line: 1, column: 0 },
27628 end: { line: 1, column: 13 }
27631 type: 'ExpressionStatement',
27633 type: 'UpdateExpression',
27636 type: 'Identifier',
27640 start: { line: 1, column: 14 },
27641 end: { line: 1, column: 23 }
27647 start: { line: 1, column: 14 },
27648 end: { line: 1, column: 25 }
27653 start: { line: 1, column: 14 },
27654 end: { line: 1, column: 26 }
27659 start: { line: 1, column: 0 },
27660 end: { line: 1, column: 26 }
27666 message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
27670 '"use strict"; ++arguments;': {
27673 type: 'ExpressionStatement',
27676 value: 'use strict',
27677 raw: '"use strict"',
27680 start: { line: 1, column: 0 },
27681 end: { line: 1, column: 12 }
27686 start: { line: 1, column: 0 },
27687 end: { line: 1, column: 13 }
27690 type: 'ExpressionStatement',
27692 type: 'UpdateExpression',
27695 type: 'Identifier',
27699 start: { line: 1, column: 16 },
27700 end: { line: 1, column: 25 }
27706 start: { line: 1, column: 14 },
27707 end: { line: 1, column: 25 }
27712 start: { line: 1, column: 14 },
27713 end: { line: 1, column: 26 }
27718 start: { line: 1, column: 0 },
27719 end: { line: 1, column: 26 }
27725 message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
27730 '"use strict";x={y:1,y:1}': {
27733 type: 'ExpressionStatement',
27736 value: 'use strict',
27737 raw: '"use strict"',
27740 start: { line: 1, column: 0 },
27741 end: { line: 1, column: 12 }
27746 start: { line: 1, column: 0 },
27747 end: { line: 1, column: 13 }
27750 type: 'ExpressionStatement',
27752 type: 'AssignmentExpression',
27755 type: 'Identifier',
27759 start: { line: 1, column: 13 },
27760 end: { line: 1, column: 14 }
27764 type: 'ObjectExpression',
27768 type: 'Identifier',
27772 start: { line: 1, column: 16 },
27773 end: { line: 1, column: 17 }
27782 start: { line: 1, column: 18 },
27783 end: { line: 1, column: 19 }
27791 start: { line: 1, column: 16 },
27792 end: { line: 1, column: 19 }
27797 type: 'Identifier',
27801 start: { line: 1, column: 20 },
27802 end: { line: 1, column: 21 }
27811 start: { line: 1, column: 22 },
27812 end: { line: 1, column: 23 }
27820 start: { line: 1, column: 20 },
27821 end: { line: 1, column: 23 }
27826 start: { line: 1, column: 15 },
27827 end: { line: 1, column: 24 }
27832 start: { line: 1, column: 13 },
27833 end: { line: 1, column: 24 }
27838 start: { line: 1, column: 13 },
27839 end: { line: 1, column: 24 }
27844 start: { line: 1, column: 0 },
27845 end: { line: 1, column: 24 }
27851 message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
27855 '"use strict"; function eval() {};': {
27858 type: 'ExpressionStatement',
27861 value: 'use strict',
27862 raw: '"use strict"',
27865 start: { line: 1, column: 0 },
27866 end: { line: 1, column: 12 }
27871 start: { line: 1, column: 0 },
27872 end: { line: 1, column: 13 }
27875 type: 'FunctionDeclaration',
27877 type: 'Identifier',
27881 start: { line: 1, column: 23 },
27882 end: { line: 1, column: 27 }
27888 type: 'BlockStatement',
27892 start: { line: 1, column: 30 },
27893 end: { line: 1, column: 32 }
27901 start: { line: 1, column: 14 },
27902 end: { line: 1, column: 32 }
27905 type: 'EmptyStatement',
27908 start: { line: 1, column: 32 },
27909 end: { line: 1, column: 33 }
27914 start: { line: 1, column: 0 },
27915 end: { line: 1, column: 33 }
27921 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
27925 '"use strict"; function arguments() {};': {
27928 type: 'ExpressionStatement',
27931 value: 'use strict',
27932 raw: '"use strict"',
27935 start: { line: 1, column: 0 },
27936 end: { line: 1, column: 12 }
27941 start: { line: 1, column: 0 },
27942 end: { line: 1, column: 13 }
27945 type: 'FunctionDeclaration',
27947 type: 'Identifier',
27951 start: { line: 1, column: 23 },
27952 end: { line: 1, column: 32 }
27958 type: 'BlockStatement',
27962 start: { line: 1, column: 35 },
27963 end: { line: 1, column: 37 }
27971 start: { line: 1, column: 14 },
27972 end: { line: 1, column: 37 }
27975 type: 'EmptyStatement',
27978 start: { line: 1, column: 37 },
27979 end: { line: 1, column: 38 }
27984 start: { line: 1, column: 0 },
27985 end: { line: 1, column: 38 }
27991 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
27995 '"use strict"; function interface() {};': {
27998 type: 'ExpressionStatement',
28001 value: 'use strict',
28002 raw: '"use strict"',
28005 start: { line: 1, column: 0 },
28006 end: { line: 1, column: 12 }
28011 start: { line: 1, column: 0 },
28012 end: { line: 1, column: 13 }
28015 type: 'FunctionDeclaration',
28017 type: 'Identifier',
28021 start: { line: 1, column: 23 },
28022 end: { line: 1, column: 32 }
28028 type: 'BlockStatement',
28032 start: { line: 1, column: 35 },
28033 end: { line: 1, column: 37 }
28041 start: { line: 1, column: 14 },
28042 end: { line: 1, column: 37 }
28045 type: 'EmptyStatement',
28048 start: { line: 1, column: 37 },
28049 end: { line: 1, column: 38 }
28054 start: { line: 1, column: 0 },
28055 end: { line: 1, column: 38 }
28061 message: 'Error: Line 1: Use of future reserved word in strict mode'
28065 '"use strict"; (function eval() {});': {
28068 type: 'ExpressionStatement',
28071 value: 'use strict',
28072 raw: '"use strict"',
28075 start: { line: 1, column: 0 },
28076 end: { line: 1, column: 12 }
28081 start: { line: 1, column: 0 },
28082 end: { line: 1, column: 13 }
28085 type: 'ExpressionStatement',
28087 type: 'FunctionExpression',
28089 type: 'Identifier',
28093 start: { line: 1, column: 24 },
28094 end: { line: 1, column: 28 }
28100 type: 'BlockStatement',
28104 start: { line: 1, column: 31 },
28105 end: { line: 1, column: 33 }
28113 start: { line: 1, column: 15 },
28114 end: { line: 1, column: 33 }
28119 start: { line: 1, column: 14 },
28120 end: { line: 1, column: 35 }
28125 start: { line: 1, column: 0 },
28126 end: { line: 1, column: 35 }
28132 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
28136 '"use strict"; (function arguments() {});': {
28139 type: 'ExpressionStatement',
28142 value: 'use strict',
28143 raw: '"use strict"',
28146 start: { line: 1, column: 0 },
28147 end: { line: 1, column: 12 }
28152 start: { line: 1, column: 0 },
28153 end: { line: 1, column: 13 }
28156 type: 'ExpressionStatement',
28158 type: 'FunctionExpression',
28160 type: 'Identifier',
28164 start: { line: 1, column: 24 },
28165 end: { line: 1, column: 33 }
28171 type: 'BlockStatement',
28175 start: { line: 1, column: 36 },
28176 end: { line: 1, column: 38 }
28184 start: { line: 1, column: 15 },
28185 end: { line: 1, column: 38 }
28190 start: { line: 1, column: 14 },
28191 end: { line: 1, column: 40 }
28196 start: { line: 1, column: 0 },
28197 end: { line: 1, column: 40 }
28203 message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
28207 '"use strict"; (function interface() {});': {
28210 type: 'ExpressionStatement',
28213 value: 'use strict',
28214 raw: '"use strict"',
28217 start: { line: 1, column: 0 },
28218 end: { line: 1, column: 12 }
28223 start: { line: 1, column: 0 },
28224 end: { line: 1, column: 13 }
28227 type: 'ExpressionStatement',
28229 type: 'FunctionExpression',
28231 type: 'Identifier',
28235 start: { line: 1, column: 24 },
28236 end: { line: 1, column: 33 }
28242 type: 'BlockStatement',
28246 start: { line: 1, column: 36 },
28247 end: { line: 1, column: 38 }
28255 start: { line: 1, column: 15 },
28256 end: { line: 1, column: 38 }
28261 start: { line: 1, column: 14 },
28262 end: { line: 1, column: 40 }
28267 start: { line: 1, column: 0 },
28268 end: { line: 1, column: 40 }
28274 message: 'Error: Line 1: Use of future reserved word in strict mode'
28278 '"use strict"; function f(eval) {};': {
28281 type: 'ExpressionStatement',
28284 value: 'use strict',
28285 raw: '"use strict"',
28288 start: { line: 1, column: 0 },
28289 end: { line: 1, column: 12 }
28294 start: { line: 1, column: 0 },
28295 end: { line: 1, column: 13 }
28298 type: 'FunctionDeclaration',
28300 type: 'Identifier',
28304 start: { line: 1, column: 23 },
28305 end: { line: 1, column: 24 }
28309 type: 'Identifier',
28313 start: { line: 1, column: 25 },
28314 end: { line: 1, column: 29 }
28319 type: 'BlockStatement',
28323 start: { line: 1, column: 31 },
28324 end: { line: 1, column: 33 }
28332 start: { line: 1, column: 14 },
28333 end: { line: 1, column: 33 }
28336 type: 'EmptyStatement',
28339 start: { line: 1, column: 33 },
28340 end: { line: 1, column: 34 }
28345 start: { line: 1, column: 0 },
28346 end: { line: 1, column: 34 }
28352 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
28356 '"use strict"; function f(arguments) {};': {
28359 type: 'ExpressionStatement',
28362 value: 'use strict',
28363 raw: '"use strict"',
28366 start: { line: 1, column: 0 },
28367 end: { line: 1, column: 12 }
28372 start: { line: 1, column: 0 },
28373 end: { line: 1, column: 13 }
28376 type: 'FunctionDeclaration',
28378 type: 'Identifier',
28382 start: { line: 1, column: 23 },
28383 end: { line: 1, column: 24 }
28387 type: 'Identifier',
28391 start: { line: 1, column: 25 },
28392 end: { line: 1, column: 34 }
28397 type: 'BlockStatement',
28401 start: { line: 1, column: 36 },
28402 end: { line: 1, column: 38 }
28410 start: { line: 1, column: 14 },
28411 end: { line: 1, column: 38 }
28414 type: 'EmptyStatement',
28417 start: { line: 1, column: 38 },
28418 end: { line: 1, column: 39 }
28423 start: { line: 1, column: 0 },
28424 end: { line: 1, column: 39 }
28430 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
28434 '"use strict"; function f(foo, foo) {};': {
28437 type: 'ExpressionStatement',
28440 value: 'use strict',
28441 raw: '"use strict"',
28444 start: { line: 1, column: 0 },
28445 end: { line: 1, column: 12 }
28450 start: { line: 1, column: 0 },
28451 end: { line: 1, column: 13 }
28454 type: 'FunctionDeclaration',
28456 type: 'Identifier',
28460 start: { line: 1, column: 23 },
28461 end: { line: 1, column: 24 }
28465 type: 'Identifier',
28469 start: { line: 1, column: 25 },
28470 end: { line: 1, column: 28 }
28473 type: 'Identifier',
28477 start: { line: 1, column: 31 },
28478 end: { line: 1, column: 34 }
28483 type: 'BlockStatement',
28487 start: { line: 1, column: 36 },
28488 end: { line: 1, column: 38 }
28496 start: { line: 1, column: 14 },
28497 end: { line: 1, column: 38 }
28500 type: 'EmptyStatement',
28503 start: { line: 1, column: 38 },
28504 end: { line: 1, column: 39 }
28509 start: { line: 1, column: 0 },
28510 end: { line: 1, column: 39 }
28516 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
28520 '"use strict"; (function f(eval) {});': {
28523 type: 'ExpressionStatement',
28526 value: 'use strict',
28527 raw: '"use strict"',
28530 start: { line: 1, column: 0 },
28531 end: { line: 1, column: 12 }
28536 start: { line: 1, column: 0 },
28537 end: { line: 1, column: 13 }
28540 type: 'ExpressionStatement',
28542 type: 'FunctionExpression',
28544 type: 'Identifier',
28548 start: { line: 1, column: 24 },
28549 end: { line: 1, column: 25 }
28553 type: 'Identifier',
28557 start: { line: 1, column: 26 },
28558 end: { line: 1, column: 30 }
28563 type: 'BlockStatement',
28567 start: { line: 1, column: 32 },
28568 end: { line: 1, column: 34 }
28576 start: { line: 1, column: 15 },
28577 end: { line: 1, column: 34 }
28582 start: { line: 1, column: 14 },
28583 end: { line: 1, column: 36 }
28588 start: { line: 1, column: 0 },
28589 end: { line: 1, column: 36 }
28595 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
28600 '"use strict"; (function f(arguments) {});': {
28603 type: 'ExpressionStatement',
28606 value: 'use strict',
28607 raw: '"use strict"',
28610 start: { line: 1, column: 0 },
28611 end: { line: 1, column: 12 }
28616 start: { line: 1, column: 0 },
28617 end: { line: 1, column: 13 }
28620 type: 'ExpressionStatement',
28622 type: 'FunctionExpression',
28624 type: 'Identifier',
28628 start: { line: 1, column: 24 },
28629 end: { line: 1, column: 25 }
28633 type: 'Identifier',
28637 start: { line: 1, column: 26 },
28638 end: { line: 1, column: 35 }
28643 type: 'BlockStatement',
28647 start: { line: 1, column: 37 },
28648 end: { line: 1, column: 39 }
28656 start: { line: 1, column: 15 },
28657 end: { line: 1, column: 39 }
28662 start: { line: 1, column: 14 },
28663 end: { line: 1, column: 41 }
28668 start: { line: 1, column: 0 },
28669 end: { line: 1, column: 41 }
28675 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
28679 '"use strict"; (function f(foo, foo) {});': {
28682 type: 'ExpressionStatement',
28685 value: 'use strict',
28686 raw: '"use strict"',
28689 start: { line: 1, column: 0 },
28690 end: { line: 1, column: 12 }
28695 start: { line: 1, column: 0 },
28696 end: { line: 1, column: 13 }
28699 type: 'ExpressionStatement',
28701 type: 'FunctionExpression',
28703 type: 'Identifier',
28707 start: { line: 1, column: 24 },
28708 end: { line: 1, column: 25 }
28712 type: 'Identifier',
28716 start: { line: 1, column: 26 },
28717 end: { line: 1, column: 29 }
28720 type: 'Identifier',
28724 start: { line: 1, column: 32 },
28725 end: { line: 1, column: 35 }
28730 type: 'BlockStatement',
28734 start: { line: 1, column: 37 },
28735 end: { line: 1, column: 39 }
28743 start: { line: 1, column: 15 },
28744 end: { line: 1, column: 39 }
28749 start: { line: 1, column: 14 },
28750 end: { line: 1, column: 41 }
28755 start: { line: 1, column: 0 },
28756 end: { line: 1, column: 41 }
28762 message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
28766 '"use strict"; x = { set f(eval) {} }' : {
28769 type: 'ExpressionStatement',
28772 value: 'use strict',
28773 raw: '"use strict"',
28776 start: { line: 1, column: 0 },
28777 end: { line: 1, column: 12 }
28782 start: { line: 1, column: 0 },
28783 end: { line: 1, column: 13 }
28786 type: 'ExpressionStatement',
28788 type: 'AssignmentExpression',
28791 type: 'Identifier',
28795 start: { line: 1, column: 14 },
28796 end: { line: 1, column: 15 }
28800 type: 'ObjectExpression',
28804 type: 'Identifier',
28808 start: { line: 1, column: 24 },
28809 end: { line: 1, column: 25 }
28813 type: 'FunctionExpression',
28816 type: 'Identifier',
28820 start: { line: 1, column: 26 },
28821 end: { line: 1, column: 30 }
28826 type: 'BlockStatement',
28830 start: { line: 1, column: 32 },
28831 end: { line: 1, column: 34 }
28839 start: { line: 1, column: 32 },
28840 end: { line: 1, column: 34 }
28848 start: { line: 1, column: 20 },
28849 end: { line: 1, column: 34 }
28854 start: { line: 1, column: 18 },
28855 end: { line: 1, column: 36 }
28860 start: { line: 1, column: 14 },
28861 end: { line: 1, column: 36 }
28866 start: { line: 1, column: 14 },
28867 end: { line: 1, column: 36 }
28872 start: { line: 1, column: 0 },
28873 end: { line: 1, column: 36 }
28879 message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
28883 'function hello() { "octal directive\\1"; "use strict"; }': {
28886 type: 'FunctionDeclaration',
28888 type: 'Identifier',
28892 start: { line: 1, column: 9 },
28893 end: { line: 1, column: 14 }
28899 type: 'BlockStatement',
28901 type: 'ExpressionStatement',
28904 value: 'octal directive\u0001',
28905 raw: '"octal directive\\1"',
28908 start: { line: 1, column: 19 },
28909 end: { line: 1, column: 38 }
28914 start: { line: 1, column: 19 },
28915 end: { line: 1, column: 39 }
28918 type: 'ExpressionStatement',
28921 value: 'use strict',
28922 raw: '"use strict"',
28925 start: { line: 1, column: 40 },
28926 end: { line: 1, column: 52 }
28931 start: { line: 1, column: 40 },
28932 end: { line: 1, column: 53 }
28937 start: { line: 1, column: 17 },
28938 end: { line: 1, column: 55 }
28946 start: { line: 1, column: 0 },
28947 end: { line: 1, column: 55 }
28952 start: { line: 1, column: 0 },
28953 end: { line: 1, column: 55 }
28959 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
28963 '"\\1"; \'use strict\';': {
28966 type: 'ExpressionStatement',
28973 start: { line: 1, column: 0 },
28974 end: { line: 1, column: 4 }
28979 start: { line: 1, column: 0 },
28980 end: { line: 1, column: 5 }
28983 type: 'ExpressionStatement',
28986 value: 'use strict',
28987 raw: '\'use strict\'',
28990 start: { line: 1, column: 6 },
28991 end: { line: 1, column: 18 }
28996 start: { line: 1, column: 6 },
28997 end: { line: 1, column: 19 }
29002 start: { line: 1, column: 0 },
29003 end: { line: 1, column: 19 }
29009 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
29013 '"use strict"; var x = { 014: 3}': {
29016 type: 'ExpressionStatement',
29019 value: 'use strict',
29020 raw: '"use strict"',
29023 start: { line: 1, column: 0 },
29024 end: { line: 1, column: 12 }
29029 start: { line: 1, column: 0 },
29030 end: { line: 1, column: 13 }
29033 type: 'VariableDeclaration',
29035 type: 'VariableDeclarator',
29037 type: 'Identifier',
29041 start: { line: 1, column: 18 },
29042 end: { line: 1, column: 19 }
29046 type: 'ObjectExpression',
29055 start: { line: 1, column: 24 },
29056 end: { line: 1, column: 27 }
29065 start: { line: 1, column: 29 },
29066 end: { line: 1, column: 30 }
29074 start: { line: 1, column: 24 },
29075 end: { line: 1, column: 30 }
29080 start: { line: 1, column: 22 },
29081 end: { line: 1, column: 31 }
29086 start: { line: 1, column: 18 },
29087 end: { line: 1, column: 31 }
29093 start: { line: 1, column: 14 },
29094 end: { line: 1, column: 31 }
29099 start: { line: 1, column: 0 },
29100 end: { line: 1, column: 31 }
29106 message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
29110 '"use strict"; var x = { get i() {}, get i() {} }': {
29113 type: 'ExpressionStatement',
29116 value: 'use strict',
29117 raw: '"use strict"',
29120 start: { line: 1, column: 0 },
29121 end: { line: 1, column: 12 }
29126 start: { line: 1, column: 0 },
29127 end: { line: 1, column: 13 }
29130 type: 'VariableDeclaration',
29132 type: 'VariableDeclarator',
29134 type: 'Identifier',
29138 start: { line: 1, column: 18 },
29139 end: { line: 1, column: 19 }
29143 type: 'ObjectExpression',
29147 type: 'Identifier',
29151 start: { line: 1, column: 28 },
29152 end: { line: 1, column: 29 }
29156 type: 'FunctionExpression',
29161 type: 'BlockStatement',
29165 start: { line: 1, column: 32 },
29166 end: { line: 1, column: 34 }
29174 start: { line: 1, column: 32 },
29175 end: { line: 1, column: 34 }
29183 start: { line: 1, column: 24 },
29184 end: { line: 1, column: 34 }
29189 type: 'Identifier',
29193 start: { line: 1, column: 40 },
29194 end: { line: 1, column: 41 }
29198 type: 'FunctionExpression',
29203 type: 'BlockStatement',
29207 start: { line: 1, column: 44 },
29208 end: { line: 1, column: 46 }
29216 start: { line: 1, column: 44 },
29217 end: { line: 1, column: 46 }
29225 start: { line: 1, column: 36 },
29226 end: { line: 1, column: 46 }
29231 start: { line: 1, column: 22 },
29232 end: { line: 1, column: 48 }
29237 start: { line: 1, column: 18 },
29238 end: { line: 1, column: 48 }
29244 start: { line: 1, column: 14 },
29245 end: { line: 1, column: 48 }
29250 start: { line: 1, column: 0 },
29251 end: { line: 1, column: 48 }
29257 message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
29261 '"use strict"; var x = { i: 42, get i() {} }': {
29264 type: 'ExpressionStatement',
29267 value: 'use strict',
29268 raw: '"use strict"',
29271 start: { line: 1, column: 0 },
29272 end: { line: 1, column: 12 }
29277 start: { line: 1, column: 0 },
29278 end: { line: 1, column: 13 }
29281 type: 'VariableDeclaration',
29283 type: 'VariableDeclarator',
29285 type: 'Identifier',
29289 start: { line: 1, column: 18 },
29290 end: { line: 1, column: 19 }
29294 type: 'ObjectExpression',
29298 type: 'Identifier',
29302 start: { line: 1, column: 24 },
29303 end: { line: 1, column: 25 }
29312 start: { line: 1, column: 27 },
29313 end: { line: 1, column: 29 }
29321 start: { line: 1, column: 24 },
29322 end: { line: 1, column: 29 }
29327 type: 'Identifier',
29331 start: { line: 1, column: 35 },
29332 end: { line: 1, column: 36 }
29336 type: 'FunctionExpression',
29341 type: 'BlockStatement',
29345 start: { line: 1, column: 39 },
29346 end: { line: 1, column: 41 }
29354 start: { line: 1, column: 39 },
29355 end: { line: 1, column: 41 }
29363 start: { line: 1, column: 31 },
29364 end: { line: 1, column: 41 }
29369 start: { line: 1, column: 22 },
29370 end: { line: 1, column: 43 }
29375 start: { line: 1, column: 18 },
29376 end: { line: 1, column: 43 }
29382 start: { line: 1, column: 14 },
29383 end: { line: 1, column: 43 }
29388 start: { line: 1, column: 0 },
29389 end: { line: 1, column: 43 }
29395 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
29399 '"use strict"; var x = { set i(x) {}, i: 42 }': {
29402 type: 'ExpressionStatement',
29405 value: 'use strict',
29406 raw: '"use strict"',
29409 start: { line: 1, column: 0 },
29410 end: { line: 1, column: 12 }
29415 start: { line: 1, column: 0 },
29416 end: { line: 1, column: 13 }
29419 type: 'VariableDeclaration',
29421 type: 'VariableDeclarator',
29423 type: 'Identifier',
29427 start: { line: 1, column: 18 },
29428 end: { line: 1, column: 19 }
29432 type: 'ObjectExpression',
29436 type: 'Identifier',
29440 start: { line: 1, column: 28 },
29441 end: { line: 1, column: 29 }
29445 type: 'FunctionExpression',
29448 type: 'Identifier',
29452 start: { line: 1, column: 30 },
29453 end: { line: 1, column: 31 }
29458 type: 'BlockStatement',
29462 start: { line: 1, column: 33 },
29463 end: { line: 1, column: 35 }
29471 start: { line: 1, column: 33 },
29472 end: { line: 1, column: 35 }
29480 start: { line: 1, column: 24 },
29481 end: { line: 1, column: 35 }
29486 type: 'Identifier',
29490 start: { line: 1, column: 37 },
29491 end: { line: 1, column: 38 }
29500 start: { line: 1, column: 40 },
29501 end: { line: 1, column: 42 }
29509 start: { line: 1, column: 37 },
29510 end: { line: 1, column: 42 }
29515 start: { line: 1, column: 22 },
29516 end: { line: 1, column: 44 }
29521 start: { line: 1, column: 18 },
29522 end: { line: 1, column: 44 }
29528 start: { line: 1, column: 14 },
29529 end: { line: 1, column: 44 }
29534 start: { line: 1, column: 0 },
29535 end: { line: 1, column: 44 }
29541 message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
29547 '({ set s() { } })': {
29550 type: 'ExpressionStatement',
29552 type: 'ObjectExpression',
29556 type: 'Identifier',
29560 start: { line: 1, column: 7 },
29561 end: { line: 1, column: 8 }
29565 type: 'FunctionExpression',
29570 type: 'BlockStatement',
29574 start: { line: 1, column: 11 },
29575 end: { line: 1, column: 14 }
29583 start: { line: 1, column: 11 },
29584 end: { line: 1, column: 14 }
29592 start: { line: 1, column: 3 },
29593 end: { line: 1, column: 14 }
29598 start: { line: 1, column: 1 },
29599 end: { line: 1, column: 16 }
29604 start: { line: 1, column: 0 },
29605 end: { line: 1, column: 17 }
29610 start: { line: 1, column: 0 },
29611 end: { line: 1, column: 17 }
29617 message: 'Error: Line 1: Unexpected token )'
29621 'foo("bar") = baz': {
29624 type: 'ExpressionStatement',
29626 type: 'AssignmentExpression',
29629 type: 'CallExpression',
29631 type: 'Identifier',
29635 start: { line: 1, column: 0 },
29636 end: { line: 1, column: 3 }
29645 start: { line: 1, column: 4 },
29646 end: { line: 1, column: 9 }
29651 start: { line: 1, column: 0 },
29652 end: { line: 1, column: 10 }
29656 type: 'Identifier',
29660 start: { line: 1, column: 13 },
29661 end: { line: 1, column: 16 }
29666 start: { line: 1, column: 0 },
29667 end: { line: 1, column: 16 }
29672 start: { line: 1, column: 0 },
29673 end: { line: 1, column: 16 }
29678 start: { line: 1, column: 0 },
29679 end: { line: 1, column: 16 }
29685 message: 'Error: Line 1: Invalid left-hand side in assignment'
29692 type: 'ExpressionStatement',
29694 type: 'AssignmentExpression',
29702 start: { line: 1, column: 0 },
29703 end: { line: 1, column: 1 }
29712 start: { line: 1, column: 4 },
29713 end: { line: 1, column: 5 }
29718 start: { line: 1, column: 0 },
29719 end: { line: 1, column: 5 }
29724 start: { line: 1, column: 0 },
29725 end: { line: 1, column: 5 }
29730 start: { line: 1, column: 0 },
29731 end: { line: 1, column: 5 }
29737 message: 'Error: Line 1: Invalid left-hand side in assignment'
29744 type: 'ExpressionStatement',
29746 type: 'UpdateExpression',
29754 start: { line: 1, column: 0 },
29755 end: { line: 1, column: 1 }
29761 start: { line: 1, column: 0 },
29762 end: { line: 1, column: 3 }
29767 start: { line: 1, column: 0 },
29768 end: { line: 1, column: 3 }
29773 start: { line: 1, column: 0 },
29774 end: { line: 1, column: 3 }
29780 message: 'Error: Line 1: Invalid left-hand side in assignment'
29787 type: 'ExpressionStatement',
29789 type: 'UpdateExpression',
29797 start: { line: 1, column: 2 },
29798 end: { line: 1, column: 3 }
29804 start: { line: 1, column: 0 },
29805 end: { line: 1, column: 3 }
29810 start: { line: 1, column: 0 },
29811 end: { line: 1, column: 3 }
29816 start: { line: 1, column: 0 },
29817 end: { line: 1, column: 3 }
29823 message: 'Error: Line 1: Invalid left-hand side in assignment'
29827 'for (5 in []) {}': {
29830 type: 'ForInStatement',
29837 start: { line: 1, column: 5 },
29838 end: { line: 1, column: 6 }
29842 type: 'ArrayExpression',
29846 start: { line: 1, column: 10 },
29847 end: { line: 1, column: 12 }
29851 type: 'BlockStatement',
29855 start: { line: 1, column: 14 },
29856 end: { line: 1, column: 16 }
29862 start: { line: 1, column: 0 },
29863 end: { line: 1, column: 16 }
29868 start: { line: 1, column: 0 },
29869 end: { line: 1, column: 16 }
29875 message: 'Error: Line 1: Invalid left-hand side in for-in'
29879 'var x = /[P QR]/\\g': {
29882 type: "VariableDeclaration",
29884 type: "VariableDeclarator",
29886 type: "Identifier",
29890 start: { line: 1, column: 4 },
29891 end: { line: 1, column: 5 }
29896 value: "/[P QR]/g",
29897 raw: "/[P QR]/\\g",
29904 start: { line: 1, column: 8 },
29905 end: { line: 1, column: 18 }
29910 start: { line: 1, column: 4 },
29911 end: { line: 1, column: 18 }
29917 start: { line: 1, column: 0 },
29918 end: { line: 1, column: 18 }
29923 start: { line: 1, column: 0 },
29924 end: { line: 1, column: 18 }
29930 message: "Error: Line 1: Unexpected token ILLEGAL"
29934 'var x = /[P QR]/\\\\u0067': {
29937 type: "VariableDeclaration",
29939 type: "VariableDeclarator",
29941 type: "Identifier",
29945 start: { line: 1, column: 4 },
29946 end: { line: 1, column: 5 }
29951 value: "/[P QR]/g",
29952 raw: "/[P QR]/\\\\u0067",
29959 start: { line: 1, column: 8 },
29960 end: { line: 1, column: 23 }
29965 start: { line: 1, column: 4 },
29966 end: { line: 1, column: 23 }
29972 start: { line: 1, column: 0 },
29973 end: { line: 1, column: 23 }
29978 start: { line: 1, column: 0 },
29979 end: { line: 1, column: 23 }
29985 message: "Error: Line 1: Unexpected token ILLEGAL"
29990 message: "Error: Line 1: Unexpected token ILLEGAL"