Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81159 views
1
/*
2
Copyright (C) 2012 Ariya Hidayat <[email protected]>
3
Copyright (C) 2012 Joost-Wim Boekesteijn <[email protected]>
4
Copyright (C) 2012 Yusuke Suzuki <[email protected]>
5
Copyright (C) 2012 Arpad Borsos <[email protected]>
6
Copyright (C) 2011 Ariya Hidayat <[email protected]>
7
Copyright (C) 2011 Yusuke Suzuki <[email protected]>
8
Copyright (C) 2011 Arpad Borsos <[email protected]>
9
10
Redistribution and use in source and binary forms, with or without
11
modification, are permitted provided that the following conditions are met:
12
13
* Redistributions of source code must retain the above copyright
14
notice, this list of conditions and the following disclaimer.
15
* Redistributions in binary form must reproduce the above copyright
16
notice, this list of conditions and the following disclaimer in the
17
documentation and/or other materials provided with the distribution.
18
19
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
var testFixture = {
32
33
'Primary Expression': {
34
35
'this\n': {
36
type: 'Program',
37
body: [{
38
type: 'ExpressionStatement',
39
expression: {
40
type: 'ThisExpression',
41
range: [0, 4],
42
loc: {
43
start: { line: 1, column: 0 },
44
end: { line: 1, column: 4 }
45
}
46
},
47
range: [0, 4],
48
loc: {
49
start: { line: 1, column: 0 },
50
end: { line: 1, column: 4 }
51
}
52
}],
53
range: [0, 4],
54
loc: {
55
start: { line: 1, column: 0 },
56
end: { line: 1, column: 4 }
57
},
58
tokens: [{
59
type: 'Keyword',
60
value: 'this',
61
range: [0, 4],
62
loc: {
63
start: { line: 1, column: 0 },
64
end: { line: 1, column: 4 }
65
}
66
}]
67
},
68
69
'null\n': {
70
type: 'Program',
71
body: [{
72
type: 'ExpressionStatement',
73
expression: {
74
type: 'Literal',
75
value: null,
76
raw: 'null',
77
range: [0, 4],
78
loc: {
79
start: { line: 1, column: 0 },
80
end: { line: 1, column: 4 }
81
}
82
},
83
range: [0, 4],
84
loc: {
85
start: { line: 1, column: 0 },
86
end: { line: 1, column: 4 }
87
}
88
}],
89
range: [0, 4],
90
loc: {
91
start: { line: 1, column: 0 },
92
end: { line: 1, column: 4 }
93
},
94
tokens: [{
95
type: 'Null',
96
value: 'null',
97
range: [0, 4],
98
loc: {
99
start: { line: 1, column: 0 },
100
end: { line: 1, column: 4 }
101
}
102
}]
103
},
104
105
'\n 42\n\n': {
106
type: 'Program',
107
body: [{
108
type: 'ExpressionStatement',
109
expression: {
110
type: 'Literal',
111
value: 42,
112
raw: '42',
113
range: [5, 7],
114
loc: {
115
start: { line: 2, column: 4 },
116
end: { line: 2, column: 6 }
117
}
118
},
119
range: [5, 7],
120
loc: {
121
start: { line: 2, column: 4 },
122
end: { line: 2, column: 6 }
123
}
124
}],
125
range: [5, 7],
126
loc: {
127
start: { line: 2, column: 4 },
128
end: { line: 2, column: 6 }
129
},
130
tokens: [{
131
type: 'Numeric',
132
value: '42',
133
range: [5, 7],
134
loc: {
135
start: { line: 2, column: 4 },
136
end: { line: 2, column: 6 }
137
}
138
}]
139
},
140
141
'(1 + 2 ) * 3': {
142
type: 'ExpressionStatement',
143
expression: {
144
type: 'BinaryExpression',
145
operator: '*',
146
left: {
147
type: 'BinaryExpression',
148
operator: '+',
149
left: {
150
type: 'Literal',
151
value: 1,
152
raw: '1',
153
range: [1, 2],
154
loc: {
155
start: { line: 1, column: 1 },
156
end: { line: 1, column: 2 }
157
}
158
},
159
right: {
160
type: 'Literal',
161
value: 2,
162
raw: '2',
163
range: [5, 6],
164
loc: {
165
start: { line: 1, column: 5 },
166
end: { line: 1, column: 6 }
167
}
168
},
169
range: [1, 6],
170
loc: {
171
start: { line: 1, column: 1 },
172
end: { line: 1, column: 6 }
173
}
174
},
175
right: {
176
type: 'Literal',
177
value: 3,
178
raw: '3',
179
range: [11, 12],
180
loc: {
181
start: { line: 1, column: 11 },
182
end: { line: 1, column: 12 }
183
}
184
},
185
range: [0, 12],
186
loc: {
187
start: { line: 1, column: 0 },
188
end: { line: 1, column: 12 }
189
}
190
},
191
range: [0, 12],
192
loc: {
193
start: { line: 1, column: 0 },
194
end: { line: 1, column: 12 }
195
}
196
}
197
198
},
199
200
'Grouping Operator': {
201
202
'(1) + (2 ) + 3': {
203
type: 'ExpressionStatement',
204
expression: {
205
type: 'BinaryExpression',
206
operator: '+',
207
left: {
208
type: 'BinaryExpression',
209
operator: '+',
210
left: {
211
type: 'Literal',
212
value: 1,
213
raw: '1',
214
range: [1, 2],
215
loc: {
216
start: { line: 1, column: 1 },
217
end: { line: 1, column: 2 }
218
}
219
},
220
right: {
221
type: 'Literal',
222
value: 2,
223
raw: '2',
224
range: [7, 8],
225
loc: {
226
start: { line: 1, column: 7 },
227
end: { line: 1, column: 8 }
228
}
229
},
230
range: [0, 11],
231
loc: {
232
start: { line: 1, column: 0 },
233
end: { line: 1, column: 11 }
234
}
235
},
236
right: {
237
type: 'Literal',
238
value: 3,
239
raw: '3',
240
range: [14, 15],
241
loc: {
242
start: { line: 1, column: 14 },
243
end: { line: 1, column: 15 }
244
}
245
},
246
range: [0, 15],
247
loc: {
248
start: { line: 1, column: 0 },
249
end: { line: 1, column: 15 }
250
}
251
},
252
range: [0, 15],
253
loc: {
254
start: { line: 1, column: 0 },
255
end: { line: 1, column: 15 }
256
}
257
},
258
259
'4 + 5 << (6)': {
260
type: 'ExpressionStatement',
261
expression: {
262
type: 'BinaryExpression',
263
operator: '<<',
264
left: {
265
type: 'BinaryExpression',
266
operator: '+',
267
left: {
268
type: 'Literal',
269
value: 4,
270
raw: '4',
271
range: [0, 1],
272
loc: {
273
start: { line: 1, column: 0 },
274
end: { line: 1, column: 1 }
275
}
276
},
277
right: {
278
type: 'Literal',
279
value: 5,
280
raw: '5',
281
range: [4, 5],
282
loc: {
283
start: { line: 1, column: 4 },
284
end: { line: 1, column: 5 }
285
}
286
},
287
range: [0, 5],
288
loc: {
289
start: { line: 1, column: 0 },
290
end: { line: 1, column: 5 }
291
}
292
},
293
right: {
294
type: 'Literal',
295
value: 6,
296
raw: '6',
297
range: [10, 11],
298
loc: {
299
start: { line: 1, column: 10 },
300
end: { line: 1, column: 11 }
301
}
302
},
303
range: [0, 12],
304
loc: {
305
start: { line: 1, column: 0 },
306
end: { line: 1, column: 12 }
307
}
308
},
309
range: [0, 12],
310
loc: {
311
start: { line: 1, column: 0 },
312
end: { line: 1, column: 12 }
313
}
314
}
315
316
},
317
318
'Array Initializer': {
319
320
'x = []': {
321
type: 'Program',
322
body: [{
323
type: 'ExpressionStatement',
324
expression: {
325
type: 'AssignmentExpression',
326
operator: '=',
327
left: {
328
type: 'Identifier',
329
name: 'x',
330
range: [0, 1],
331
loc: {
332
start: { line: 1, column: 0 },
333
end: { line: 1, column: 1 }
334
}
335
},
336
right: {
337
type: 'ArrayExpression',
338
elements: [],
339
range: [4, 6],
340
loc: {
341
start: { line: 1, column: 4 },
342
end: { line: 1, column: 6 }
343
}
344
},
345
range: [0, 6],
346
loc: {
347
start: { line: 1, column: 0 },
348
end: { line: 1, column: 6 }
349
}
350
},
351
range: [0, 6],
352
loc: {
353
start: { line: 1, column: 0 },
354
end: { line: 1, column: 6 }
355
}
356
}],
357
range: [0, 6],
358
loc: {
359
start: { line: 1, column: 0 },
360
end: { line: 1, column: 6 }
361
},
362
tokens: [{
363
type: 'Identifier',
364
value: 'x',
365
range: [0, 1],
366
loc: {
367
start: { line: 1, column: 0 },
368
end: { line: 1, column: 1 }
369
}
370
}, {
371
type: 'Punctuator',
372
value: '=',
373
range: [2, 3],
374
loc: {
375
start: { line: 1, column: 2 },
376
end: { line: 1, column: 3 }
377
}
378
}, {
379
type: 'Punctuator',
380
value: '[',
381
range: [4, 5],
382
loc: {
383
start: { line: 1, column: 4 },
384
end: { line: 1, column: 5 }
385
}
386
}, {
387
type: 'Punctuator',
388
value: ']',
389
range: [5, 6],
390
loc: {
391
start: { line: 1, column: 5 },
392
end: { line: 1, column: 6 }
393
}
394
}]
395
},
396
397
'x = [ ]': {
398
type: 'ExpressionStatement',
399
expression: {
400
type: 'AssignmentExpression',
401
operator: '=',
402
left: {
403
type: 'Identifier',
404
name: 'x',
405
range: [0, 1],
406
loc: {
407
start: { line: 1, column: 0 },
408
end: { line: 1, column: 1 }
409
}
410
},
411
right: {
412
type: 'ArrayExpression',
413
elements: [],
414
range: [4, 7],
415
loc: {
416
start: { line: 1, column: 4 },
417
end: { line: 1, column: 7 }
418
}
419
},
420
range: [0, 7],
421
loc: {
422
start: { line: 1, column: 0 },
423
end: { line: 1, column: 7 }
424
}
425
},
426
range: [0, 7],
427
loc: {
428
start: { line: 1, column: 0 },
429
end: { line: 1, column: 7 }
430
}
431
},
432
433
'x = [ 42 ]': {
434
type: 'ExpressionStatement',
435
expression: {
436
type: 'AssignmentExpression',
437
operator: '=',
438
left: {
439
type: 'Identifier',
440
name: 'x',
441
range: [0, 1],
442
loc: {
443
start: { line: 1, column: 0 },
444
end: { line: 1, column: 1 }
445
}
446
},
447
right: {
448
type: 'ArrayExpression',
449
elements: [{
450
type: 'Literal',
451
value: 42,
452
raw: '42',
453
range: [6, 8],
454
loc: {
455
start: { line: 1, column: 6 },
456
end: { line: 1, column: 8 }
457
}
458
}],
459
range: [4, 10],
460
loc: {
461
start: { line: 1, column: 4 },
462
end: { line: 1, column: 10 }
463
}
464
},
465
range: [0, 10],
466
loc: {
467
start: { line: 1, column: 0 },
468
end: { line: 1, column: 10 }
469
}
470
},
471
range: [0, 10],
472
loc: {
473
start: { line: 1, column: 0 },
474
end: { line: 1, column: 10 }
475
}
476
},
477
478
'x = [ 42, ]': {
479
type: 'ExpressionStatement',
480
expression: {
481
type: 'AssignmentExpression',
482
operator: '=',
483
left: {
484
type: 'Identifier',
485
name: 'x',
486
range: [0, 1],
487
loc: {
488
start: { line: 1, column: 0 },
489
end: { line: 1, column: 1 }
490
}
491
},
492
right: {
493
type: 'ArrayExpression',
494
elements: [{
495
type: 'Literal',
496
value: 42,
497
raw: '42',
498
range: [6, 8],
499
loc: {
500
start: { line: 1, column: 6 },
501
end: { line: 1, column: 8 }
502
}
503
}],
504
range: [4, 11],
505
loc: {
506
start: { line: 1, column: 4 },
507
end: { line: 1, column: 11 }
508
}
509
},
510
range: [0, 11],
511
loc: {
512
start: { line: 1, column: 0 },
513
end: { line: 1, column: 11 }
514
}
515
},
516
range: [0, 11],
517
loc: {
518
start: { line: 1, column: 0 },
519
end: { line: 1, column: 11 }
520
}
521
},
522
523
'x = [ ,, 42 ]': {
524
type: 'ExpressionStatement',
525
expression: {
526
type: 'AssignmentExpression',
527
operator: '=',
528
left: {
529
type: 'Identifier',
530
name: 'x',
531
range: [0, 1],
532
loc: {
533
start: { line: 1, column: 0 },
534
end: { line: 1, column: 1 }
535
}
536
},
537
right: {
538
type: 'ArrayExpression',
539
elements: [
540
null,
541
null,
542
{
543
type: 'Literal',
544
value: 42,
545
raw: '42',
546
range: [9, 11],
547
loc: {
548
start: { line: 1, column: 9 },
549
end: { line: 1, column: 11 }
550
}
551
}],
552
range: [4, 13],
553
loc: {
554
start: { line: 1, column: 4 },
555
end: { line: 1, column: 13 }
556
}
557
},
558
range: [0, 13],
559
loc: {
560
start: { line: 1, column: 0 },
561
end: { line: 1, column: 13 }
562
}
563
},
564
range: [0, 13],
565
loc: {
566
start: { line: 1, column: 0 },
567
end: { line: 1, column: 13 }
568
}
569
},
570
571
'x = [ 1, 2, 3, ]': {
572
type: 'ExpressionStatement',
573
expression: {
574
type: 'AssignmentExpression',
575
operator: '=',
576
left: {
577
type: 'Identifier',
578
name: 'x',
579
range: [0, 1],
580
loc: {
581
start: { line: 1, column: 0 },
582
end: { line: 1, column: 1 }
583
}
584
},
585
right: {
586
type: 'ArrayExpression',
587
elements: [{
588
type: 'Literal',
589
value: 1,
590
raw: '1',
591
range: [6, 7],
592
loc: {
593
start: { line: 1, column: 6 },
594
end: { line: 1, column: 7 }
595
}
596
}, {
597
type: 'Literal',
598
value: 2,
599
raw: '2',
600
range: [9, 10],
601
loc: {
602
start: { line: 1, column: 9 },
603
end: { line: 1, column: 10 }
604
}
605
}, {
606
type: 'Literal',
607
value: 3,
608
raw: '3',
609
range: [12, 13],
610
loc: {
611
start: { line: 1, column: 12 },
612
end: { line: 1, column: 13 }
613
}
614
}],
615
range: [4, 16],
616
loc: {
617
start: { line: 1, column: 4 },
618
end: { line: 1, column: 16 }
619
}
620
},
621
range: [0, 16],
622
loc: {
623
start: { line: 1, column: 0 },
624
end: { line: 1, column: 16 }
625
}
626
},
627
range: [0, 16],
628
loc: {
629
start: { line: 1, column: 0 },
630
end: { line: 1, column: 16 }
631
}
632
},
633
634
'x = [ 1, 2,, 3, ]': {
635
type: 'ExpressionStatement',
636
expression: {
637
type: 'AssignmentExpression',
638
operator: '=',
639
left: {
640
type: 'Identifier',
641
name: 'x',
642
range: [0, 1],
643
loc: {
644
start: { line: 1, column: 0 },
645
end: { line: 1, column: 1 }
646
}
647
},
648
right: {
649
type: 'ArrayExpression',
650
elements: [{
651
type: 'Literal',
652
value: 1,
653
raw: '1',
654
range: [6, 7],
655
loc: {
656
start: { line: 1, column: 6 },
657
end: { line: 1, column: 7 }
658
}
659
}, {
660
type: 'Literal',
661
value: 2,
662
raw: '2',
663
range: [9, 10],
664
loc: {
665
start: { line: 1, column: 9 },
666
end: { line: 1, column: 10 }
667
}
668
}, null, {
669
type: 'Literal',
670
value: 3,
671
raw: '3',
672
range: [13, 14],
673
loc: {
674
start: { line: 1, column: 13 },
675
end: { line: 1, column: 14 }
676
}
677
}],
678
range: [4, 17],
679
loc: {
680
start: { line: 1, column: 4 },
681
end: { line: 1, column: 17 }
682
}
683
},
684
range: [0, 17],
685
loc: {
686
start: { line: 1, column: 0 },
687
end: { line: 1, column: 17 }
688
}
689
},
690
range: [0, 17],
691
loc: {
692
start: { line: 1, column: 0 },
693
end: { line: 1, column: 17 }
694
}
695
},
696
697
'x = [ "finally", "for" ]': {
698
type: 'ExpressionStatement',
699
expression: {
700
type: 'AssignmentExpression',
701
operator: '=',
702
left: {
703
type: 'Identifier',
704
name: 'x',
705
range: [0, 1],
706
loc: {
707
start: { line: 1, column: 0 },
708
end: { line: 1, column: 1 }
709
}
710
},
711
right: {
712
type: 'ArrayExpression',
713
elements: [{
714
type: 'Literal',
715
value: 'finally',
716
raw: '"finally"',
717
range: [6, 15],
718
loc: {
719
start: { line: 1, column: 6 },
720
end: { line: 1, column: 15 }
721
}
722
}, {
723
type: 'Literal',
724
value: 'for',
725
raw: '"for"',
726
range: [17, 22],
727
loc: {
728
start: { line: 1, column: 17 },
729
end: { line: 1, column: 22 }
730
}
731
}],
732
range: [4, 24],
733
loc: {
734
start: { line: 1, column: 4 },
735
end: { line: 1, column: 24 }
736
}
737
},
738
range: [0, 24],
739
loc: {
740
start: { line: 1, column: 0 },
741
end: { line: 1, column: 24 }
742
}
743
},
744
range: [0, 24],
745
loc: {
746
start: { line: 1, column: 0 },
747
end: { line: 1, column: 24 }
748
}
749
},
750
751
'日本語 = []': {
752
type: 'ExpressionStatement',
753
expression: {
754
type: 'AssignmentExpression',
755
operator: '=',
756
left: {
757
type: 'Identifier',
758
name: '日本語',
759
range: [0, 3],
760
loc: {
761
start: { line: 1, column: 0 },
762
end: { line: 1, column: 3 }
763
}
764
},
765
right: {
766
type: 'ArrayExpression',
767
elements: [],
768
range: [6, 8],
769
loc: {
770
start: { line: 1, column: 6 },
771
end: { line: 1, column: 8 }
772
}
773
},
774
range: [0, 8],
775
loc: {
776
start: { line: 1, column: 0 },
777
end: { line: 1, column: 8 }
778
}
779
},
780
range: [0, 8],
781
loc: {
782
start: { line: 1, column: 0 },
783
end: { line: 1, column: 8 }
784
}
785
},
786
787
'T\u203F = []': {
788
type: 'ExpressionStatement',
789
expression: {
790
type: 'AssignmentExpression',
791
operator: '=',
792
left: {
793
type: 'Identifier',
794
name: 'T\u203F',
795
range: [0, 2],
796
loc: {
797
start: { line: 1, column: 0 },
798
end: { line: 1, column: 2 }
799
}
800
},
801
right: {
802
type: 'ArrayExpression',
803
elements: [],
804
range: [5, 7],
805
loc: {
806
start: { line: 1, column: 5 },
807
end: { line: 1, column: 7 }
808
}
809
},
810
range: [0, 7],
811
loc: {
812
start: { line: 1, column: 0 },
813
end: { line: 1, column: 7 }
814
}
815
},
816
range: [0, 7],
817
loc: {
818
start: { line: 1, column: 0 },
819
end: { line: 1, column: 7 }
820
}
821
},
822
823
'T\u200C = []': {
824
type: 'ExpressionStatement',
825
expression: {
826
type: 'AssignmentExpression',
827
operator: '=',
828
left: {
829
type: 'Identifier',
830
name: 'T\u200C',
831
range: [0, 2],
832
loc: {
833
start: { line: 1, column: 0 },
834
end: { line: 1, column: 2 }
835
}
836
},
837
right: {
838
type: 'ArrayExpression',
839
elements: [],
840
range: [5, 7],
841
loc: {
842
start: { line: 1, column: 5 },
843
end: { line: 1, column: 7 }
844
}
845
},
846
range: [0, 7],
847
loc: {
848
start: { line: 1, column: 0 },
849
end: { line: 1, column: 7 }
850
}
851
},
852
range: [0, 7],
853
loc: {
854
start: { line: 1, column: 0 },
855
end: { line: 1, column: 7 }
856
}
857
},
858
859
'T\u200D = []': {
860
type: 'ExpressionStatement',
861
expression: {
862
type: 'AssignmentExpression',
863
operator: '=',
864
left: {
865
type: 'Identifier',
866
name: 'T\u200D',
867
range: [0, 2],
868
loc: {
869
start: { line: 1, column: 0 },
870
end: { line: 1, column: 2 }
871
}
872
},
873
right: {
874
type: 'ArrayExpression',
875
elements: [],
876
range: [5, 7],
877
loc: {
878
start: { line: 1, column: 5 },
879
end: { line: 1, column: 7 }
880
}
881
},
882
range: [0, 7],
883
loc: {
884
start: { line: 1, column: 0 },
885
end: { line: 1, column: 7 }
886
}
887
},
888
range: [0, 7],
889
loc: {
890
start: { line: 1, column: 0 },
891
end: { line: 1, column: 7 }
892
}
893
},
894
895
'\u2163\u2161 = []': {
896
type: 'ExpressionStatement',
897
expression: {
898
type: 'AssignmentExpression',
899
operator: '=',
900
left: {
901
type: 'Identifier',
902
name: '\u2163\u2161',
903
range: [0, 2],
904
loc: {
905
start: { line: 1, column: 0 },
906
end: { line: 1, column: 2 }
907
}
908
},
909
right: {
910
type: 'ArrayExpression',
911
elements: [],
912
range: [5, 7],
913
loc: {
914
start: { line: 1, column: 5 },
915
end: { line: 1, column: 7 }
916
}
917
},
918
range: [0, 7],
919
loc: {
920
start: { line: 1, column: 0 },
921
end: { line: 1, column: 7 }
922
}
923
},
924
range: [0, 7],
925
loc: {
926
start: { line: 1, column: 0 },
927
end: { line: 1, column: 7 }
928
}
929
},
930
931
'\u2163\u2161\u200A=\u2009[]': {
932
type: 'ExpressionStatement',
933
expression: {
934
type: 'AssignmentExpression',
935
operator: '=',
936
left: {
937
type: 'Identifier',
938
name: '\u2163\u2161',
939
range: [0, 2],
940
loc: {
941
start: { line: 1, column: 0 },
942
end: { line: 1, column: 2 }
943
}
944
},
945
right: {
946
type: 'ArrayExpression',
947
elements: [],
948
range: [5, 7],
949
loc: {
950
start: { line: 1, column: 5 },
951
end: { line: 1, column: 7 }
952
}
953
},
954
range: [0, 7],
955
loc: {
956
start: { line: 1, column: 0 },
957
end: { line: 1, column: 7 }
958
}
959
},
960
range: [0, 7],
961
loc: {
962
start: { line: 1, column: 0 },
963
end: { line: 1, column: 7 }
964
}
965
},
966
967
'[",", "second"]': {
968
type: 'ExpressionStatement',
969
expression: {
970
type: 'ArrayExpression',
971
elements: [{
972
type: 'Literal',
973
value: ',',
974
raw: '","',
975
range: [1, 4],
976
loc: {
977
start: { line: 1, column: 1 },
978
end: { line: 1, column: 4 }
979
}
980
}, {
981
type: 'Literal',
982
value: 'second',
983
raw: '"second"',
984
range: [6, 14],
985
loc: {
986
start: { line: 1, column: 6 },
987
end: { line: 1, column: 14 }
988
}
989
}],
990
range: [0, 15],
991
loc: {
992
start: { line: 1, column: 0 },
993
end: { line: 1, column: 15 }
994
}
995
},
996
range: [0, 15],
997
loc: {
998
start: { line: 1, column: 0 },
999
end: { line: 1, column: 15 }
1000
}
1001
},
1002
1003
'["notAToken", "if"]': {
1004
type: 'ExpressionStatement',
1005
expression: {
1006
type: 'ArrayExpression',
1007
elements: [{
1008
type: 'Literal',
1009
value: 'notAToken',
1010
raw: '"notAToken"',
1011
range: [1, 12],
1012
loc: {
1013
start: { line: 1, column: 1 },
1014
end: { line: 1, column: 12 }
1015
}
1016
}, {
1017
type: 'Literal',
1018
value: 'if',
1019
raw: '"if"',
1020
range: [14, 18],
1021
loc: {
1022
start: { line: 1, column: 14 },
1023
end: { line: 1, column: 18 }
1024
}
1025
}],
1026
range: [0, 19],
1027
loc: {
1028
start: { line: 1, column: 0 },
1029
end: { line: 1, column: 19 }
1030
}
1031
},
1032
range: [0, 19],
1033
loc: {
1034
start: { line: 1, column: 0 },
1035
end: { line: 1, column: 19 }
1036
}
1037
}
1038
},
1039
1040
'Object Initializer': {
1041
1042
'x = {}': {
1043
type: 'ExpressionStatement',
1044
expression: {
1045
type: 'AssignmentExpression',
1046
operator: '=',
1047
left: {
1048
type: 'Identifier',
1049
name: 'x',
1050
range: [0, 1],
1051
loc: {
1052
start: { line: 1, column: 0 },
1053
end: { line: 1, column: 1 }
1054
}
1055
},
1056
right: {
1057
type: 'ObjectExpression',
1058
properties: [],
1059
range: [4, 6],
1060
loc: {
1061
start: { line: 1, column: 4 },
1062
end: { line: 1, column: 6 }
1063
}
1064
},
1065
range: [0, 6],
1066
loc: {
1067
start: { line: 1, column: 0 },
1068
end: { line: 1, column: 6 }
1069
}
1070
},
1071
range: [0, 6],
1072
loc: {
1073
start: { line: 1, column: 0 },
1074
end: { line: 1, column: 6 }
1075
}
1076
},
1077
1078
'x = { }': {
1079
type: 'ExpressionStatement',
1080
expression: {
1081
type: 'AssignmentExpression',
1082
operator: '=',
1083
left: {
1084
type: 'Identifier',
1085
name: 'x',
1086
range: [0, 1],
1087
loc: {
1088
start: { line: 1, column: 0 },
1089
end: { line: 1, column: 1 }
1090
}
1091
},
1092
right: {
1093
type: 'ObjectExpression',
1094
properties: [],
1095
range: [4, 7],
1096
loc: {
1097
start: { line: 1, column: 4 },
1098
end: { line: 1, column: 7 }
1099
}
1100
},
1101
range: [0, 7],
1102
loc: {
1103
start: { line: 1, column: 0 },
1104
end: { line: 1, column: 7 }
1105
}
1106
},
1107
range: [0, 7],
1108
loc: {
1109
start: { line: 1, column: 0 },
1110
end: { line: 1, column: 7 }
1111
}
1112
},
1113
1114
'x = { answer: 42 }': {
1115
type: 'ExpressionStatement',
1116
expression: {
1117
type: 'AssignmentExpression',
1118
operator: '=',
1119
left: {
1120
type: 'Identifier',
1121
name: 'x',
1122
range: [0, 1],
1123
loc: {
1124
start: { line: 1, column: 0 },
1125
end: { line: 1, column: 1 }
1126
}
1127
},
1128
right: {
1129
type: 'ObjectExpression',
1130
properties: [{
1131
type: 'Property',
1132
key: {
1133
type: 'Identifier',
1134
name: 'answer',
1135
range: [6, 12],
1136
loc: {
1137
start: { line: 1, column: 6 },
1138
end: { line: 1, column: 12 }
1139
}
1140
},
1141
value: {
1142
type: 'Literal',
1143
value: 42,
1144
raw: '42',
1145
range: [14, 16],
1146
loc: {
1147
start: { line: 1, column: 14 },
1148
end: { line: 1, column: 16 }
1149
}
1150
},
1151
kind: 'init',
1152
method: false,
1153
shorthand: false,
1154
computed: false,
1155
range: [6, 16],
1156
loc: {
1157
start: { line: 1, column: 6 },
1158
end: { line: 1, column: 16 }
1159
}
1160
}],
1161
range: [4, 18],
1162
loc: {
1163
start: { line: 1, column: 4 },
1164
end: { line: 1, column: 18 }
1165
}
1166
},
1167
range: [0, 18],
1168
loc: {
1169
start: { line: 1, column: 0 },
1170
end: { line: 1, column: 18 }
1171
}
1172
},
1173
range: [0, 18],
1174
loc: {
1175
start: { line: 1, column: 0 },
1176
end: { line: 1, column: 18 }
1177
}
1178
},
1179
1180
'x = { if: 42 }': {
1181
type: 'ExpressionStatement',
1182
expression: {
1183
type: 'AssignmentExpression',
1184
operator: '=',
1185
left: {
1186
type: 'Identifier',
1187
name: 'x',
1188
range: [0, 1],
1189
loc: {
1190
start: { line: 1, column: 0 },
1191
end: { line: 1, column: 1 }
1192
}
1193
},
1194
right: {
1195
type: 'ObjectExpression',
1196
properties: [{
1197
type: 'Property',
1198
key: {
1199
type: 'Identifier',
1200
name: 'if',
1201
range: [6, 8],
1202
loc: {
1203
start: { line: 1, column: 6 },
1204
end: { line: 1, column: 8 }
1205
}
1206
},
1207
value: {
1208
type: 'Literal',
1209
value: 42,
1210
raw: '42',
1211
range: [10, 12],
1212
loc: {
1213
start: { line: 1, column: 10 },
1214
end: { line: 1, column: 12 }
1215
}
1216
},
1217
kind: 'init',
1218
method: false,
1219
shorthand: false,
1220
computed: false,
1221
range: [6, 12],
1222
loc: {
1223
start: { line: 1, column: 6 },
1224
end: { line: 1, column: 12 }
1225
}
1226
}],
1227
range: [4, 14],
1228
loc: {
1229
start: { line: 1, column: 4 },
1230
end: { line: 1, column: 14 }
1231
}
1232
},
1233
range: [0, 14],
1234
loc: {
1235
start: { line: 1, column: 0 },
1236
end: { line: 1, column: 14 }
1237
}
1238
},
1239
range: [0, 14],
1240
loc: {
1241
start: { line: 1, column: 0 },
1242
end: { line: 1, column: 14 }
1243
}
1244
},
1245
1246
'x = { true: 42 }': {
1247
type: 'ExpressionStatement',
1248
expression: {
1249
type: 'AssignmentExpression',
1250
operator: '=',
1251
left: {
1252
type: 'Identifier',
1253
name: 'x',
1254
range: [0, 1],
1255
loc: {
1256
start: { line: 1, column: 0 },
1257
end: { line: 1, column: 1 }
1258
}
1259
},
1260
right: {
1261
type: 'ObjectExpression',
1262
properties: [{
1263
type: 'Property',
1264
key: {
1265
type: 'Identifier',
1266
name: 'true',
1267
range: [6, 10],
1268
loc: {
1269
start: { line: 1, column: 6 },
1270
end: { line: 1, column: 10 }
1271
}
1272
},
1273
value: {
1274
type: 'Literal',
1275
value: 42,
1276
raw: '42',
1277
range: [12, 14],
1278
loc: {
1279
start: { line: 1, column: 12 },
1280
end: { line: 1, column: 14 }
1281
}
1282
},
1283
kind: 'init',
1284
method: false,
1285
shorthand: false,
1286
computed: false,
1287
range: [6, 14],
1288
loc: {
1289
start: { line: 1, column: 6 },
1290
end: { line: 1, column: 14 }
1291
}
1292
}],
1293
range: [4, 16],
1294
loc: {
1295
start: { line: 1, column: 4 },
1296
end: { line: 1, column: 16 }
1297
}
1298
},
1299
range: [0, 16],
1300
loc: {
1301
start: { line: 1, column: 0 },
1302
end: { line: 1, column: 16 }
1303
}
1304
},
1305
range: [0, 16],
1306
loc: {
1307
start: { line: 1, column: 0 },
1308
end: { line: 1, column: 16 }
1309
}
1310
},
1311
1312
'x = { false: 42 }': {
1313
type: 'ExpressionStatement',
1314
expression: {
1315
type: 'AssignmentExpression',
1316
operator: '=',
1317
left: {
1318
type: 'Identifier',
1319
name: 'x',
1320
range: [0, 1],
1321
loc: {
1322
start: { line: 1, column: 0 },
1323
end: { line: 1, column: 1 }
1324
}
1325
},
1326
right: {
1327
type: 'ObjectExpression',
1328
properties: [{
1329
type: 'Property',
1330
key: {
1331
type: 'Identifier',
1332
name: 'false',
1333
range: [6, 11],
1334
loc: {
1335
start: { line: 1, column: 6 },
1336
end: { line: 1, column: 11 }
1337
}
1338
},
1339
value: {
1340
type: 'Literal',
1341
value: 42,
1342
raw: '42',
1343
range: [13, 15],
1344
loc: {
1345
start: { line: 1, column: 13 },
1346
end: { line: 1, column: 15 }
1347
}
1348
},
1349
kind: 'init',
1350
method: false,
1351
shorthand: false,
1352
computed: false,
1353
range: [6, 15],
1354
loc: {
1355
start: { line: 1, column: 6 },
1356
end: { line: 1, column: 15 }
1357
}
1358
}],
1359
range: [4, 17],
1360
loc: {
1361
start: { line: 1, column: 4 },
1362
end: { line: 1, column: 17 }
1363
}
1364
},
1365
range: [0, 17],
1366
loc: {
1367
start: { line: 1, column: 0 },
1368
end: { line: 1, column: 17 }
1369
}
1370
},
1371
range: [0, 17],
1372
loc: {
1373
start: { line: 1, column: 0 },
1374
end: { line: 1, column: 17 }
1375
}
1376
},
1377
1378
'x = { null: 42 }': {
1379
type: 'ExpressionStatement',
1380
expression: {
1381
type: 'AssignmentExpression',
1382
operator: '=',
1383
left: {
1384
type: 'Identifier',
1385
name: 'x',
1386
range: [0, 1],
1387
loc: {
1388
start: { line: 1, column: 0 },
1389
end: { line: 1, column: 1 }
1390
}
1391
},
1392
right: {
1393
type: 'ObjectExpression',
1394
properties: [{
1395
type: 'Property',
1396
key: {
1397
type: 'Identifier',
1398
name: 'null',
1399
range: [6, 10],
1400
loc: {
1401
start: { line: 1, column: 6 },
1402
end: { line: 1, column: 10 }
1403
}
1404
},
1405
value: {
1406
type: 'Literal',
1407
value: 42,
1408
raw: '42',
1409
range: [12, 14],
1410
loc: {
1411
start: { line: 1, column: 12 },
1412
end: { line: 1, column: 14 }
1413
}
1414
},
1415
kind: 'init',
1416
method: false,
1417
shorthand: false,
1418
computed: false,
1419
range: [6, 14],
1420
loc: {
1421
start: { line: 1, column: 6 },
1422
end: { line: 1, column: 14 }
1423
}
1424
}],
1425
range: [4, 16],
1426
loc: {
1427
start: { line: 1, column: 4 },
1428
end: { line: 1, column: 16 }
1429
}
1430
},
1431
range: [0, 16],
1432
loc: {
1433
start: { line: 1, column: 0 },
1434
end: { line: 1, column: 16 }
1435
}
1436
},
1437
range: [0, 16],
1438
loc: {
1439
start: { line: 1, column: 0 },
1440
end: { line: 1, column: 16 }
1441
}
1442
},
1443
1444
'x = { "answer": 42 }': {
1445
type: 'ExpressionStatement',
1446
expression: {
1447
type: 'AssignmentExpression',
1448
operator: '=',
1449
left: {
1450
type: 'Identifier',
1451
name: 'x',
1452
range: [0, 1],
1453
loc: {
1454
start: { line: 1, column: 0 },
1455
end: { line: 1, column: 1 }
1456
}
1457
},
1458
right: {
1459
type: 'ObjectExpression',
1460
properties: [{
1461
type: 'Property',
1462
key: {
1463
type: 'Literal',
1464
value: 'answer',
1465
raw: '"answer"',
1466
range: [6, 14],
1467
loc: {
1468
start: { line: 1, column: 6 },
1469
end: { line: 1, column: 14 }
1470
}
1471
},
1472
value: {
1473
type: 'Literal',
1474
value: 42,
1475
raw: '42',
1476
range: [16, 18],
1477
loc: {
1478
start: { line: 1, column: 16 },
1479
end: { line: 1, column: 18 }
1480
}
1481
},
1482
kind: 'init',
1483
method: false,
1484
shorthand: false,
1485
computed: false,
1486
range: [6, 18],
1487
loc: {
1488
start: { line: 1, column: 6 },
1489
end: { line: 1, column: 18 }
1490
}
1491
}],
1492
range: [4, 20],
1493
loc: {
1494
start: { line: 1, column: 4 },
1495
end: { line: 1, column: 20 }
1496
}
1497
},
1498
range: [0, 20],
1499
loc: {
1500
start: { line: 1, column: 0 },
1501
end: { line: 1, column: 20 }
1502
}
1503
},
1504
range: [0, 20],
1505
loc: {
1506
start: { line: 1, column: 0 },
1507
end: { line: 1, column: 20 }
1508
}
1509
},
1510
1511
'x = { x: 1, x: 2 }': {
1512
type: 'ExpressionStatement',
1513
expression: {
1514
type: 'AssignmentExpression',
1515
operator: '=',
1516
left: {
1517
type: 'Identifier',
1518
name: 'x',
1519
range: [0, 1],
1520
loc: {
1521
start: { line: 1, column: 0 },
1522
end: { line: 1, column: 1 }
1523
}
1524
},
1525
right: {
1526
type: 'ObjectExpression',
1527
properties: [
1528
{
1529
type: 'Property',
1530
key: {
1531
type: 'Identifier',
1532
name: 'x',
1533
range: [6, 7],
1534
loc: {
1535
start: { line: 1, column: 6 },
1536
end: { line: 1, column: 7 }
1537
}
1538
},
1539
value: {
1540
type: 'Literal',
1541
value: 1,
1542
raw: '1',
1543
range: [9, 10],
1544
loc: {
1545
start: { line: 1, column: 9 },
1546
end: { line: 1, column: 10 }
1547
}
1548
},
1549
kind: 'init',
1550
method: false,
1551
shorthand: false,
1552
computed: false,
1553
range: [6, 10],
1554
loc: {
1555
start: { line: 1, column: 6 },
1556
end: { line: 1, column: 10 }
1557
}
1558
},
1559
{
1560
type: 'Property',
1561
key: {
1562
type: 'Identifier',
1563
name: 'x',
1564
range: [12, 13],
1565
loc: {
1566
start: { line: 1, column: 12 },
1567
end: { line: 1, column: 13 }
1568
}
1569
},
1570
value: {
1571
type: 'Literal',
1572
value: 2,
1573
raw: '2',
1574
range: [15, 16],
1575
loc: {
1576
start: { line: 1, column: 15 },
1577
end: { line: 1, column: 16 }
1578
}
1579
},
1580
kind: 'init',
1581
method: false,
1582
shorthand: false,
1583
computed: false,
1584
range: [12, 16],
1585
loc: {
1586
start: { line: 1, column: 12 },
1587
end: { line: 1, column: 16 }
1588
}
1589
}
1590
],
1591
range: [4, 18],
1592
loc: {
1593
start: { line: 1, column: 4 },
1594
end: { line: 1, column: 18 }
1595
}
1596
},
1597
range: [0, 18],
1598
loc: {
1599
start: { line: 1, column: 0 },
1600
end: { line: 1, column: 18 }
1601
}
1602
},
1603
range: [0, 18],
1604
loc: {
1605
start: { line: 1, column: 0 },
1606
end: { line: 1, column: 18 }
1607
}
1608
},
1609
1610
'x = { get width() { return m_width } }': {
1611
type: 'ExpressionStatement',
1612
expression: {
1613
type: 'AssignmentExpression',
1614
operator: '=',
1615
left: {
1616
type: 'Identifier',
1617
name: 'x',
1618
range: [0, 1],
1619
loc: {
1620
start: { line: 1, column: 0 },
1621
end: { line: 1, column: 1 }
1622
}
1623
},
1624
right: {
1625
type: 'ObjectExpression',
1626
properties: [{
1627
type: 'Property',
1628
key: {
1629
type: 'Identifier',
1630
name: 'width',
1631
range: [10, 15],
1632
loc: {
1633
start: { line: 1, column: 10 },
1634
end: { line: 1, column: 15 }
1635
}
1636
},
1637
value: {
1638
type: 'FunctionExpression',
1639
id: null,
1640
params: [],
1641
defaults: [],
1642
body: {
1643
type: 'BlockStatement',
1644
body: [{
1645
type: 'ReturnStatement',
1646
argument: {
1647
type: 'Identifier',
1648
name: 'm_width',
1649
range: [27, 34],
1650
loc: {
1651
start: { line: 1, column: 27 },
1652
end: { line: 1, column: 34 }
1653
}
1654
},
1655
range: [20, 35],
1656
loc: {
1657
start: { line: 1, column: 20 },
1658
end: { line: 1, column: 35 }
1659
}
1660
}],
1661
range: [18, 36],
1662
loc: {
1663
start: { line: 1, column: 18 },
1664
end: { line: 1, column: 36 }
1665
}
1666
},
1667
rest: null,
1668
generator: false,
1669
expression: false,
1670
range: [18, 36],
1671
loc: {
1672
start: { line: 1, column: 18 },
1673
end: { line: 1, column: 36 }
1674
}
1675
},
1676
kind: 'get',
1677
method: false,
1678
shorthand: false,
1679
computed: false,
1680
range: [6, 36],
1681
loc: {
1682
start: { line: 1, column: 6 },
1683
end: { line: 1, column: 36 }
1684
}
1685
}],
1686
range: [4, 38],
1687
loc: {
1688
start: { line: 1, column: 4 },
1689
end: { line: 1, column: 38 }
1690
}
1691
},
1692
range: [0, 38],
1693
loc: {
1694
start: { line: 1, column: 0 },
1695
end: { line: 1, column: 38 }
1696
}
1697
},
1698
range: [0, 38],
1699
loc: {
1700
start: { line: 1, column: 0 },
1701
end: { line: 1, column: 38 }
1702
}
1703
},
1704
1705
'x = { get undef() {} }': {
1706
type: 'ExpressionStatement',
1707
expression: {
1708
type: 'AssignmentExpression',
1709
operator: '=',
1710
left: {
1711
type: 'Identifier',
1712
name: 'x',
1713
range: [0, 1],
1714
loc: {
1715
start: { line: 1, column: 0 },
1716
end: { line: 1, column: 1 }
1717
}
1718
},
1719
right: {
1720
type: 'ObjectExpression',
1721
properties: [{
1722
type: 'Property',
1723
key: {
1724
type: 'Identifier',
1725
name: 'undef',
1726
range: [10, 15],
1727
loc: {
1728
start: { line: 1, column: 10 },
1729
end: { line: 1, column: 15 }
1730
}
1731
},
1732
value: {
1733
type: 'FunctionExpression',
1734
id: null,
1735
params: [],
1736
defaults: [],
1737
body: {
1738
type: 'BlockStatement',
1739
body: [],
1740
range: [18, 20],
1741
loc: {
1742
start: { line: 1, column: 18 },
1743
end: { line: 1, column: 20 }
1744
}
1745
},
1746
rest: null,
1747
generator: false,
1748
expression: false,
1749
range: [18, 20],
1750
loc: {
1751
start: { line: 1, column: 18 },
1752
end: { line: 1, column: 20 }
1753
}
1754
},
1755
kind: 'get',
1756
method: false,
1757
shorthand: false,
1758
computed: false,
1759
range: [6, 20],
1760
loc: {
1761
start: { line: 1, column: 6 },
1762
end: { line: 1, column: 20 }
1763
}
1764
}],
1765
range: [4, 22],
1766
loc: {
1767
start: { line: 1, column: 4 },
1768
end: { line: 1, column: 22 }
1769
}
1770
},
1771
range: [0, 22],
1772
loc: {
1773
start: { line: 1, column: 0 },
1774
end: { line: 1, column: 22 }
1775
}
1776
},
1777
range: [0, 22],
1778
loc: {
1779
start: { line: 1, column: 0 },
1780
end: { line: 1, column: 22 }
1781
}
1782
},
1783
1784
'x = { get if() {} }': {
1785
type: 'ExpressionStatement',
1786
expression: {
1787
type: 'AssignmentExpression',
1788
operator: '=',
1789
left: {
1790
type: 'Identifier',
1791
name: 'x',
1792
range: [0, 1],
1793
loc: {
1794
start: { line: 1, column: 0 },
1795
end: { line: 1, column: 1 }
1796
}
1797
},
1798
right: {
1799
type: 'ObjectExpression',
1800
properties: [{
1801
type: 'Property',
1802
key: {
1803
type: 'Identifier',
1804
name: 'if',
1805
range: [10, 12],
1806
loc: {
1807
start: { line: 1, column: 10 },
1808
end: { line: 1, column: 12 }
1809
}
1810
},
1811
value: {
1812
type: 'FunctionExpression',
1813
id: null,
1814
params: [],
1815
defaults: [],
1816
body: {
1817
type: 'BlockStatement',
1818
body: [],
1819
range: [15, 17],
1820
loc: {
1821
start: { line: 1, column: 15 },
1822
end: { line: 1, column: 17 }
1823
}
1824
},
1825
rest: null,
1826
generator: false,
1827
expression: false,
1828
range: [15, 17],
1829
loc: {
1830
start: { line: 1, column: 15 },
1831
end: { line: 1, column: 17 }
1832
}
1833
},
1834
kind: 'get',
1835
method: false,
1836
shorthand: false,
1837
computed: false,
1838
range: [6, 17],
1839
loc: {
1840
start: { line: 1, column: 6 },
1841
end: { line: 1, column: 17 }
1842
}
1843
}],
1844
range: [4, 19],
1845
loc: {
1846
start: { line: 1, column: 4 },
1847
end: { line: 1, column: 19 }
1848
}
1849
},
1850
range: [0, 19],
1851
loc: {
1852
start: { line: 1, column: 0 },
1853
end: { line: 1, column: 19 }
1854
}
1855
},
1856
range: [0, 19],
1857
loc: {
1858
start: { line: 1, column: 0 },
1859
end: { line: 1, column: 19 }
1860
}
1861
},
1862
1863
'x = { get true() {} }': {
1864
type: 'ExpressionStatement',
1865
expression: {
1866
type: 'AssignmentExpression',
1867
operator: '=',
1868
left: {
1869
type: 'Identifier',
1870
name: 'x',
1871
range: [0, 1],
1872
loc: {
1873
start: { line: 1, column: 0 },
1874
end: { line: 1, column: 1 }
1875
}
1876
},
1877
right: {
1878
type: 'ObjectExpression',
1879
properties: [{
1880
type: 'Property',
1881
key: {
1882
type: 'Identifier',
1883
name: 'true',
1884
range: [10, 14],
1885
loc: {
1886
start: { line: 1, column: 10 },
1887
end: { line: 1, column: 14 }
1888
}
1889
},
1890
value: {
1891
type: 'FunctionExpression',
1892
id: null,
1893
params: [],
1894
defaults: [],
1895
body: {
1896
type: 'BlockStatement',
1897
body: [],
1898
range: [17, 19],
1899
loc: {
1900
start: { line: 1, column: 17 },
1901
end: { line: 1, column: 19 }
1902
}
1903
},
1904
rest: null,
1905
generator: false,
1906
expression: false,
1907
range: [17, 19],
1908
loc: {
1909
start: { line: 1, column: 17 },
1910
end: { line: 1, column: 19 }
1911
}
1912
},
1913
kind: 'get',
1914
method: false,
1915
shorthand: false,
1916
computed: false,
1917
range: [6, 19],
1918
loc: {
1919
start: { line: 1, column: 6 },
1920
end: { line: 1, column: 19 }
1921
}
1922
}],
1923
range: [4, 21],
1924
loc: {
1925
start: { line: 1, column: 4 },
1926
end: { line: 1, column: 21 }
1927
}
1928
},
1929
range: [0, 21],
1930
loc: {
1931
start: { line: 1, column: 0 },
1932
end: { line: 1, column: 21 }
1933
}
1934
},
1935
range: [0, 21],
1936
loc: {
1937
start: { line: 1, column: 0 },
1938
end: { line: 1, column: 21 }
1939
}
1940
},
1941
1942
'x = { get false() {} }': {
1943
type: 'ExpressionStatement',
1944
expression: {
1945
type: 'AssignmentExpression',
1946
operator: '=',
1947
left: {
1948
type: 'Identifier',
1949
name: 'x',
1950
range: [0, 1],
1951
loc: {
1952
start: { line: 1, column: 0 },
1953
end: { line: 1, column: 1 }
1954
}
1955
},
1956
right: {
1957
type: 'ObjectExpression',
1958
properties: [{
1959
type: 'Property',
1960
key: {
1961
type: 'Identifier',
1962
name: 'false',
1963
range: [10, 15],
1964
loc: {
1965
start: { line: 1, column: 10 },
1966
end: { line: 1, column: 15 }
1967
}
1968
},
1969
value: {
1970
type: 'FunctionExpression',
1971
id: null,
1972
params: [],
1973
defaults: [],
1974
body: {
1975
type: 'BlockStatement',
1976
body: [],
1977
range: [18, 20],
1978
loc: {
1979
start: { line: 1, column: 18 },
1980
end: { line: 1, column: 20 }
1981
}
1982
},
1983
rest: null,
1984
generator: false,
1985
expression: false,
1986
range: [18, 20],
1987
loc: {
1988
start: { line: 1, column: 18 },
1989
end: { line: 1, column: 20 }
1990
}
1991
},
1992
kind: 'get',
1993
method: false,
1994
shorthand: false,
1995
computed: false,
1996
range: [6, 20],
1997
loc: {
1998
start: { line: 1, column: 6 },
1999
end: { line: 1, column: 20 }
2000
}
2001
}],
2002
range: [4, 22],
2003
loc: {
2004
start: { line: 1, column: 4 },
2005
end: { line: 1, column: 22 }
2006
}
2007
},
2008
range: [0, 22],
2009
loc: {
2010
start: { line: 1, column: 0 },
2011
end: { line: 1, column: 22 }
2012
}
2013
},
2014
range: [0, 22],
2015
loc: {
2016
start: { line: 1, column: 0 },
2017
end: { line: 1, column: 22 }
2018
}
2019
},
2020
2021
'x = { get null() {} }': {
2022
type: 'ExpressionStatement',
2023
expression: {
2024
type: 'AssignmentExpression',
2025
operator: '=',
2026
left: {
2027
type: 'Identifier',
2028
name: 'x',
2029
range: [0, 1],
2030
loc: {
2031
start: { line: 1, column: 0 },
2032
end: { line: 1, column: 1 }
2033
}
2034
},
2035
right: {
2036
type: 'ObjectExpression',
2037
properties: [{
2038
type: 'Property',
2039
key: {
2040
type: 'Identifier',
2041
name: 'null',
2042
range: [10, 14],
2043
loc: {
2044
start: { line: 1, column: 10 },
2045
end: { line: 1, column: 14 }
2046
}
2047
},
2048
value: {
2049
type: 'FunctionExpression',
2050
id: null,
2051
params: [],
2052
defaults: [],
2053
body: {
2054
type: 'BlockStatement',
2055
body: [],
2056
range: [17, 19],
2057
loc: {
2058
start: { line: 1, column: 17 },
2059
end: { line: 1, column: 19 }
2060
}
2061
},
2062
rest: null,
2063
generator: false,
2064
expression: false,
2065
range: [17, 19],
2066
loc: {
2067
start: { line: 1, column: 17 },
2068
end: { line: 1, column: 19 }
2069
}
2070
},
2071
kind: 'get',
2072
method: false,
2073
shorthand: false,
2074
computed: false,
2075
range: [6, 19],
2076
loc: {
2077
start: { line: 1, column: 6 },
2078
end: { line: 1, column: 19 }
2079
}
2080
}],
2081
range: [4, 21],
2082
loc: {
2083
start: { line: 1, column: 4 },
2084
end: { line: 1, column: 21 }
2085
}
2086
},
2087
range: [0, 21],
2088
loc: {
2089
start: { line: 1, column: 0 },
2090
end: { line: 1, column: 21 }
2091
}
2092
},
2093
range: [0, 21],
2094
loc: {
2095
start: { line: 1, column: 0 },
2096
end: { line: 1, column: 21 }
2097
}
2098
},
2099
2100
'x = { get "undef"() {} }': {
2101
type: 'ExpressionStatement',
2102
expression: {
2103
type: 'AssignmentExpression',
2104
operator: '=',
2105
left: {
2106
type: 'Identifier',
2107
name: 'x',
2108
range: [0, 1],
2109
loc: {
2110
start: { line: 1, column: 0 },
2111
end: { line: 1, column: 1 }
2112
}
2113
},
2114
right: {
2115
type: 'ObjectExpression',
2116
properties: [{
2117
type: 'Property',
2118
key: {
2119
type: 'Literal',
2120
value: 'undef',
2121
raw: '"undef"',
2122
range: [10, 17],
2123
loc: {
2124
start: { line: 1, column: 10 },
2125
end: { line: 1, column: 17 }
2126
}
2127
},
2128
value: {
2129
type: 'FunctionExpression',
2130
id: null,
2131
params: [],
2132
defaults: [],
2133
body: {
2134
type: 'BlockStatement',
2135
body: [],
2136
range: [20, 22],
2137
loc: {
2138
start: { line: 1, column: 20 },
2139
end: { line: 1, column: 22 }
2140
}
2141
},
2142
rest: null,
2143
generator: false,
2144
expression: false,
2145
range: [20, 22],
2146
loc: {
2147
start: { line: 1, column: 20 },
2148
end: { line: 1, column: 22 }
2149
}
2150
},
2151
kind: 'get',
2152
method: false,
2153
shorthand: false,
2154
computed: false,
2155
range: [6, 22],
2156
loc: {
2157
start: { line: 1, column: 6 },
2158
end: { line: 1, column: 22 }
2159
}
2160
}],
2161
range: [4, 24],
2162
loc: {
2163
start: { line: 1, column: 4 },
2164
end: { line: 1, column: 24 }
2165
}
2166
},
2167
range: [0, 24],
2168
loc: {
2169
start: { line: 1, column: 0 },
2170
end: { line: 1, column: 24 }
2171
}
2172
},
2173
range: [0, 24],
2174
loc: {
2175
start: { line: 1, column: 0 },
2176
end: { line: 1, column: 24 }
2177
}
2178
},
2179
2180
'x = { get 10() {} }': {
2181
type: 'ExpressionStatement',
2182
expression: {
2183
type: 'AssignmentExpression',
2184
operator: '=',
2185
left: {
2186
type: 'Identifier',
2187
name: 'x',
2188
range: [0, 1],
2189
loc: {
2190
start: { line: 1, column: 0 },
2191
end: { line: 1, column: 1 }
2192
}
2193
},
2194
right: {
2195
type: 'ObjectExpression',
2196
properties: [{
2197
type: 'Property',
2198
key: {
2199
type: 'Literal',
2200
value: 10,
2201
raw: '10',
2202
range: [10, 12],
2203
loc: {
2204
start: { line: 1, column: 10 },
2205
end: { line: 1, column: 12 }
2206
}
2207
},
2208
value: {
2209
type: 'FunctionExpression',
2210
id: null,
2211
params: [],
2212
defaults: [],
2213
body: {
2214
type: 'BlockStatement',
2215
body: [],
2216
range: [15, 17],
2217
loc: {
2218
start: { line: 1, column: 15 },
2219
end: { line: 1, column: 17 }
2220
}
2221
},
2222
rest: null,
2223
generator: false,
2224
expression: false,
2225
range: [15, 17],
2226
loc: {
2227
start: { line: 1, column: 15 },
2228
end: { line: 1, column: 17 }
2229
}
2230
},
2231
kind: 'get',
2232
method: false,
2233
shorthand: false,
2234
computed: false,
2235
range: [6, 17],
2236
loc: {
2237
start: { line: 1, column: 6 },
2238
end: { line: 1, column: 17 }
2239
}
2240
}],
2241
range: [4, 19],
2242
loc: {
2243
start: { line: 1, column: 4 },
2244
end: { line: 1, column: 19 }
2245
}
2246
},
2247
range: [0, 19],
2248
loc: {
2249
start: { line: 1, column: 0 },
2250
end: { line: 1, column: 19 }
2251
}
2252
},
2253
range: [0, 19],
2254
loc: {
2255
start: { line: 1, column: 0 },
2256
end: { line: 1, column: 19 }
2257
}
2258
},
2259
2260
'x = { set width(w) { m_width = w } }': {
2261
type: 'ExpressionStatement',
2262
expression: {
2263
type: 'AssignmentExpression',
2264
operator: '=',
2265
left: {
2266
type: 'Identifier',
2267
name: 'x',
2268
range: [0, 1],
2269
loc: {
2270
start: { line: 1, column: 0 },
2271
end: { line: 1, column: 1 }
2272
}
2273
},
2274
right: {
2275
type: 'ObjectExpression',
2276
properties: [{
2277
type: 'Property',
2278
key: {
2279
type: 'Identifier',
2280
name: 'width',
2281
range: [10, 15],
2282
loc: {
2283
start: { line: 1, column: 10 },
2284
end: { line: 1, column: 15 }
2285
}
2286
},
2287
value: {
2288
type: 'FunctionExpression',
2289
id: null,
2290
params: [{
2291
type: 'Identifier',
2292
name: 'w',
2293
range: [16, 17],
2294
loc: {
2295
start: { line: 1, column: 16 },
2296
end: { line: 1, column: 17 }
2297
}
2298
}],
2299
defaults: [],
2300
body: {
2301
type: 'BlockStatement',
2302
body: [{
2303
type: 'ExpressionStatement',
2304
expression: {
2305
type: 'AssignmentExpression',
2306
operator: '=',
2307
left: {
2308
type: 'Identifier',
2309
name: 'm_width',
2310
range: [21, 28],
2311
loc: {
2312
start: { line: 1, column: 21 },
2313
end: { line: 1, column: 28 }
2314
}
2315
},
2316
right: {
2317
type: 'Identifier',
2318
name: 'w',
2319
range: [31, 32],
2320
loc: {
2321
start: { line: 1, column: 31 },
2322
end: { line: 1, column: 32 }
2323
}
2324
},
2325
range: [21, 32],
2326
loc: {
2327
start: { line: 1, column: 21 },
2328
end: { line: 1, column: 32 }
2329
}
2330
},
2331
range: [21, 33],
2332
loc: {
2333
start: { line: 1, column: 21 },
2334
end: { line: 1, column: 33 }
2335
}
2336
}],
2337
range: [19, 34],
2338
loc: {
2339
start: { line: 1, column: 19 },
2340
end: { line: 1, column: 34 }
2341
}
2342
},
2343
rest: null,
2344
generator: false,
2345
expression: false,
2346
range: [19, 34],
2347
loc: {
2348
start: { line: 1, column: 19 },
2349
end: { line: 1, column: 34 }
2350
}
2351
},
2352
kind: 'set',
2353
method: false,
2354
shorthand: false,
2355
computed: false,
2356
range: [6, 34],
2357
loc: {
2358
start: { line: 1, column: 6 },
2359
end: { line: 1, column: 34 }
2360
}
2361
}],
2362
range: [4, 36],
2363
loc: {
2364
start: { line: 1, column: 4 },
2365
end: { line: 1, column: 36 }
2366
}
2367
},
2368
range: [0, 36],
2369
loc: {
2370
start: { line: 1, column: 0 },
2371
end: { line: 1, column: 36 }
2372
}
2373
},
2374
range: [0, 36],
2375
loc: {
2376
start: { line: 1, column: 0 },
2377
end: { line: 1, column: 36 }
2378
}
2379
},
2380
2381
'x = { set if(w) { m_if = w } }': {
2382
type: 'ExpressionStatement',
2383
expression: {
2384
type: 'AssignmentExpression',
2385
operator: '=',
2386
left: {
2387
type: 'Identifier',
2388
name: 'x',
2389
range: [0, 1],
2390
loc: {
2391
start: { line: 1, column: 0 },
2392
end: { line: 1, column: 1 }
2393
}
2394
},
2395
right: {
2396
type: 'ObjectExpression',
2397
properties: [{
2398
type: 'Property',
2399
key: {
2400
type: 'Identifier',
2401
name: 'if',
2402
range: [10, 12],
2403
loc: {
2404
start: { line: 1, column: 10 },
2405
end: { line: 1, column: 12 }
2406
}
2407
},
2408
value: {
2409
type: 'FunctionExpression',
2410
id: null,
2411
params: [{
2412
type: 'Identifier',
2413
name: 'w',
2414
range: [13, 14],
2415
loc: {
2416
start: { line: 1, column: 13 },
2417
end: { line: 1, column: 14 }
2418
}
2419
}],
2420
defaults: [],
2421
body: {
2422
type: 'BlockStatement',
2423
body: [{
2424
type: 'ExpressionStatement',
2425
expression: {
2426
type: 'AssignmentExpression',
2427
operator: '=',
2428
left: {
2429
type: 'Identifier',
2430
name: 'm_if',
2431
range: [18, 22],
2432
loc: {
2433
start: { line: 1, column: 18 },
2434
end: { line: 1, column: 22 }
2435
}
2436
},
2437
right: {
2438
type: 'Identifier',
2439
name: 'w',
2440
range: [25, 26],
2441
loc: {
2442
start: { line: 1, column: 25 },
2443
end: { line: 1, column: 26 }
2444
}
2445
},
2446
range: [18, 26],
2447
loc: {
2448
start: { line: 1, column: 18 },
2449
end: { line: 1, column: 26 }
2450
}
2451
},
2452
range: [18, 27],
2453
loc: {
2454
start: { line: 1, column: 18 },
2455
end: { line: 1, column: 27 }
2456
}
2457
}],
2458
range: [16, 28],
2459
loc: {
2460
start: { line: 1, column: 16 },
2461
end: { line: 1, column: 28 }
2462
}
2463
},
2464
rest: null,
2465
generator: false,
2466
expression: false,
2467
range: [16, 28],
2468
loc: {
2469
start: { line: 1, column: 16 },
2470
end: { line: 1, column: 28 }
2471
}
2472
},
2473
kind: 'set',
2474
method: false,
2475
shorthand: false,
2476
computed: false,
2477
range: [6, 28],
2478
loc: {
2479
start: { line: 1, column: 6 },
2480
end: { line: 1, column: 28 }
2481
}
2482
}],
2483
range: [4, 30],
2484
loc: {
2485
start: { line: 1, column: 4 },
2486
end: { line: 1, column: 30 }
2487
}
2488
},
2489
range: [0, 30],
2490
loc: {
2491
start: { line: 1, column: 0 },
2492
end: { line: 1, column: 30 }
2493
}
2494
},
2495
range: [0, 30],
2496
loc: {
2497
start: { line: 1, column: 0 },
2498
end: { line: 1, column: 30 }
2499
}
2500
},
2501
2502
'x = { set true(w) { m_true = w } }': {
2503
type: 'ExpressionStatement',
2504
expression: {
2505
type: 'AssignmentExpression',
2506
operator: '=',
2507
left: {
2508
type: 'Identifier',
2509
name: 'x',
2510
range: [0, 1],
2511
loc: {
2512
start: { line: 1, column: 0 },
2513
end: { line: 1, column: 1 }
2514
}
2515
},
2516
right: {
2517
type: 'ObjectExpression',
2518
properties: [{
2519
type: 'Property',
2520
key: {
2521
type: 'Identifier',
2522
name: 'true',
2523
range: [10, 14],
2524
loc: {
2525
start: { line: 1, column: 10 },
2526
end: { line: 1, column: 14 }
2527
}
2528
},
2529
value: {
2530
type: 'FunctionExpression',
2531
id: null,
2532
params: [{
2533
type: 'Identifier',
2534
name: 'w',
2535
range: [15, 16],
2536
loc: {
2537
start: { line: 1, column: 15 },
2538
end: { line: 1, column: 16 }
2539
}
2540
}],
2541
defaults: [],
2542
body: {
2543
type: 'BlockStatement',
2544
body: [{
2545
type: 'ExpressionStatement',
2546
expression: {
2547
type: 'AssignmentExpression',
2548
operator: '=',
2549
left: {
2550
type: 'Identifier',
2551
name: 'm_true',
2552
range: [20, 26],
2553
loc: {
2554
start: { line: 1, column: 20 },
2555
end: { line: 1, column: 26 }
2556
}
2557
},
2558
right: {
2559
type: 'Identifier',
2560
name: 'w',
2561
range: [29, 30],
2562
loc: {
2563
start: { line: 1, column: 29 },
2564
end: { line: 1, column: 30 }
2565
}
2566
},
2567
range: [20, 30],
2568
loc: {
2569
start: { line: 1, column: 20 },
2570
end: { line: 1, column: 30 }
2571
}
2572
},
2573
range: [20, 31],
2574
loc: {
2575
start: { line: 1, column: 20 },
2576
end: { line: 1, column: 31 }
2577
}
2578
}],
2579
range: [18, 32],
2580
loc: {
2581
start: { line: 1, column: 18 },
2582
end: { line: 1, column: 32 }
2583
}
2584
},
2585
rest: null,
2586
generator: false,
2587
expression: false,
2588
range: [18, 32],
2589
loc: {
2590
start: { line: 1, column: 18 },
2591
end: { line: 1, column: 32 }
2592
}
2593
},
2594
kind: 'set',
2595
method: false,
2596
shorthand: false,
2597
computed: false,
2598
range: [6, 32],
2599
loc: {
2600
start: { line: 1, column: 6 },
2601
end: { line: 1, column: 32 }
2602
}
2603
}],
2604
range: [4, 34],
2605
loc: {
2606
start: { line: 1, column: 4 },
2607
end: { line: 1, column: 34 }
2608
}
2609
},
2610
range: [0, 34],
2611
loc: {
2612
start: { line: 1, column: 0 },
2613
end: { line: 1, column: 34 }
2614
}
2615
},
2616
range: [0, 34],
2617
loc: {
2618
start: { line: 1, column: 0 },
2619
end: { line: 1, column: 34 }
2620
}
2621
},
2622
2623
'x = { set false(w) { m_false = w } }': {
2624
type: 'ExpressionStatement',
2625
expression: {
2626
type: 'AssignmentExpression',
2627
operator: '=',
2628
left: {
2629
type: 'Identifier',
2630
name: 'x',
2631
range: [0, 1],
2632
loc: {
2633
start: { line: 1, column: 0 },
2634
end: { line: 1, column: 1 }
2635
}
2636
},
2637
right: {
2638
type: 'ObjectExpression',
2639
properties: [{
2640
type: 'Property',
2641
key: {
2642
type: 'Identifier',
2643
name: 'false',
2644
range: [10, 15],
2645
loc: {
2646
start: { line: 1, column: 10 },
2647
end: { line: 1, column: 15 }
2648
}
2649
},
2650
value: {
2651
type: 'FunctionExpression',
2652
id: null,
2653
params: [{
2654
type: 'Identifier',
2655
name: 'w',
2656
range: [16, 17],
2657
loc: {
2658
start: { line: 1, column: 16 },
2659
end: { line: 1, column: 17 }
2660
}
2661
}],
2662
defaults: [],
2663
body: {
2664
type: 'BlockStatement',
2665
body: [{
2666
type: 'ExpressionStatement',
2667
expression: {
2668
type: 'AssignmentExpression',
2669
operator: '=',
2670
left: {
2671
type: 'Identifier',
2672
name: 'm_false',
2673
range: [21, 28],
2674
loc: {
2675
start: { line: 1, column: 21 },
2676
end: { line: 1, column: 28 }
2677
}
2678
},
2679
right: {
2680
type: 'Identifier',
2681
name: 'w',
2682
range: [31, 32],
2683
loc: {
2684
start: { line: 1, column: 31 },
2685
end: { line: 1, column: 32 }
2686
}
2687
},
2688
range: [21, 32],
2689
loc: {
2690
start: { line: 1, column: 21 },
2691
end: { line: 1, column: 32 }
2692
}
2693
},
2694
range: [21, 33],
2695
loc: {
2696
start: { line: 1, column: 21 },
2697
end: { line: 1, column: 33 }
2698
}
2699
}],
2700
range: [19, 34],
2701
loc: {
2702
start: { line: 1, column: 19 },
2703
end: { line: 1, column: 34 }
2704
}
2705
},
2706
rest: null,
2707
generator: false,
2708
expression: false,
2709
range: [19, 34],
2710
loc: {
2711
start: { line: 1, column: 19 },
2712
end: { line: 1, column: 34 }
2713
}
2714
},
2715
kind: 'set',
2716
method: false,
2717
shorthand: false,
2718
computed: false,
2719
range: [6, 34],
2720
loc: {
2721
start: { line: 1, column: 6 },
2722
end: { line: 1, column: 34 }
2723
}
2724
}],
2725
range: [4, 36],
2726
loc: {
2727
start: { line: 1, column: 4 },
2728
end: { line: 1, column: 36 }
2729
}
2730
},
2731
range: [0, 36],
2732
loc: {
2733
start: { line: 1, column: 0 },
2734
end: { line: 1, column: 36 }
2735
}
2736
},
2737
range: [0, 36],
2738
loc: {
2739
start: { line: 1, column: 0 },
2740
end: { line: 1, column: 36 }
2741
}
2742
},
2743
2744
'x = { set null(w) { m_null = w } }': {
2745
type: 'ExpressionStatement',
2746
expression: {
2747
type: 'AssignmentExpression',
2748
operator: '=',
2749
left: {
2750
type: 'Identifier',
2751
name: 'x',
2752
range: [0, 1],
2753
loc: {
2754
start: { line: 1, column: 0 },
2755
end: { line: 1, column: 1 }
2756
}
2757
},
2758
right: {
2759
type: 'ObjectExpression',
2760
properties: [{
2761
type: 'Property',
2762
key: {
2763
type: 'Identifier',
2764
name: 'null',
2765
range: [10, 14],
2766
loc: {
2767
start: { line: 1, column: 10 },
2768
end: { line: 1, column: 14 }
2769
}
2770
},
2771
value: {
2772
type: 'FunctionExpression',
2773
id: null,
2774
params: [{
2775
type: 'Identifier',
2776
name: 'w',
2777
range: [15, 16],
2778
loc: {
2779
start: { line: 1, column: 15 },
2780
end: { line: 1, column: 16 }
2781
}
2782
}],
2783
defaults: [],
2784
body: {
2785
type: 'BlockStatement',
2786
body: [{
2787
type: 'ExpressionStatement',
2788
expression: {
2789
type: 'AssignmentExpression',
2790
operator: '=',
2791
left: {
2792
type: 'Identifier',
2793
name: 'm_null',
2794
range: [20, 26],
2795
loc: {
2796
start: { line: 1, column: 20 },
2797
end: { line: 1, column: 26 }
2798
}
2799
},
2800
right: {
2801
type: 'Identifier',
2802
name: 'w',
2803
range: [29, 30],
2804
loc: {
2805
start: { line: 1, column: 29 },
2806
end: { line: 1, column: 30 }
2807
}
2808
},
2809
range: [20, 30],
2810
loc: {
2811
start: { line: 1, column: 20 },
2812
end: { line: 1, column: 30 }
2813
}
2814
},
2815
range: [20, 31],
2816
loc: {
2817
start: { line: 1, column: 20 },
2818
end: { line: 1, column: 31 }
2819
}
2820
}],
2821
range: [18, 32],
2822
loc: {
2823
start: { line: 1, column: 18 },
2824
end: { line: 1, column: 32 }
2825
}
2826
},
2827
rest: null,
2828
generator: false,
2829
expression: false,
2830
range: [18, 32],
2831
loc: {
2832
start: { line: 1, column: 18 },
2833
end: { line: 1, column: 32 }
2834
}
2835
},
2836
kind: 'set',
2837
method: false,
2838
shorthand: false,
2839
computed: false,
2840
range: [6, 32],
2841
loc: {
2842
start: { line: 1, column: 6 },
2843
end: { line: 1, column: 32 }
2844
}
2845
}],
2846
range: [4, 34],
2847
loc: {
2848
start: { line: 1, column: 4 },
2849
end: { line: 1, column: 34 }
2850
}
2851
},
2852
range: [0, 34],
2853
loc: {
2854
start: { line: 1, column: 0 },
2855
end: { line: 1, column: 34 }
2856
}
2857
},
2858
range: [0, 34],
2859
loc: {
2860
start: { line: 1, column: 0 },
2861
end: { line: 1, column: 34 }
2862
}
2863
},
2864
2865
'x = { set "null"(w) { m_null = w } }': {
2866
type: 'ExpressionStatement',
2867
expression: {
2868
type: 'AssignmentExpression',
2869
operator: '=',
2870
left: {
2871
type: 'Identifier',
2872
name: 'x',
2873
range: [0, 1],
2874
loc: {
2875
start: { line: 1, column: 0 },
2876
end: { line: 1, column: 1 }
2877
}
2878
},
2879
right: {
2880
type: 'ObjectExpression',
2881
properties: [{
2882
type: 'Property',
2883
key: {
2884
type: 'Literal',
2885
value: 'null',
2886
raw: '"null"',
2887
range: [10, 16],
2888
loc: {
2889
start: { line: 1, column: 10 },
2890
end: { line: 1, column: 16 }
2891
}
2892
},
2893
value: {
2894
type: 'FunctionExpression',
2895
id: null,
2896
params: [{
2897
type: 'Identifier',
2898
name: 'w',
2899
range: [17, 18],
2900
loc: {
2901
start: { line: 1, column: 17 },
2902
end: { line: 1, column: 18 }
2903
}
2904
}],
2905
defaults: [],
2906
body: {
2907
type: 'BlockStatement',
2908
body: [{
2909
type: 'ExpressionStatement',
2910
expression: {
2911
type: 'AssignmentExpression',
2912
operator: '=',
2913
left: {
2914
type: 'Identifier',
2915
name: 'm_null',
2916
range: [22, 28],
2917
loc: {
2918
start: { line: 1, column: 22 },
2919
end: { line: 1, column: 28 }
2920
}
2921
},
2922
right: {
2923
type: 'Identifier',
2924
name: 'w',
2925
range: [31, 32],
2926
loc: {
2927
start: { line: 1, column: 31 },
2928
end: { line: 1, column: 32 }
2929
}
2930
},
2931
range: [22, 32],
2932
loc: {
2933
start: { line: 1, column: 22 },
2934
end: { line: 1, column: 32 }
2935
}
2936
},
2937
range: [22, 33],
2938
loc: {
2939
start: { line: 1, column: 22 },
2940
end: { line: 1, column: 33 }
2941
}
2942
}],
2943
range: [20, 34],
2944
loc: {
2945
start: { line: 1, column: 20 },
2946
end: { line: 1, column: 34 }
2947
}
2948
},
2949
rest: null,
2950
generator: false,
2951
expression: false,
2952
range: [20, 34],
2953
loc: {
2954
start: { line: 1, column: 20 },
2955
end: { line: 1, column: 34 }
2956
}
2957
},
2958
kind: 'set',
2959
method: false,
2960
shorthand: false,
2961
computed: false,
2962
range: [6, 34],
2963
loc: {
2964
start: { line: 1, column: 6 },
2965
end: { line: 1, column: 34 }
2966
}
2967
}],
2968
range: [4, 36],
2969
loc: {
2970
start: { line: 1, column: 4 },
2971
end: { line: 1, column: 36 }
2972
}
2973
},
2974
range: [0, 36],
2975
loc: {
2976
start: { line: 1, column: 0 },
2977
end: { line: 1, column: 36 }
2978
}
2979
},
2980
range: [0, 36],
2981
loc: {
2982
start: { line: 1, column: 0 },
2983
end: { line: 1, column: 36 }
2984
}
2985
},
2986
2987
'x = { set 10(w) { m_null = w } }': {
2988
type: 'ExpressionStatement',
2989
expression: {
2990
type: 'AssignmentExpression',
2991
operator: '=',
2992
left: {
2993
type: 'Identifier',
2994
name: 'x',
2995
range: [0, 1],
2996
loc: {
2997
start: { line: 1, column: 0 },
2998
end: { line: 1, column: 1 }
2999
}
3000
},
3001
right: {
3002
type: 'ObjectExpression',
3003
properties: [{
3004
type: 'Property',
3005
key: {
3006
type: 'Literal',
3007
value: 10,
3008
raw: '10',
3009
range: [10, 12],
3010
loc: {
3011
start: { line: 1, column: 10 },
3012
end: { line: 1, column: 12 }
3013
}
3014
},
3015
value: {
3016
type: 'FunctionExpression',
3017
id: null,
3018
params: [{
3019
type: 'Identifier',
3020
name: 'w',
3021
range: [13, 14],
3022
loc: {
3023
start: { line: 1, column: 13 },
3024
end: { line: 1, column: 14 }
3025
}
3026
}],
3027
defaults: [],
3028
body: {
3029
type: 'BlockStatement',
3030
body: [{
3031
type: 'ExpressionStatement',
3032
expression: {
3033
type: 'AssignmentExpression',
3034
operator: '=',
3035
left: {
3036
type: 'Identifier',
3037
name: 'm_null',
3038
range: [18, 24],
3039
loc: {
3040
start: { line: 1, column: 18 },
3041
end: { line: 1, column: 24 }
3042
}
3043
},
3044
right: {
3045
type: 'Identifier',
3046
name: 'w',
3047
range: [27, 28],
3048
loc: {
3049
start: { line: 1, column: 27 },
3050
end: { line: 1, column: 28 }
3051
}
3052
},
3053
range: [18, 28],
3054
loc: {
3055
start: { line: 1, column: 18 },
3056
end: { line: 1, column: 28 }
3057
}
3058
},
3059
range: [18, 29],
3060
loc: {
3061
start: { line: 1, column: 18 },
3062
end: { line: 1, column: 29 }
3063
}
3064
}],
3065
range: [16, 30],
3066
loc: {
3067
start: { line: 1, column: 16 },
3068
end: { line: 1, column: 30 }
3069
}
3070
},
3071
rest: null,
3072
generator: false,
3073
expression: false,
3074
range: [16, 30],
3075
loc: {
3076
start: { line: 1, column: 16 },
3077
end: { line: 1, column: 30 }
3078
}
3079
},
3080
kind: 'set',
3081
method: false,
3082
shorthand: false,
3083
computed: false,
3084
range: [6, 30],
3085
loc: {
3086
start: { line: 1, column: 6 },
3087
end: { line: 1, column: 30 }
3088
}
3089
}],
3090
range: [4, 32],
3091
loc: {
3092
start: { line: 1, column: 4 },
3093
end: { line: 1, column: 32 }
3094
}
3095
},
3096
range: [0, 32],
3097
loc: {
3098
start: { line: 1, column: 0 },
3099
end: { line: 1, column: 32 }
3100
}
3101
},
3102
range: [0, 32],
3103
loc: {
3104
start: { line: 1, column: 0 },
3105
end: { line: 1, column: 32 }
3106
}
3107
},
3108
3109
'x = { get: 42 }': {
3110
type: 'ExpressionStatement',
3111
expression: {
3112
type: 'AssignmentExpression',
3113
operator: '=',
3114
left: {
3115
type: 'Identifier',
3116
name: 'x',
3117
range: [0, 1],
3118
loc: {
3119
start: { line: 1, column: 0 },
3120
end: { line: 1, column: 1 }
3121
}
3122
},
3123
right: {
3124
type: 'ObjectExpression',
3125
properties: [{
3126
type: 'Property',
3127
key: {
3128
type: 'Identifier',
3129
name: 'get',
3130
range: [6, 9],
3131
loc: {
3132
start: { line: 1, column: 6 },
3133
end: { line: 1, column: 9 }
3134
}
3135
},
3136
value: {
3137
type: 'Literal',
3138
value: 42,
3139
raw: '42',
3140
range: [11, 13],
3141
loc: {
3142
start: { line: 1, column: 11 },
3143
end: { line: 1, column: 13 }
3144
}
3145
},
3146
kind: 'init',
3147
method: false,
3148
shorthand: false,
3149
computed: false,
3150
range: [6, 13],
3151
loc: {
3152
start: { line: 1, column: 6 },
3153
end: { line: 1, column: 13 }
3154
}
3155
}],
3156
range: [4, 15],
3157
loc: {
3158
start: { line: 1, column: 4 },
3159
end: { line: 1, column: 15 }
3160
}
3161
},
3162
range: [0, 15],
3163
loc: {
3164
start: { line: 1, column: 0 },
3165
end: { line: 1, column: 15 }
3166
}
3167
},
3168
range: [0, 15],
3169
loc: {
3170
start: { line: 1, column: 0 },
3171
end: { line: 1, column: 15 }
3172
}
3173
},
3174
3175
'x = { set: 43 }': {
3176
type: 'ExpressionStatement',
3177
expression: {
3178
type: 'AssignmentExpression',
3179
operator: '=',
3180
left: {
3181
type: 'Identifier',
3182
name: 'x',
3183
range: [0, 1],
3184
loc: {
3185
start: { line: 1, column: 0 },
3186
end: { line: 1, column: 1 }
3187
}
3188
},
3189
right: {
3190
type: 'ObjectExpression',
3191
properties: [{
3192
type: 'Property',
3193
key: {
3194
type: 'Identifier',
3195
name: 'set',
3196
range: [6, 9],
3197
loc: {
3198
start: { line: 1, column: 6 },
3199
end: { line: 1, column: 9 }
3200
}
3201
},
3202
value: {
3203
type: 'Literal',
3204
value: 43,
3205
raw: '43',
3206
range: [11, 13],
3207
loc: {
3208
start: { line: 1, column: 11 },
3209
end: { line: 1, column: 13 }
3210
}
3211
},
3212
kind: 'init',
3213
method: false,
3214
shorthand: false,
3215
computed: false,
3216
range: [6, 13],
3217
loc: {
3218
start: { line: 1, column: 6 },
3219
end: { line: 1, column: 13 }
3220
}
3221
}],
3222
range: [4, 15],
3223
loc: {
3224
start: { line: 1, column: 4 },
3225
end: { line: 1, column: 15 }
3226
}
3227
},
3228
range: [0, 15],
3229
loc: {
3230
start: { line: 1, column: 0 },
3231
end: { line: 1, column: 15 }
3232
}
3233
},
3234
range: [0, 15],
3235
loc: {
3236
start: { line: 1, column: 0 },
3237
end: { line: 1, column: 15 }
3238
}
3239
},
3240
3241
'x = { __proto__: 2 }': {
3242
type: 'ExpressionStatement',
3243
expression: {
3244
type: 'AssignmentExpression',
3245
operator: '=',
3246
left: {
3247
type: 'Identifier',
3248
name: 'x',
3249
range: [0, 1],
3250
loc: {
3251
start: { line: 1, column: 0 },
3252
end: { line: 1, column: 1 }
3253
}
3254
},
3255
right: {
3256
type: 'ObjectExpression',
3257
properties: [{
3258
type: 'Property',
3259
key: {
3260
type: 'Identifier',
3261
name: '__proto__',
3262
range: [6, 15],
3263
loc: {
3264
start: { line: 1, column: 6 },
3265
end: { line: 1, column: 15 }
3266
}
3267
},
3268
value: {
3269
type: 'Literal',
3270
value: 2,
3271
raw: '2',
3272
range: [17, 18],
3273
loc: {
3274
start: { line: 1, column: 17 },
3275
end: { line: 1, column: 18 }
3276
}
3277
},
3278
kind: 'init',
3279
method: false,
3280
shorthand: false,
3281
computed: false,
3282
range: [6, 18],
3283
loc: {
3284
start: { line: 1, column: 6 },
3285
end: { line: 1, column: 18 }
3286
}
3287
}],
3288
range: [4, 20],
3289
loc: {
3290
start: { line: 1, column: 4 },
3291
end: { line: 1, column: 20 }
3292
}
3293
},
3294
range: [0, 20],
3295
loc: {
3296
start: { line: 1, column: 0 },
3297
end: { line: 1, column: 20 }
3298
}
3299
},
3300
range: [0, 20],
3301
loc: {
3302
start: { line: 1, column: 0 },
3303
end: { line: 1, column: 20 }
3304
}
3305
},
3306
3307
'x = {"__proto__": 2 }': {
3308
type: 'ExpressionStatement',
3309
expression: {
3310
type: 'AssignmentExpression',
3311
operator: '=',
3312
left: {
3313
type: 'Identifier',
3314
name: 'x',
3315
range: [0, 1],
3316
loc: {
3317
start: { line: 1, column: 0 },
3318
end: { line: 1, column: 1 }
3319
}
3320
},
3321
right: {
3322
type: 'ObjectExpression',
3323
properties: [{
3324
type: 'Property',
3325
key: {
3326
type: 'Literal',
3327
value: '__proto__',
3328
raw: '"__proto__"',
3329
range: [5, 16],
3330
loc: {
3331
start: { line: 1, column: 5 },
3332
end: { line: 1, column: 16 }
3333
}
3334
},
3335
value: {
3336
type: 'Literal',
3337
value: 2,
3338
raw: '2',
3339
range: [18, 19],
3340
loc: {
3341
start: { line: 1, column: 18 },
3342
end: { line: 1, column: 19 }
3343
}
3344
},
3345
kind: 'init',
3346
method: false,
3347
shorthand: false,
3348
computed: false,
3349
range: [5, 19],
3350
loc: {
3351
start: { line: 1, column: 5 },
3352
end: { line: 1, column: 19 }
3353
}
3354
}],
3355
range: [4, 21],
3356
loc: {
3357
start: { line: 1, column: 4 },
3358
end: { line: 1, column: 21 }
3359
}
3360
},
3361
range: [0, 21],
3362
loc: {
3363
start: { line: 1, column: 0 },
3364
end: { line: 1, column: 21 }
3365
}
3366
},
3367
range: [0, 21],
3368
loc: {
3369
start: { line: 1, column: 0 },
3370
end: { line: 1, column: 21 }
3371
}
3372
},
3373
3374
'x = { get width() { return m_width }, set width(width) { m_width = width; } }': {
3375
type: 'ExpressionStatement',
3376
expression: {
3377
type: 'AssignmentExpression',
3378
operator: '=',
3379
left: {
3380
type: 'Identifier',
3381
name: 'x',
3382
range: [0, 1],
3383
loc: {
3384
start: { line: 1, column: 0 },
3385
end: { line: 1, column: 1 }
3386
}
3387
},
3388
right: {
3389
type: 'ObjectExpression',
3390
properties: [{
3391
type: 'Property',
3392
key: {
3393
type: 'Identifier',
3394
name: 'width',
3395
range: [10, 15],
3396
loc: {
3397
start: { line: 1, column: 10 },
3398
end: { line: 1, column: 15 }
3399
}
3400
},
3401
value: {
3402
type: 'FunctionExpression',
3403
id: null,
3404
params: [],
3405
defaults: [],
3406
body: {
3407
type: 'BlockStatement',
3408
body: [{
3409
type: 'ReturnStatement',
3410
argument: {
3411
type: 'Identifier',
3412
name: 'm_width',
3413
range: [27, 34],
3414
loc: {
3415
start: { line: 1, column: 27 },
3416
end: { line: 1, column: 34 }
3417
}
3418
},
3419
range: [20, 35],
3420
loc: {
3421
start: { line: 1, column: 20 },
3422
end: { line: 1, column: 35 }
3423
}
3424
}],
3425
range: [18, 36],
3426
loc: {
3427
start: { line: 1, column: 18 },
3428
end: { line: 1, column: 36 }
3429
}
3430
},
3431
rest: null,
3432
generator: false,
3433
expression: false,
3434
range: [18, 36],
3435
loc: {
3436
start: { line: 1, column: 18 },
3437
end: { line: 1, column: 36 }
3438
}
3439
},
3440
kind: 'get',
3441
method: false,
3442
shorthand: false,
3443
computed: false,
3444
range: [6, 36],
3445
loc: {
3446
start: { line: 1, column: 6 },
3447
end: { line: 1, column: 36 }
3448
}
3449
}, {
3450
type: 'Property',
3451
key: {
3452
type: 'Identifier',
3453
name: 'width',
3454
range: [42, 47],
3455
loc: {
3456
start: { line: 1, column: 42 },
3457
end: { line: 1, column: 47 }
3458
}
3459
},
3460
value: {
3461
type: 'FunctionExpression',
3462
id: null,
3463
params: [{
3464
type: 'Identifier',
3465
name: 'width',
3466
range: [48, 53],
3467
loc: {
3468
start: { line: 1, column: 48 },
3469
end: { line: 1, column: 53 }
3470
}
3471
}],
3472
defaults: [],
3473
body: {
3474
type: 'BlockStatement',
3475
body: [{
3476
type: 'ExpressionStatement',
3477
expression: {
3478
type: 'AssignmentExpression',
3479
operator: '=',
3480
left: {
3481
type: 'Identifier',
3482
name: 'm_width',
3483
range: [57, 64],
3484
loc: {
3485
start: { line: 1, column: 57 },
3486
end: { line: 1, column: 64 }
3487
}
3488
},
3489
right: {
3490
type: 'Identifier',
3491
name: 'width',
3492
range: [67, 72],
3493
loc: {
3494
start: { line: 1, column: 67 },
3495
end: { line: 1, column: 72 }
3496
}
3497
},
3498
range: [57, 72],
3499
loc: {
3500
start: { line: 1, column: 57 },
3501
end: { line: 1, column: 72 }
3502
}
3503
},
3504
range: [57, 73],
3505
loc: {
3506
start: { line: 1, column: 57 },
3507
end: { line: 1, column: 73 }
3508
}
3509
}],
3510
range: [55, 75],
3511
loc: {
3512
start: { line: 1, column: 55 },
3513
end: { line: 1, column: 75 }
3514
}
3515
},
3516
rest: null,
3517
generator: false,
3518
expression: false,
3519
range: [55, 75],
3520
loc: {
3521
start: { line: 1, column: 55 },
3522
end: { line: 1, column: 75 }
3523
}
3524
},
3525
kind: 'set',
3526
method: false,
3527
shorthand: false,
3528
computed: false,
3529
range: [38, 75],
3530
loc: {
3531
start: { line: 1, column: 38 },
3532
end: { line: 1, column: 75 }
3533
}
3534
}],
3535
range: [4, 77],
3536
loc: {
3537
start: { line: 1, column: 4 },
3538
end: { line: 1, column: 77 }
3539
}
3540
},
3541
range: [0, 77],
3542
loc: {
3543
start: { line: 1, column: 0 },
3544
end: { line: 1, column: 77 }
3545
}
3546
},
3547
range: [0, 77],
3548
loc: {
3549
start: { line: 1, column: 0 },
3550
end: { line: 1, column: 77 }
3551
}
3552
}
3553
3554
3555
},
3556
3557
'Comments': {
3558
3559
'/* block comment */ 42': {
3560
type: 'ExpressionStatement',
3561
expression: {
3562
type: 'Literal',
3563
value: 42,
3564
raw: '42',
3565
range: [20, 22],
3566
loc: {
3567
start: { line: 1, column: 20 },
3568
end: { line: 1, column: 22 }
3569
}
3570
},
3571
range: [20, 22],
3572
loc: {
3573
start: { line: 1, column: 20 },
3574
end: { line: 1, column: 22 }
3575
}
3576
},
3577
3578
'42 /*The*/ /*Answer*/': {
3579
type: 'Program',
3580
body: [{
3581
type: 'ExpressionStatement',
3582
expression: {
3583
type: 'Literal',
3584
value: 42,
3585
raw: '42',
3586
range: [0, 2],
3587
loc: {
3588
start: { line: 1, column: 0 },
3589
end: { line: 1, column: 2 }
3590
},
3591
trailingComments: [{
3592
type: 'Block',
3593
value: 'The',
3594
range: [3, 10],
3595
loc: {
3596
start: { line: 1, column: 3 },
3597
end: { line: 1, column: 10 }
3598
}
3599
}, {
3600
type: 'Block',
3601
value: 'Answer',
3602
range: [11, 21],
3603
loc: {
3604
start: { line: 1, column: 11 },
3605
end: { line: 1, column: 21 }
3606
}
3607
}]
3608
},
3609
range: [0, 21],
3610
loc: {
3611
start: { line: 1, column: 0 },
3612
end: { line: 1, column: 21 }
3613
}
3614
}],
3615
range: [0, 21],
3616
loc: {
3617
start: { line: 1, column: 0 },
3618
end: { line: 1, column: 21 }
3619
},
3620
comments: [{
3621
type: 'Block',
3622
value: 'The',
3623
range: [3, 10],
3624
loc: {
3625
start: { line: 1, column: 3 },
3626
end: { line: 1, column: 10 }
3627
}
3628
}, {
3629
type: 'Block',
3630
value: 'Answer',
3631
range: [11, 21],
3632
loc: {
3633
start: { line: 1, column: 11 },
3634
end: { line: 1, column: 21 }
3635
}
3636
}]
3637
},
3638
3639
'42 /*the*/ /*answer*/': {
3640
type: 'Program',
3641
body: [{
3642
type: 'ExpressionStatement',
3643
expression: {
3644
type: 'Literal',
3645
value: 42,
3646
raw: '42',
3647
range: [0, 2],
3648
trailingComments: [{
3649
type: 'Block',
3650
value: 'the',
3651
range: [3, 10]
3652
}, {
3653
type: 'Block',
3654
value: 'answer',
3655
range: [11, 21]
3656
}]
3657
},
3658
range: [0, 21]
3659
}],
3660
range: [0, 21],
3661
comments: [{
3662
type: 'Block',
3663
value: 'the',
3664
range: [3, 10]
3665
}, {
3666
type: 'Block',
3667
value: 'answer',
3668
range: [11, 21]
3669
}]
3670
},
3671
3672
'42 /* the * answer */': {
3673
type: 'ExpressionStatement',
3674
expression: {
3675
type: 'Literal',
3676
value: 42,
3677
raw: '42',
3678
range: [0, 2],
3679
loc: {
3680
start: { line: 1, column: 0 },
3681
end: { line: 1, column: 2 }
3682
}
3683
},
3684
range: [0, 21],
3685
loc: {
3686
start: { line: 1, column: 0 },
3687
end: { line: 1, column: 21 }
3688
}
3689
},
3690
3691
'42 /* The * answer */': {
3692
type: 'Program',
3693
body: [{
3694
type: 'ExpressionStatement',
3695
expression: {
3696
type: 'Literal',
3697
value: 42,
3698
raw: '42',
3699
range: [0, 2],
3700
loc: {
3701
start: { line: 1, column: 0 },
3702
end: { line: 1, column: 2 }
3703
},
3704
trailingComments: [{
3705
type: 'Block',
3706
value: ' The * answer ',
3707
range: [3, 21],
3708
loc: {
3709
start: { line: 1, column: 3 },
3710
end: { line: 1, column: 21 }
3711
}
3712
}]
3713
},
3714
range: [0, 21],
3715
loc: {
3716
start: { line: 1, column: 0 },
3717
end: { line: 1, column: 21 }
3718
}
3719
}],
3720
range: [0, 21],
3721
loc: {
3722
start: { line: 1, column: 0 },
3723
end: { line: 1, column: 21 }
3724
},
3725
comments: [{
3726
type: 'Block',
3727
value: ' The * answer ',
3728
range: [3, 21],
3729
loc: {
3730
start: { line: 1, column: 3 },
3731
end: { line: 1, column: 21 }
3732
}
3733
}]
3734
},
3735
3736
'/* multiline\ncomment\nshould\nbe\nignored */ 42': {
3737
type: 'ExpressionStatement',
3738
expression: {
3739
type: 'Literal',
3740
value: 42,
3741
raw: '42',
3742
range: [42, 44],
3743
loc: {
3744
start: { line: 5, column: 11 },
3745
end: { line: 5, column: 13 }
3746
}
3747
},
3748
range: [42, 44],
3749
loc: {
3750
start: { line: 5, column: 11 },
3751
end: { line: 5, column: 13 }
3752
}
3753
},
3754
3755
'function foo(){}\n//comment\nfunction bar(){}': {
3756
type: "Program",
3757
body: [{
3758
type: "FunctionDeclaration",
3759
id: {
3760
type: "Identifier",
3761
name: "foo",
3762
range: [9, 12]
3763
},
3764
params: [],
3765
defaults: [],
3766
body: {
3767
type: "BlockStatement",
3768
body: [],
3769
range: [14, 16]
3770
},
3771
rest: null,
3772
generator: false,
3773
expression: false,
3774
range: [0, 16],
3775
trailingComments: [{
3776
type: "Line",
3777
value: "comment",
3778
range: [17, 26]
3779
}]
3780
}, {
3781
type: "FunctionDeclaration",
3782
id: {
3783
type: "Identifier",
3784
name: "bar",
3785
range: [36, 39]
3786
},
3787
params: [],
3788
defaults: [],
3789
body: {
3790
type: "BlockStatement",
3791
body: [],
3792
range: [41, 43]
3793
},
3794
rest: null,
3795
generator: false,
3796
expression: false,
3797
range: [27, 43],
3798
leadingComments: [{
3799
type: "Line",
3800
value: "comment",
3801
range: [17, 26]
3802
}]
3803
}],
3804
range: [0, 43],
3805
comments: [{
3806
type: "Line",
3807
value: "comment",
3808
range: [17, 26]
3809
}]
3810
},
3811
3812
'/*a\r\nb*/ 42': {
3813
type: 'Program',
3814
body: [{
3815
type: 'ExpressionStatement',
3816
expression: {
3817
type: 'Literal',
3818
value: 42,
3819
raw: '42',
3820
range: [9, 11],
3821
loc: {
3822
start: { line: 2, column: 4 },
3823
end: { line: 2, column: 6 }
3824
}
3825
},
3826
range: [9, 11],
3827
loc: {
3828
start: { line: 2, column: 4 },
3829
end: { line: 2, column: 6 }
3830
},
3831
leadingComments: [{
3832
type: 'Block',
3833
value: 'a\r\nb',
3834
range: [0, 8],
3835
loc: {
3836
start: { line: 1, column: 0 },
3837
end: { line: 2, column: 3 }
3838
}
3839
}]
3840
}],
3841
range: [9, 11],
3842
loc: {
3843
start: { line: 2, column: 4 },
3844
end: { line: 2, column: 6 }
3845
},
3846
comments: [{
3847
type: 'Block',
3848
value: 'a\r\nb',
3849
range: [0, 8],
3850
loc: {
3851
start: { line: 1, column: 0 },
3852
end: { line: 2, column: 3 }
3853
}
3854
}]
3855
},
3856
3857
'/*a\rb*/ 42': {
3858
type: 'Program',
3859
body: [{
3860
type: 'ExpressionStatement',
3861
expression: {
3862
type: 'Literal',
3863
value: 42,
3864
raw: '42',
3865
range: [8, 10],
3866
loc: {
3867
start: { line: 1, column: 8 },
3868
end: { line: 1, column: 10 }
3869
}
3870
},
3871
range: [8, 10],
3872
loc: {
3873
start: { line: 1, column: 8 },
3874
end: { line: 1, column: 10 }
3875
},
3876
leadingComments: [{
3877
type: 'Block',
3878
value: 'a\rb',
3879
range: [0, 7],
3880
loc: {
3881
start: { line: 1, column: 0 },
3882
end: { line: 1, column: 7 }
3883
}
3884
}]
3885
}],
3886
range: [8, 10],
3887
loc: {
3888
start: { line: 1, column: 8 },
3889
end: { line: 1, column: 10 }
3890
},
3891
comments: [{
3892
type: 'Block',
3893
value: 'a\rb',
3894
range: [0, 7],
3895
loc: {
3896
start: { line: 1, column: 0 },
3897
end: { line: 1, column: 7 }
3898
}
3899
}]
3900
},
3901
3902
'/*a\nb*/ 42': {
3903
type: 'Program',
3904
body: [{
3905
type: 'ExpressionStatement',
3906
expression: {
3907
type: 'Literal',
3908
value: 42,
3909
raw: '42',
3910
range: [8, 10],
3911
loc: {
3912
start: { line: 2, column: 4 },
3913
end: { line: 2, column: 6 }
3914
}
3915
},
3916
range: [8, 10],
3917
loc: {
3918
start: { line: 2, column: 4 },
3919
end: { line: 2, column: 6 }
3920
},
3921
leadingComments: [{
3922
type: 'Block',
3923
value: 'a\nb',
3924
range: [0, 7],
3925
loc: {
3926
start: { line: 1, column: 0 },
3927
end: { line: 2, column: 3 }
3928
}
3929
}]
3930
}],
3931
range: [8, 10],
3932
loc: {
3933
start: { line: 2, column: 4 },
3934
end: { line: 2, column: 6 }
3935
},
3936
comments: [{
3937
type: 'Block',
3938
value: 'a\nb',
3939
range: [0, 7],
3940
loc: {
3941
start: { line: 1, column: 0 },
3942
end: { line: 2, column: 3 }
3943
}
3944
}]
3945
},
3946
3947
'/*a\nc*/ 42': {
3948
type: 'Program',
3949
body: [{
3950
type: 'ExpressionStatement',
3951
expression: {
3952
type: 'Literal',
3953
value: 42,
3954
raw: '42',
3955
range: [8, 10],
3956
loc: {
3957
start: { line: 2, column: 4 },
3958
end: { line: 2, column: 6 }
3959
}
3960
},
3961
range: [8, 10],
3962
loc: {
3963
start: { line: 2, column: 4 },
3964
end: { line: 2, column: 6 }
3965
},
3966
leadingComments: [{
3967
type: 'Block',
3968
value: 'a\nc',
3969
range: [0, 7],
3970
loc: {
3971
start: { line: 1, column: 0 },
3972
end: { line: 2, column: 3 }
3973
}
3974
}]
3975
}],
3976
range: [8, 10],
3977
loc: {
3978
start: { line: 2, column: 4 },
3979
end: { line: 2, column: 6 }
3980
},
3981
comments: [{
3982
type: 'Block',
3983
value: 'a\nc',
3984
range: [0, 7],
3985
loc: {
3986
start: { line: 1, column: 0 },
3987
end: { line: 2, column: 3 }
3988
}
3989
}]
3990
},
3991
3992
'// line comment\n42': {
3993
type: 'ExpressionStatement',
3994
expression: {
3995
type: 'Literal',
3996
value: 42,
3997
raw: '42',
3998
range: [16, 18],
3999
loc: {
4000
start: { line: 2, column: 0 },
4001
end: { line: 2, column: 2 }
4002
}
4003
},
4004
range: [16, 18],
4005
loc: {
4006
start: { line: 2, column: 0 },
4007
end: { line: 2, column: 2 }
4008
}
4009
},
4010
4011
'42 // line comment': {
4012
type: 'Program',
4013
body: [{
4014
type: 'ExpressionStatement',
4015
expression: {
4016
type: 'Literal',
4017
value: 42,
4018
raw: '42',
4019
range: [0, 2],
4020
loc: {
4021
start: { line: 1, column: 0 },
4022
end: { line: 1, column: 2 }
4023
},
4024
trailingComments: [{
4025
type: 'Line',
4026
value: ' line comment',
4027
range: [3, 18],
4028
loc: {
4029
start: { line: 1, column: 3 },
4030
end: { line: 1, column: 18 }
4031
}
4032
}]
4033
},
4034
range: [0, 18],
4035
loc: {
4036
start: { line: 1, column: 0 },
4037
end: { line: 1, column: 18 }
4038
}
4039
}],
4040
range: [0, 18],
4041
loc: {
4042
start: { line: 1, column: 0 },
4043
end: { line: 1, column: 18 }
4044
},
4045
comments: [{
4046
type: 'Line',
4047
value: ' line comment',
4048
range: [3, 18],
4049
loc: {
4050
start: { line: 1, column: 3 },
4051
end: { line: 1, column: 18 }
4052
}
4053
}]
4054
},
4055
4056
'// Hello, world!\n42': {
4057
type: 'Program',
4058
body: [{
4059
type: 'ExpressionStatement',
4060
expression: {
4061
type: 'Literal',
4062
value: 42,
4063
raw: '42',
4064
range: [17, 19],
4065
loc: {
4066
start: { line: 2, column: 0 },
4067
end: { line: 2, column: 2 }
4068
}
4069
},
4070
range: [17, 19],
4071
loc: {
4072
start: { line: 2, column: 0 },
4073
end: { line: 2, column: 2 }
4074
}
4075
}],
4076
range: [17, 19],
4077
loc: {
4078
start: { line: 2, column: 0 },
4079
end: { line: 2, column: 2 }
4080
},
4081
comments: [{
4082
type: 'Line',
4083
value: ' Hello, world!',
4084
range: [0, 16],
4085
loc: {
4086
start: { line: 1, column: 0 },
4087
end: { line: 1, column: 16 }
4088
}
4089
}]
4090
},
4091
4092
'// Hello, world!\n': {
4093
type: 'Program',
4094
body: [],
4095
range: [17, 17],
4096
loc: {
4097
start: { line: 2, column: 0 },
4098
end: { line: 2, column: 0 }
4099
},
4100
comments: [{
4101
type: 'Line',
4102
value: ' Hello, world!',
4103
range: [0, 16],
4104
loc: {
4105
start: { line: 1, column: 0 },
4106
end: { line: 1, column: 16 }
4107
}
4108
}]
4109
},
4110
4111
'// Hallo, world!\n': {
4112
type: 'Program',
4113
body: [],
4114
loc: {
4115
start: { line: 2, column: 0 },
4116
end: { line: 2, column: 0 }
4117
},
4118
comments: [{
4119
type: 'Line',
4120
value: ' Hallo, world!',
4121
loc: {
4122
start: { line: 1, column: 0 },
4123
end: { line: 1, column: 16 }
4124
}
4125
}]
4126
},
4127
4128
'//\n42': {
4129
type: 'Program',
4130
body: [{
4131
type: 'ExpressionStatement',
4132
expression: {
4133
type: 'Literal',
4134
value: 42,
4135
raw: '42',
4136
range: [3, 5],
4137
loc: {
4138
start: { line: 2, column: 0 },
4139
end: { line: 2, column: 2 }
4140
}
4141
},
4142
range: [3, 5],
4143
loc: {
4144
start: { line: 2, column: 0 },
4145
end: { line: 2, column: 2 }
4146
}
4147
}],
4148
range: [3, 5],
4149
loc: {
4150
start: { line: 2, column: 0 },
4151
end: { line: 2, column: 2 }
4152
},
4153
comments: [{
4154
type: 'Line',
4155
value: '',
4156
range: [0, 2],
4157
loc: {
4158
start: { line: 1, column: 0 },
4159
end: { line: 1, column: 2 }
4160
}
4161
}]
4162
},
4163
4164
'//': {
4165
type: 'Program',
4166
body: [],
4167
range: [2, 2],
4168
loc: {
4169
start: { line: 1, column: 2 },
4170
end: { line: 1, column: 2 }
4171
},
4172
comments: [{
4173
type: 'Line',
4174
value: '',
4175
range: [0, 2],
4176
loc: {
4177
start: { line: 1, column: 0 },
4178
end: { line: 1, column: 2 }
4179
}
4180
}]
4181
},
4182
4183
'// ': {
4184
type: 'Program',
4185
body: [],
4186
range: [3, 3],
4187
comments: [{
4188
type: 'Line',
4189
value: ' ',
4190
range: [0, 3]
4191
}]
4192
},
4193
4194
'/**/42': {
4195
type: 'Program',
4196
body: [{
4197
type: 'ExpressionStatement',
4198
expression: {
4199
type: 'Literal',
4200
value: 42,
4201
raw: '42',
4202
range: [4, 6],
4203
loc: {
4204
start: { line: 1, column: 4 },
4205
end: { line: 1, column: 6 }
4206
}
4207
},
4208
range: [4, 6],
4209
loc: {
4210
start: { line: 1, column: 4 },
4211
end: { line: 1, column: 6 }
4212
}
4213
}],
4214
range: [4, 6],
4215
loc: {
4216
start: { line: 1, column: 4 },
4217
end: { line: 1, column: 6 }
4218
},
4219
comments: [{
4220
type: 'Block',
4221
value: '',
4222
range: [0, 4],
4223
loc: {
4224
start: { line: 1, column: 0 },
4225
end: { line: 1, column: 4 }
4226
}
4227
}]
4228
},
4229
4230
'// Hello, world!\n\n// Another hello\n42': {
4231
type: 'Program',
4232
body: [{
4233
type: 'ExpressionStatement',
4234
expression: {
4235
type: 'Literal',
4236
value: 42,
4237
raw: '42',
4238
range: [37, 39],
4239
loc: {
4240
start: { line: 4, column: 0 },
4241
end: { line: 4, column: 2 }
4242
}
4243
},
4244
range: [37, 39],
4245
loc: {
4246
start: { line: 4, column: 0 },
4247
end: { line: 4, column: 2 }
4248
}
4249
}],
4250
range: [37, 39],
4251
loc: {
4252
start: { line: 4, column: 0 },
4253
end: { line: 4, column: 2 }
4254
},
4255
comments: [{
4256
type: 'Line',
4257
value: ' Hello, world!',
4258
range: [0, 16],
4259
loc: {
4260
start: { line: 1, column: 0 },
4261
end: { line: 1, column: 16 }
4262
}
4263
}, {
4264
type: 'Line',
4265
value: ' Another hello',
4266
range: [18, 36],
4267
loc: {
4268
start: { line: 3, column: 0 },
4269
end: { line: 3, column: 18 }
4270
}
4271
}]
4272
},
4273
4274
'if (x) { // Some comment\ndoThat(); }': {
4275
type: 'Program',
4276
body: [{
4277
type: 'IfStatement',
4278
test: {
4279
type: 'Identifier',
4280
name: 'x',
4281
range: [4, 5],
4282
loc: {
4283
start: { line: 1, column: 4 },
4284
end: { line: 1, column: 5 }
4285
}
4286
},
4287
consequent: {
4288
type: 'BlockStatement',
4289
body: [{
4290
type: 'ExpressionStatement',
4291
expression: {
4292
type: 'CallExpression',
4293
callee: {
4294
type: 'Identifier',
4295
name: 'doThat',
4296
range: [25, 31],
4297
loc: {
4298
start: { line: 2, column: 0 },
4299
end: { line: 2, column: 6 }
4300
}
4301
},
4302
'arguments': [],
4303
range: [25, 33],
4304
loc: {
4305
start: { line: 2, column: 0 },
4306
end: { line: 2, column: 8 }
4307
}
4308
},
4309
range: [25, 34],
4310
loc: {
4311
start: { line: 2, column: 0 },
4312
end: { line: 2, column: 9 }
4313
}
4314
}],
4315
range: [7, 36],
4316
loc: {
4317
start: { line: 1, column: 7 },
4318
end: { line: 2, column: 11 }
4319
}
4320
},
4321
alternate: null,
4322
range: [0, 36],
4323
loc: {
4324
start: { line: 1, column: 0 },
4325
end: { line: 2, column: 11 }
4326
}
4327
}],
4328
range: [0, 36],
4329
loc: {
4330
start: { line: 1, column: 0 },
4331
end: { line: 2, column: 11 }
4332
},
4333
comments: [{
4334
type: 'Line',
4335
value: ' Some comment',
4336
range: [9, 24],
4337
loc: {
4338
start: { line: 1, column: 9 },
4339
end: { line: 1, column: 24 }
4340
}
4341
}]
4342
},
4343
4344
'switch (answer) { case 42: /* perfect */ bingo() }': {
4345
type: 'Program',
4346
body: [{
4347
type: 'SwitchStatement',
4348
discriminant: {
4349
type: 'Identifier',
4350
name: 'answer',
4351
range: [8, 14],
4352
loc: {
4353
start: { line: 1, column: 8 },
4354
end: { line: 1, column: 14 }
4355
}
4356
},
4357
cases: [{
4358
type: 'SwitchCase',
4359
test: {
4360
type: 'Literal',
4361
value: 42,
4362
raw: '42',
4363
range: [23, 25],
4364
loc: {
4365
start: { line: 1, column: 23 },
4366
end: { line: 1, column: 25 }
4367
}
4368
},
4369
consequent: [{
4370
type: 'ExpressionStatement',
4371
expression: {
4372
type: 'CallExpression',
4373
callee: {
4374
type: 'Identifier',
4375
name: 'bingo',
4376
range: [41, 46],
4377
loc: {
4378
start: { line: 1, column: 41 },
4379
end: { line: 1, column: 46 }
4380
}
4381
},
4382
'arguments': [],
4383
range: [41, 48],
4384
loc: {
4385
start: { line: 1, column: 41 },
4386
end: { line: 1, column: 48 }
4387
}
4388
},
4389
range: [41, 49],
4390
loc: {
4391
start: { line: 1, column: 41 },
4392
end: { line: 1, column: 49 }
4393
},
4394
leadingComments: [{
4395
type: 'Block',
4396
value: ' perfect ',
4397
range: [27, 40],
4398
loc: {
4399
start: { line: 1, column: 27 },
4400
end: { line: 1, column: 40 }
4401
}
4402
}]
4403
}],
4404
range: [18, 49],
4405
loc: {
4406
start: { line: 1, column: 18 },
4407
end: { line: 1, column: 49 }
4408
}
4409
}],
4410
range: [0, 50],
4411
loc: {
4412
start: { line: 1, column: 0 },
4413
end: { line: 1, column: 50 }
4414
}
4415
}],
4416
range: [0, 50],
4417
loc: {
4418
start: { line: 1, column: 0 },
4419
end: { line: 1, column: 50 }
4420
},
4421
comments: [{
4422
type: 'Block',
4423
value: ' perfect ',
4424
range: [27, 40],
4425
loc: {
4426
start: { line: 1, column: 27 },
4427
end: { line: 1, column: 40 }
4428
}
4429
}]
4430
}
4431
4432
},
4433
4434
'Numeric Literals': {
4435
4436
'0': {
4437
type: 'ExpressionStatement',
4438
expression: {
4439
type: 'Literal',
4440
value: 0,
4441
raw: '0',
4442
range: [0, 1],
4443
loc: {
4444
start: { line: 1, column: 0 },
4445
end: { line: 1, column: 1 }
4446
}
4447
},
4448
range: [0, 1],
4449
loc: {
4450
start: { line: 1, column: 0 },
4451
end: { line: 1, column: 1 }
4452
}
4453
},
4454
4455
'42': {
4456
type: 'ExpressionStatement',
4457
expression: {
4458
type: 'Literal',
4459
value: 42,
4460
raw: '42',
4461
range: [0, 2],
4462
loc: {
4463
start: { line: 1, column: 0 },
4464
end: { line: 1, column: 2 }
4465
}
4466
},
4467
range: [0, 2],
4468
loc: {
4469
start: { line: 1, column: 0 },
4470
end: { line: 1, column: 2 }
4471
}
4472
},
4473
4474
'3': {
4475
type: 'Program',
4476
body: [{
4477
type: 'ExpressionStatement',
4478
expression: {
4479
type: 'Literal',
4480
value: 3,
4481
raw: '3',
4482
range: [0, 1]
4483
},
4484
range: [0, 1]
4485
}],
4486
range: [0, 1],
4487
tokens: [{
4488
type: 'Numeric',
4489
value: '3',
4490
range: [0, 1]
4491
}]
4492
},
4493
4494
'5': {
4495
type: 'Program',
4496
body: [{
4497
type: 'ExpressionStatement',
4498
expression: {
4499
type: 'Literal',
4500
value: 5,
4501
raw: '5',
4502
loc: {
4503
start: { line: 1, column: 0 },
4504
end: { line: 1, column: 1 }
4505
}
4506
},
4507
loc: {
4508
start: { line: 1, column: 0 },
4509
end: { line: 1, column: 1 }
4510
}
4511
}],
4512
loc: {
4513
start: { line: 1, column: 0 },
4514
end: { line: 1, column: 1 }
4515
},
4516
tokens: [{
4517
type: 'Numeric',
4518
value: '5',
4519
loc: {
4520
start: { line: 1, column: 0 },
4521
end: { line: 1, column: 1 }
4522
}
4523
}]
4524
},
4525
4526
'.14': {
4527
type: 'ExpressionStatement',
4528
expression: {
4529
type: 'Literal',
4530
value: 0.14,
4531
raw: '.14',
4532
range: [0, 3],
4533
loc: {
4534
start: { line: 1, column: 0 },
4535
end: { line: 1, column: 3 }
4536
}
4537
},
4538
range: [0, 3],
4539
loc: {
4540
start: { line: 1, column: 0 },
4541
end: { line: 1, column: 3 }
4542
}
4543
},
4544
4545
'3.14159': {
4546
type: 'ExpressionStatement',
4547
expression: {
4548
type: 'Literal',
4549
value: 3.14159,
4550
raw: '3.14159',
4551
range: [0, 7],
4552
loc: {
4553
start: { line: 1, column: 0 },
4554
end: { line: 1, column: 7 }
4555
}
4556
},
4557
range: [0, 7],
4558
loc: {
4559
start: { line: 1, column: 0 },
4560
end: { line: 1, column: 7 }
4561
}
4562
},
4563
4564
'6.02214179e+23': {
4565
type: 'ExpressionStatement',
4566
expression: {
4567
type: 'Literal',
4568
value: 6.02214179e+23,
4569
raw: '6.02214179e+23',
4570
range: [0, 14],
4571
loc: {
4572
start: { line: 1, column: 0 },
4573
end: { line: 1, column: 14 }
4574
}
4575
},
4576
range: [0, 14],
4577
loc: {
4578
start: { line: 1, column: 0 },
4579
end: { line: 1, column: 14 }
4580
}
4581
},
4582
4583
'1.492417830e-10': {
4584
type: 'ExpressionStatement',
4585
expression: {
4586
type: 'Literal',
4587
value: 1.49241783e-10,
4588
raw: '1.492417830e-10',
4589
range: [0, 15],
4590
loc: {
4591
start: { line: 1, column: 0 },
4592
end: { line: 1, column: 15 }
4593
}
4594
},
4595
range: [0, 15],
4596
loc: {
4597
start: { line: 1, column: 0 },
4598
end: { line: 1, column: 15 }
4599
}
4600
},
4601
4602
'0x0': {
4603
type: 'ExpressionStatement',
4604
expression: {
4605
type: 'Literal',
4606
value: 0,
4607
raw: '0x0',
4608
range: [0, 3],
4609
loc: {
4610
start: { line: 1, column: 0 },
4611
end: { line: 1, column: 3 }
4612
}
4613
},
4614
range: [0, 3],
4615
loc: {
4616
start: { line: 1, column: 0 },
4617
end: { line: 1, column: 3 }
4618
}
4619
},
4620
4621
'0x0;': {
4622
type: 'ExpressionStatement',
4623
expression: {
4624
type: 'Literal',
4625
value: 0,
4626
raw: '0x0',
4627
range: [0, 3],
4628
loc: {
4629
start: { line: 1, column: 0 },
4630
end: { line: 1, column: 3 }
4631
}
4632
},
4633
range: [0, 4],
4634
loc: {
4635
start: { line: 1, column: 0 },
4636
end: { line: 1, column: 4 }
4637
}
4638
},
4639
4640
'0e+100 ': {
4641
type: 'ExpressionStatement',
4642
expression: {
4643
type: 'Literal',
4644
value: 0,
4645
raw: '0e+100',
4646
range: [0, 6],
4647
loc: {
4648
start: { line: 1, column: 0 },
4649
end: { line: 1, column: 6 }
4650
}
4651
},
4652
range: [0, 7],
4653
loc: {
4654
start: { line: 1, column: 0 },
4655
end: { line: 1, column: 7 }
4656
}
4657
},
4658
4659
'0e+100': {
4660
type: 'ExpressionStatement',
4661
expression: {
4662
type: 'Literal',
4663
value: 0,
4664
raw: '0e+100',
4665
range: [0, 6],
4666
loc: {
4667
start: { line: 1, column: 0 },
4668
end: { line: 1, column: 6 }
4669
}
4670
},
4671
range: [0, 6],
4672
loc: {
4673
start: { line: 1, column: 0 },
4674
end: { line: 1, column: 6 }
4675
}
4676
},
4677
4678
'0xabc': {
4679
type: 'ExpressionStatement',
4680
expression: {
4681
type: 'Literal',
4682
value: 0xabc,
4683
raw: '0xabc',
4684
range: [0, 5],
4685
loc: {
4686
start: { line: 1, column: 0 },
4687
end: { line: 1, column: 5 }
4688
}
4689
},
4690
range: [0, 5],
4691
loc: {
4692
start: { line: 1, column: 0 },
4693
end: { line: 1, column: 5 }
4694
}
4695
},
4696
4697
'0xdef': {
4698
type: 'ExpressionStatement',
4699
expression: {
4700
type: 'Literal',
4701
value: 0xdef,
4702
raw: '0xdef',
4703
range: [0, 5],
4704
loc: {
4705
start: { line: 1, column: 0 },
4706
end: { line: 1, column: 5 }
4707
}
4708
},
4709
range: [0, 5],
4710
loc: {
4711
start: { line: 1, column: 0 },
4712
end: { line: 1, column: 5 }
4713
}
4714
},
4715
4716
'0X1A': {
4717
type: 'ExpressionStatement',
4718
expression: {
4719
type: 'Literal',
4720
value: 0x1A,
4721
raw: '0X1A',
4722
range: [0, 4],
4723
loc: {
4724
start: { line: 1, column: 0 },
4725
end: { line: 1, column: 4 }
4726
}
4727
},
4728
range: [0, 4],
4729
loc: {
4730
start: { line: 1, column: 0 },
4731
end: { line: 1, column: 4 }
4732
}
4733
},
4734
4735
'0x10': {
4736
type: 'ExpressionStatement',
4737
expression: {
4738
type: 'Literal',
4739
value: 0x10,
4740
raw: '0x10',
4741
range: [0, 4],
4742
loc: {
4743
start: { line: 1, column: 0 },
4744
end: { line: 1, column: 4 }
4745
}
4746
},
4747
range: [0, 4],
4748
loc: {
4749
start: { line: 1, column: 0 },
4750
end: { line: 1, column: 4 }
4751
}
4752
},
4753
4754
'0x100': {
4755
type: 'ExpressionStatement',
4756
expression: {
4757
type: 'Literal',
4758
value: 0x100,
4759
raw: '0x100',
4760
range: [0, 5],
4761
loc: {
4762
start: { line: 1, column: 0 },
4763
end: { line: 1, column: 5 }
4764
}
4765
},
4766
range: [0, 5],
4767
loc: {
4768
start: { line: 1, column: 0 },
4769
end: { line: 1, column: 5 }
4770
}
4771
},
4772
4773
'0X04': {
4774
type: 'ExpressionStatement',
4775
expression: {
4776
type: 'Literal',
4777
value: 0X04,
4778
raw: '0X04',
4779
range: [0, 4],
4780
loc: {
4781
start: { line: 1, column: 0 },
4782
end: { line: 1, column: 4 }
4783
}
4784
},
4785
range: [0, 4],
4786
loc: {
4787
start: { line: 1, column: 0 },
4788
end: { line: 1, column: 4 }
4789
}
4790
},
4791
4792
'02': {
4793
type: 'ExpressionStatement',
4794
expression: {
4795
type: 'Literal',
4796
value: 2,
4797
raw: '02',
4798
range: [0, 2],
4799
loc: {
4800
start: { line: 1, column: 0 },
4801
end: { line: 1, column: 2 }
4802
}
4803
},
4804
range: [0, 2],
4805
loc: {
4806
start: { line: 1, column: 0 },
4807
end: { line: 1, column: 2 }
4808
}
4809
},
4810
4811
'012': {
4812
type: 'ExpressionStatement',
4813
expression: {
4814
type: 'Literal',
4815
value: 10,
4816
raw: '012',
4817
range: [0, 3],
4818
loc: {
4819
start: { line: 1, column: 0 },
4820
end: { line: 1, column: 3 }
4821
}
4822
},
4823
range: [0, 3],
4824
loc: {
4825
start: { line: 1, column: 0 },
4826
end: { line: 1, column: 3 }
4827
}
4828
},
4829
4830
'0012': {
4831
type: 'ExpressionStatement',
4832
expression: {
4833
type: 'Literal',
4834
value: 10,
4835
raw: '0012',
4836
range: [0, 4],
4837
loc: {
4838
start: { line: 1, column: 0 },
4839
end: { line: 1, column: 4 }
4840
}
4841
},
4842
range: [0, 4],
4843
loc: {
4844
start: { line: 1, column: 0 },
4845
end: { line: 1, column: 4 }
4846
}
4847
}
4848
4849
},
4850
4851
'String Literals': {
4852
4853
'"Hello"': {
4854
type: 'ExpressionStatement',
4855
expression: {
4856
type: 'Literal',
4857
value: 'Hello',
4858
raw: '"Hello"',
4859
range: [0, 7],
4860
loc: {
4861
start: { line: 1, column: 0 },
4862
end: { line: 1, column: 7 }
4863
}
4864
},
4865
range: [0, 7],
4866
loc: {
4867
start: { line: 1, column: 0 },
4868
end: { line: 1, column: 7 }
4869
}
4870
},
4871
4872
'"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': {
4873
type: 'ExpressionStatement',
4874
expression: {
4875
type: 'Literal',
4876
value: '\n\r\t\x0B\b\f\\\'"\x00',
4877
raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"',
4878
range: [0, 22],
4879
loc: {
4880
start: { line: 1, column: 0 },
4881
end: { line: 1, column: 22 }
4882
}
4883
},
4884
range: [0, 22],
4885
loc: {
4886
start: { line: 1, column: 0 },
4887
end: { line: 1, column: 22 }
4888
}
4889
},
4890
4891
'"\\u0061"': {
4892
type: 'ExpressionStatement',
4893
expression: {
4894
type: 'Literal',
4895
value: 'a',
4896
raw: '"\\u0061"',
4897
range: [0, 8],
4898
loc: {
4899
start: { line: 1, column: 0 },
4900
end: { line: 1, column: 8 }
4901
}
4902
},
4903
range: [0, 8],
4904
loc: {
4905
start: { line: 1, column: 0 },
4906
end: { line: 1, column: 8 }
4907
}
4908
},
4909
4910
'"\\x61"': {
4911
type: 'ExpressionStatement',
4912
expression: {
4913
type: 'Literal',
4914
value: 'a',
4915
raw: '"\\x61"',
4916
range: [0, 6],
4917
loc: {
4918
start: { line: 1, column: 0 },
4919
end: { line: 1, column: 6 }
4920
}
4921
},
4922
range: [0, 6],
4923
loc: {
4924
start: { line: 1, column: 0 },
4925
end: { line: 1, column: 6 }
4926
}
4927
},
4928
4929
'"\\u00"': {
4930
type: 'ExpressionStatement',
4931
expression: {
4932
type: 'Literal',
4933
value: 'u00',
4934
raw: '"\\u00"',
4935
range: [0, 6],
4936
loc: {
4937
start: { line: 1, column: 0 },
4938
end: { line: 1, column: 6 }
4939
}
4940
},
4941
range: [0, 6],
4942
loc: {
4943
start: { line: 1, column: 0 },
4944
end: { line: 1, column: 6 }
4945
}
4946
},
4947
4948
'"\\xt"': {
4949
type: 'ExpressionStatement',
4950
expression: {
4951
type: 'Literal',
4952
value: 'xt',
4953
raw: '"\\xt"',
4954
range: [0, 5],
4955
loc: {
4956
start: { line: 1, column: 0 },
4957
end: { line: 1, column: 5 }
4958
}
4959
},
4960
range: [0, 5],
4961
loc: {
4962
start: { line: 1, column: 0 },
4963
end: { line: 1, column: 5 }
4964
}
4965
},
4966
4967
'"Hello\\nworld"': {
4968
type: 'ExpressionStatement',
4969
expression: {
4970
type: 'Literal',
4971
value: 'Hello\nworld',
4972
raw: '"Hello\\nworld"',
4973
range: [0, 14],
4974
loc: {
4975
start: { line: 1, column: 0 },
4976
end: { line: 1, column: 14 }
4977
}
4978
},
4979
range: [0, 14],
4980
loc: {
4981
start: { line: 1, column: 0 },
4982
end: { line: 1, column: 14 }
4983
}
4984
},
4985
4986
'"Hello\\\nworld"': {
4987
type: 'ExpressionStatement',
4988
expression: {
4989
type: 'Literal',
4990
value: 'Helloworld',
4991
raw: '"Hello\\\nworld"',
4992
range: [0, 14],
4993
loc: {
4994
start: { line: 1, column: 0 },
4995
end: { line: 2, column: 6 }
4996
}
4997
},
4998
range: [0, 14],
4999
loc: {
5000
start: { line: 1, column: 0 },
5001
end: { line: 2, column: 6 }
5002
}
5003
},
5004
5005
'"Hello\\02World"': {
5006
type: 'ExpressionStatement',
5007
expression: {
5008
type: 'Literal',
5009
value: 'Hello\u0002World',
5010
raw: '"Hello\\02World"',
5011
range: [0, 15],
5012
loc: {
5013
start: { line: 1, column: 0 },
5014
end: { line: 1, column: 15 }
5015
}
5016
},
5017
range: [0, 15],
5018
loc: {
5019
start: { line: 1, column: 0 },
5020
end: { line: 1, column: 15 }
5021
}
5022
},
5023
5024
'"Hello\\012World"': {
5025
type: 'ExpressionStatement',
5026
expression: {
5027
type: 'Literal',
5028
value: 'Hello\u000AWorld',
5029
raw: '"Hello\\012World"',
5030
range: [0, 16],
5031
loc: {
5032
start: { line: 1, column: 0 },
5033
end: { line: 1, column: 16 }
5034
}
5035
},
5036
range: [0, 16],
5037
loc: {
5038
start: { line: 1, column: 0 },
5039
end: { line: 1, column: 16 }
5040
}
5041
},
5042
5043
'"Hello\\122World"': {
5044
type: 'ExpressionStatement',
5045
expression: {
5046
type: 'Literal',
5047
value: 'Hello\122World',
5048
raw: '"Hello\\122World"',
5049
range: [0, 16],
5050
loc: {
5051
start: { line: 1, column: 0 },
5052
end: { line: 1, column: 16 }
5053
}
5054
},
5055
range: [0, 16],
5056
loc: {
5057
start: { line: 1, column: 0 },
5058
end: { line: 1, column: 16 }
5059
}
5060
},
5061
5062
'"Hello\\0122World"': {
5063
type: 'ExpressionStatement',
5064
expression: {
5065
type: 'Literal',
5066
value: 'Hello\u000A2World',
5067
raw: '"Hello\\0122World"',
5068
range: [0, 17],
5069
loc: {
5070
start: { line: 1, column: 0 },
5071
end: { line: 1, column: 17 }
5072
}
5073
},
5074
range: [0, 17],
5075
loc: {
5076
start: { line: 1, column: 0 },
5077
end: { line: 1, column: 17 }
5078
}
5079
},
5080
5081
'"Hello\\312World"': {
5082
type: 'ExpressionStatement',
5083
expression: {
5084
type: 'Literal',
5085
value: 'Hello\u00CAWorld',
5086
raw: '"Hello\\312World"',
5087
range: [0, 16],
5088
loc: {
5089
start: { line: 1, column: 0 },
5090
end: { line: 1, column: 16 }
5091
}
5092
},
5093
range: [0, 16],
5094
loc: {
5095
start: { line: 1, column: 0 },
5096
end: { line: 1, column: 16 }
5097
}
5098
},
5099
5100
'"Hello\\412World"': {
5101
type: 'ExpressionStatement',
5102
expression: {
5103
type: 'Literal',
5104
value: 'Hello\412World',
5105
raw: '"Hello\\412World"',
5106
range: [0, 16],
5107
loc: {
5108
start: { line: 1, column: 0 },
5109
end: { line: 1, column: 16 }
5110
}
5111
},
5112
range: [0, 16],
5113
loc: {
5114
start: { line: 1, column: 0 },
5115
end: { line: 1, column: 16 }
5116
}
5117
},
5118
5119
'"Hello\\812World"': {
5120
type: 'ExpressionStatement',
5121
expression: {
5122
type: 'Literal',
5123
value: 'Hello812World',
5124
raw: '"Hello\\812World"',
5125
range: [0, 16],
5126
loc: {
5127
start: { line: 1, column: 0 },
5128
end: { line: 1, column: 16 }
5129
}
5130
},
5131
range: [0, 16],
5132
loc: {
5133
start: { line: 1, column: 0 },
5134
end: { line: 1, column: 16 }
5135
}
5136
},
5137
5138
'"Hello\\712World"': {
5139
type: 'ExpressionStatement',
5140
expression: {
5141
type: 'Literal',
5142
value: 'Hello\712World',
5143
raw: '"Hello\\712World"',
5144
range: [0, 16],
5145
loc: {
5146
start: { line: 1, column: 0 },
5147
end: { line: 1, column: 16 }
5148
}
5149
},
5150
range: [0, 16],
5151
loc: {
5152
start: { line: 1, column: 0 },
5153
end: { line: 1, column: 16 }
5154
}
5155
},
5156
5157
'"Hello\\0World"': {
5158
type: 'ExpressionStatement',
5159
expression: {
5160
type: 'Literal',
5161
value: 'Hello\u0000World',
5162
raw: '"Hello\\0World"',
5163
range: [0, 14],
5164
loc: {
5165
start: { line: 1, column: 0 },
5166
end: { line: 1, column: 14 }
5167
}
5168
},
5169
range: [0, 14],
5170
loc: {
5171
start: { line: 1, column: 0 },
5172
end: { line: 1, column: 14 }
5173
}
5174
},
5175
5176
'"Hello\\\r\nworld"': {
5177
type: 'ExpressionStatement',
5178
expression: {
5179
type: 'Literal',
5180
value: 'Helloworld',
5181
raw: '"Hello\\\r\nworld"',
5182
range: [0, 15],
5183
loc: {
5184
start: { line: 1, column: 0 },
5185
end: { line: 2, column: 6 }
5186
}
5187
},
5188
range: [0, 15],
5189
loc: {
5190
start: { line: 1, column: 0 },
5191
end: { line: 2, column: 6 }
5192
}
5193
},
5194
5195
'"Hello\\1World"': {
5196
type: 'ExpressionStatement',
5197
expression: {
5198
type: 'Literal',
5199
value: 'Hello\u0001World',
5200
raw: '"Hello\\1World"',
5201
range: [0, 14],
5202
loc: {
5203
start: { line: 1, column: 0 },
5204
end: { line: 1, column: 14 }
5205
}
5206
},
5207
range: [0, 14],
5208
loc: {
5209
start: { line: 1, column: 0 },
5210
end: { line: 1, column: 14 }
5211
}
5212
}
5213
},
5214
5215
'Regular Expression Literals': {
5216
5217
'var x = /[a-z]/i': {
5218
type: 'Program',
5219
body: [{
5220
type: 'VariableDeclaration',
5221
declarations: [{
5222
type: 'VariableDeclarator',
5223
id: {
5224
type: 'Identifier',
5225
name: 'x',
5226
range: [4, 5],
5227
loc: {
5228
start: { line: 1, column: 4 },
5229
end: { line: 1, column: 5 }
5230
}
5231
},
5232
init: {
5233
type: 'Literal',
5234
value: '/[a-z]/i',
5235
raw: '/[a-z]/i',
5236
regex: {
5237
pattern: '[a-z]',
5238
flags: 'i'
5239
},
5240
range: [8, 16],
5241
loc: {
5242
start: { line: 1, column: 8 },
5243
end: { line: 1, column: 16 }
5244
}
5245
},
5246
range: [4, 16],
5247
loc: {
5248
start: { line: 1, column: 4 },
5249
end: { line: 1, column: 16 }
5250
}
5251
}],
5252
kind: 'var',
5253
range: [0, 16],
5254
loc: {
5255
start: { line: 1, column: 0 },
5256
end: { line: 1, column: 16 }
5257
}
5258
}],
5259
range: [0, 16],
5260
loc: {
5261
start: { line: 1, column: 0 },
5262
end: { line: 1, column: 16 }
5263
},
5264
tokens: [{
5265
type: 'Keyword',
5266
value: 'var',
5267
range: [0, 3],
5268
loc: {
5269
start: { line: 1, column: 0 },
5270
end: { line: 1, column: 3 }
5271
}
5272
}, {
5273
type: 'Identifier',
5274
value: 'x',
5275
range: [4, 5],
5276
loc: {
5277
start: { line: 1, column: 4 },
5278
end: { line: 1, column: 5 }
5279
}
5280
}, {
5281
type: 'Punctuator',
5282
value: '=',
5283
range: [6, 7],
5284
loc: {
5285
start: { line: 1, column: 6 },
5286
end: { line: 1, column: 7 }
5287
}
5288
}, {
5289
type: 'RegularExpression',
5290
value: '/[a-z]/i',
5291
regex: {
5292
pattern: '[a-z]',
5293
flags: 'i'
5294
},
5295
range: [8, 16],
5296
loc: {
5297
start: { line: 1, column: 8 },
5298
end: { line: 1, column: 16 }
5299
}
5300
}]
5301
},
5302
5303
'var x = /[a-z]/y': {
5304
type: 'Program',
5305
body: [{
5306
type: 'VariableDeclaration',
5307
declarations: [{
5308
type: 'VariableDeclarator',
5309
id: {
5310
type: 'Identifier',
5311
name: 'x',
5312
range: [4, 5],
5313
loc: {
5314
start: { line: 1, column: 4 },
5315
end: { line: 1, column: 5 }
5316
}
5317
},
5318
init: {
5319
type: 'Literal',
5320
value: null,
5321
raw: '/[a-z]/y',
5322
regex: {
5323
pattern: '[a-z]',
5324
flags: 'y'
5325
},
5326
range: [8, 16],
5327
loc: {
5328
start: { line: 1, column: 8 },
5329
end: { line: 1, column: 16 }
5330
}
5331
},
5332
range: [4, 16],
5333
loc: {
5334
start: { line: 1, column: 4 },
5335
end: { line: 1, column: 16 }
5336
}
5337
}],
5338
kind: 'var',
5339
range: [0, 16],
5340
loc: {
5341
start: { line: 1, column: 0 },
5342
end: { line: 1, column: 16 }
5343
}
5344
}],
5345
range: [0, 16],
5346
loc: {
5347
start: { line: 1, column: 0 },
5348
end: { line: 1, column: 16 }
5349
},
5350
tokens: [{
5351
type: 'Keyword',
5352
value: 'var',
5353
range: [0, 3],
5354
loc: {
5355
start: { line: 1, column: 0 },
5356
end: { line: 1, column: 3 }
5357
}
5358
}, {
5359
type: 'Identifier',
5360
value: 'x',
5361
range: [4, 5],
5362
loc: {
5363
start: { line: 1, column: 4 },
5364
end: { line: 1, column: 5 }
5365
}
5366
}, {
5367
type: 'Punctuator',
5368
value: '=',
5369
range: [6, 7],
5370
loc: {
5371
start: { line: 1, column: 6 },
5372
end: { line: 1, column: 7 }
5373
}
5374
}, {
5375
type: 'RegularExpression',
5376
value: '/[a-z]/y',
5377
regex: {
5378
pattern: '[a-z]',
5379
flags: 'y'
5380
},
5381
range: [8, 16],
5382
loc: {
5383
start: { line: 1, column: 8 },
5384
end: { line: 1, column: 16 }
5385
}
5386
}]
5387
},
5388
5389
'var x = /[a-z]/u': {
5390
type: 'Program',
5391
body: [{
5392
type: 'VariableDeclaration',
5393
declarations: [{
5394
type: 'VariableDeclarator',
5395
id: {
5396
type: 'Identifier',
5397
name: 'x',
5398
range: [4, 5],
5399
loc: {
5400
start: { line: 1, column: 4 },
5401
end: { line: 1, column: 5 }
5402
}
5403
},
5404
init: {
5405
type: 'Literal',
5406
value: null,
5407
raw: '/[a-z]/u',
5408
regex: {
5409
pattern: '[a-z]',
5410
flags: 'u'
5411
},
5412
range: [8, 16],
5413
loc: {
5414
start: { line: 1, column: 8 },
5415
end: { line: 1, column: 16 }
5416
}
5417
},
5418
range: [4, 16],
5419
loc: {
5420
start: { line: 1, column: 4 },
5421
end: { line: 1, column: 16 }
5422
}
5423
}],
5424
kind: 'var',
5425
range: [0, 16],
5426
loc: {
5427
start: { line: 1, column: 0 },
5428
end: { line: 1, column: 16 }
5429
}
5430
}],
5431
range: [0, 16],
5432
loc: {
5433
start: { line: 1, column: 0 },
5434
end: { line: 1, column: 16 }
5435
},
5436
tokens: [{
5437
type: 'Keyword',
5438
value: 'var',
5439
range: [0, 3],
5440
loc: {
5441
start: { line: 1, column: 0 },
5442
end: { line: 1, column: 3 }
5443
}
5444
}, {
5445
type: 'Identifier',
5446
value: 'x',
5447
range: [4, 5],
5448
loc: {
5449
start: { line: 1, column: 4 },
5450
end: { line: 1, column: 5 }
5451
}
5452
}, {
5453
type: 'Punctuator',
5454
value: '=',
5455
range: [6, 7],
5456
loc: {
5457
start: { line: 1, column: 6 },
5458
end: { line: 1, column: 7 }
5459
}
5460
}, {
5461
type: 'RegularExpression',
5462
value: '/[a-z]/u',
5463
regex: {
5464
pattern: '[a-z]',
5465
flags: 'u'
5466
},
5467
range: [8, 16],
5468
loc: {
5469
start: { line: 1, column: 8 },
5470
end: { line: 1, column: 16 }
5471
}
5472
}]
5473
},
5474
5475
'var x = /[x-z]/i': {
5476
type: 'Program',
5477
body: [{
5478
type: 'VariableDeclaration',
5479
declarations: [{
5480
type: 'VariableDeclarator',
5481
id: {
5482
type: 'Identifier',
5483
name: 'x',
5484
range: [4, 5]
5485
},
5486
init: {
5487
type: 'Literal',
5488
value: '/[x-z]/i',
5489
raw: '/[x-z]/i',
5490
regex: {
5491
pattern: '[x-z]',
5492
flags: 'i'
5493
},
5494
range: [8, 16]
5495
},
5496
range: [4, 16]
5497
}],
5498
kind: 'var',
5499
range: [0, 16]
5500
}],
5501
range: [0, 16],
5502
tokens: [{
5503
type: 'Keyword',
5504
value: 'var',
5505
range: [0, 3]
5506
}, {
5507
type: 'Identifier',
5508
value: 'x',
5509
range: [4, 5]
5510
}, {
5511
type: 'Punctuator',
5512
value: '=',
5513
range: [6, 7]
5514
}, {
5515
type: 'RegularExpression',
5516
value: '/[x-z]/i',
5517
regex: {
5518
pattern: '[x-z]',
5519
flags: 'i'
5520
},
5521
range: [8, 16]
5522
}]
5523
},
5524
5525
'var x = /[a-c]/i': {
5526
type: 'Program',
5527
body: [{
5528
type: 'VariableDeclaration',
5529
declarations: [{
5530
type: 'VariableDeclarator',
5531
id: {
5532
type: 'Identifier',
5533
name: 'x',
5534
loc: {
5535
start: { line: 1, column: 4 },
5536
end: { line: 1, column: 5 }
5537
}
5538
},
5539
init: {
5540
type: 'Literal',
5541
value: '/[a-c]/i',
5542
raw: '/[a-c]/i',
5543
regex: {
5544
pattern: '[a-c]',
5545
flags: 'i'
5546
},
5547
loc: {
5548
start: { line: 1, column: 8 },
5549
end: { line: 1, column: 16 }
5550
}
5551
},
5552
loc: {
5553
start: { line: 1, column: 4 },
5554
end: { line: 1, column: 16 }
5555
}
5556
}],
5557
kind: 'var',
5558
loc: {
5559
start: { line: 1, column: 0 },
5560
end: { line: 1, column: 16 }
5561
}
5562
}],
5563
loc: {
5564
start: { line: 1, column: 0 },
5565
end: { line: 1, column: 16 }
5566
},
5567
tokens: [{
5568
type: 'Keyword',
5569
value: 'var',
5570
loc: {
5571
start: { line: 1, column: 0 },
5572
end: { line: 1, column: 3 }
5573
}
5574
}, {
5575
type: 'Identifier',
5576
value: 'x',
5577
loc: {
5578
start: { line: 1, column: 4 },
5579
end: { line: 1, column: 5 }
5580
}
5581
}, {
5582
type: 'Punctuator',
5583
value: '=',
5584
loc: {
5585
start: { line: 1, column: 6 },
5586
end: { line: 1, column: 7 }
5587
}
5588
}, {
5589
type: 'RegularExpression',
5590
value: '/[a-c]/i',
5591
regex: {
5592
pattern: '[a-c]',
5593
flags: 'i'
5594
},
5595
loc: {
5596
start: { line: 1, column: 8 },
5597
end: { line: 1, column: 16 }
5598
}
5599
}]
5600
},
5601
5602
'var x = /[P QR]/i': {
5603
type: 'Program',
5604
body: [{
5605
type: 'VariableDeclaration',
5606
declarations: [{
5607
type: 'VariableDeclarator',
5608
id: {
5609
type: 'Identifier',
5610
name: 'x',
5611
range: [4, 5],
5612
loc: {
5613
start: { line: 1, column: 4 },
5614
end: { line: 1, column: 5 }
5615
}
5616
},
5617
init: {
5618
type: 'Literal',
5619
value: '/[P QR]/i',
5620
raw: '/[P QR]/i',
5621
regex: {
5622
pattern: '[P QR]',
5623
flags: 'i'
5624
},
5625
range: [8, 17],
5626
loc: {
5627
start: { line: 1, column: 8 },
5628
end: { line: 1, column: 17 }
5629
}
5630
},
5631
range: [4, 17],
5632
loc: {
5633
start: { line: 1, column: 4 },
5634
end: { line: 1, column: 17 }
5635
}
5636
}],
5637
kind: 'var',
5638
range: [0, 17],
5639
loc: {
5640
start: { line: 1, column: 0 },
5641
end: { line: 1, column: 17 }
5642
}
5643
}],
5644
range: [0, 17],
5645
loc: {
5646
start: { line: 1, column: 0 },
5647
end: { line: 1, column: 17 }
5648
},
5649
tokens: [{
5650
type: 'Keyword',
5651
value: 'var',
5652
range: [0, 3],
5653
loc: {
5654
start: { line: 1, column: 0 },
5655
end: { line: 1, column: 3 }
5656
}
5657
}, {
5658
type: 'Identifier',
5659
value: 'x',
5660
range: [4, 5],
5661
loc: {
5662
start: { line: 1, column: 4 },
5663
end: { line: 1, column: 5 }
5664
}
5665
}, {
5666
type: 'Punctuator',
5667
value: '=',
5668
range: [6, 7],
5669
loc: {
5670
start: { line: 1, column: 6 },
5671
end: { line: 1, column: 7 }
5672
}
5673
}, {
5674
type: 'RegularExpression',
5675
value: '/[P QR]/i',
5676
regex: {
5677
pattern: '[P QR]',
5678
flags: 'i'
5679
},
5680
range: [8, 17],
5681
loc: {
5682
start: { line: 1, column: 8 },
5683
end: { line: 1, column: 17 }
5684
}
5685
}]
5686
},
5687
5688
'var x = /foo\\/bar/': {
5689
type: 'Program',
5690
body: [{
5691
type: 'VariableDeclaration',
5692
declarations: [{
5693
type: 'VariableDeclarator',
5694
id: {
5695
type: 'Identifier',
5696
name: 'x',
5697
range: [4, 5],
5698
loc: {
5699
start: { line: 1, column: 4 },
5700
end: { line: 1, column: 5 }
5701
}
5702
},
5703
init: {
5704
type: 'Literal',
5705
value: '/foo\\/bar/',
5706
raw: '/foo\\/bar/',
5707
regex: {
5708
pattern: 'foo\\/bar',
5709
flags: ''
5710
},
5711
range: [8, 18],
5712
loc: {
5713
start: { line: 1, column: 8 },
5714
end: { line: 1, column: 18 }
5715
}
5716
},
5717
range: [4, 18],
5718
loc: {
5719
start: { line: 1, column: 4 },
5720
end: { line: 1, column: 18 }
5721
}
5722
}],
5723
kind: 'var',
5724
range: [0, 18],
5725
loc: {
5726
start: { line: 1, column: 0 },
5727
end: { line: 1, column: 18 }
5728
}
5729
}],
5730
range: [0, 18],
5731
loc: {
5732
start: { line: 1, column: 0 },
5733
end: { line: 1, column: 18 }
5734
},
5735
tokens: [{
5736
type: 'Keyword',
5737
value: 'var',
5738
range: [0, 3],
5739
loc: {
5740
start: { line: 1, column: 0 },
5741
end: { line: 1, column: 3 }
5742
}
5743
}, {
5744
type: 'Identifier',
5745
value: 'x',
5746
range: [4, 5],
5747
loc: {
5748
start: { line: 1, column: 4 },
5749
end: { line: 1, column: 5 }
5750
}
5751
}, {
5752
type: 'Punctuator',
5753
value: '=',
5754
range: [6, 7],
5755
loc: {
5756
start: { line: 1, column: 6 },
5757
end: { line: 1, column: 7 }
5758
}
5759
}, {
5760
type: 'RegularExpression',
5761
value: '/foo\\/bar/',
5762
regex: {
5763
pattern: 'foo\\/bar',
5764
flags: ''
5765
},
5766
range: [8, 18],
5767
loc: {
5768
start: { line: 1, column: 8 },
5769
end: { line: 1, column: 18 }
5770
}
5771
}]
5772
},
5773
5774
'var x = /=([^=\\s])+/g': {
5775
type: 'Program',
5776
body: [{
5777
type: 'VariableDeclaration',
5778
declarations: [{
5779
type: 'VariableDeclarator',
5780
id: {
5781
type: 'Identifier',
5782
name: 'x',
5783
range: [4, 5],
5784
loc: {
5785
start: { line: 1, column: 4 },
5786
end: { line: 1, column: 5 }
5787
}
5788
},
5789
init: {
5790
type: 'Literal',
5791
value: '/=([^=\\s])+/g',
5792
raw: '/=([^=\\s])+/g',
5793
regex: {
5794
pattern: '=([^=\\s])+',
5795
flags: 'g'
5796
},
5797
range: [8, 21],
5798
loc: {
5799
start: { line: 1, column: 8 },
5800
end: { line: 1, column: 21 }
5801
}
5802
},
5803
range: [4, 21],
5804
loc: {
5805
start: { line: 1, column: 4 },
5806
end: { line: 1, column: 21 }
5807
}
5808
}],
5809
kind: 'var',
5810
range: [0, 21],
5811
loc: {
5812
start: { line: 1, column: 0 },
5813
end: { line: 1, column: 21 }
5814
}
5815
}],
5816
range: [0, 21],
5817
loc: {
5818
start: { line: 1, column: 0 },
5819
end: { line: 1, column: 21 }
5820
},
5821
tokens: [{
5822
type: 'Keyword',
5823
value: 'var',
5824
range: [0, 3],
5825
loc: {
5826
start: { line: 1, column: 0 },
5827
end: { line: 1, column: 3 }
5828
}
5829
}, {
5830
type: 'Identifier',
5831
value: 'x',
5832
range: [4, 5],
5833
loc: {
5834
start: { line: 1, column: 4 },
5835
end: { line: 1, column: 5 }
5836
}
5837
}, {
5838
type: 'Punctuator',
5839
value: '=',
5840
range: [6, 7],
5841
loc: {
5842
start: { line: 1, column: 6 },
5843
end: { line: 1, column: 7 }
5844
}
5845
}, {
5846
type: 'RegularExpression',
5847
value: '/=([^=\\s])+/g',
5848
regex: {
5849
pattern: '=([^=\\s])+',
5850
flags: 'g'
5851
},
5852
range: [8, 21],
5853
loc: {
5854
start: { line: 1, column: 8 },
5855
end: { line: 1, column: 21 }
5856
}
5857
}]
5858
},
5859
5860
'var x = /[P QR]/\\u0067': {
5861
type: 'Program',
5862
body: [{
5863
type: 'VariableDeclaration',
5864
declarations: [{
5865
type: 'VariableDeclarator',
5866
id: {
5867
type: 'Identifier',
5868
name: 'x',
5869
range: [4, 5],
5870
loc: {
5871
start: { line: 1, column: 4 },
5872
end: { line: 1, column: 5 }
5873
}
5874
},
5875
init: {
5876
type: 'Literal',
5877
value: '/[P QR]/g',
5878
raw: '/[P QR]/\\u0067',
5879
regex: {
5880
pattern: '[P QR]',
5881
flags: 'g'
5882
},
5883
range: [8, 22],
5884
loc: {
5885
start: { line: 1, column: 8 },
5886
end: { line: 1, column: 22 }
5887
}
5888
},
5889
range: [4, 22],
5890
loc: {
5891
start: { line: 1, column: 4 },
5892
end: { line: 1, column: 22 }
5893
}
5894
}],
5895
kind: 'var',
5896
range: [0, 22],
5897
loc: {
5898
start: { line: 1, column: 0 },
5899
end: { line: 1, column: 22 }
5900
}
5901
}],
5902
range: [0, 22],
5903
loc: {
5904
start: { line: 1, column: 0 },
5905
end: { line: 1, column: 22 }
5906
},
5907
tokens: [{
5908
type: 'Keyword',
5909
value: 'var',
5910
range: [0, 3],
5911
loc: {
5912
start: { line: 1, column: 0 },
5913
end: { line: 1, column: 3 }
5914
}
5915
}, {
5916
type: 'Identifier',
5917
value: 'x',
5918
range: [4, 5],
5919
loc: {
5920
start: { line: 1, column: 4 },
5921
end: { line: 1, column: 5 }
5922
}
5923
}, {
5924
type: 'Punctuator',
5925
value: '=',
5926
range: [6, 7],
5927
loc: {
5928
start: { line: 1, column: 6 },
5929
end: { line: 1, column: 7 }
5930
}
5931
}, {
5932
type: 'RegularExpression',
5933
value: '/[P QR]/\\u0067',
5934
regex: {
5935
pattern: '[P QR]',
5936
flags: 'g'
5937
},
5938
range: [8, 22],
5939
loc: {
5940
start: { line: 1, column: 8 },
5941
end: { line: 1, column: 22 }
5942
}
5943
}]
5944
},
5945
5946
'var x = /[P QR]/\\g': {
5947
type: 'Program',
5948
body: [{
5949
type: 'VariableDeclaration',
5950
declarations: [{
5951
type: 'VariableDeclarator',
5952
id: {
5953
type: 'Identifier',
5954
name: 'x',
5955
range: [4, 5],
5956
loc: {
5957
start: { line: 1, column: 4 },
5958
end: { line: 1, column: 5 }
5959
}
5960
},
5961
init: {
5962
type: 'Literal',
5963
value: '/[P QR]/g',
5964
raw: '/[P QR]/\\g',
5965
regex: {
5966
pattern: '[P QR]',
5967
flags: 'g'
5968
},
5969
range: [8, 18],
5970
loc: {
5971
start: { line: 1, column: 8 },
5972
end: { line: 1, column: 18 }
5973
}
5974
},
5975
range: [4, 18],
5976
loc: {
5977
start: { line: 1, column: 4 },
5978
end: { line: 1, column: 18 }
5979
}
5980
}],
5981
kind: 'var',
5982
range: [0, 18],
5983
loc: {
5984
start: { line: 1, column: 0 },
5985
end: { line: 1, column: 18 }
5986
}
5987
}],
5988
range: [0, 18],
5989
loc: {
5990
start: { line: 1, column: 0 },
5991
end: { line: 1, column: 18 }
5992
},
5993
tokens: [{
5994
type: 'Keyword',
5995
value: 'var',
5996
range: [0, 3],
5997
loc: {
5998
start: { line: 1, column: 0 },
5999
end: { line: 1, column: 3 }
6000
}
6001
}, {
6002
type: 'Identifier',
6003
value: 'x',
6004
range: [4, 5],
6005
loc: {
6006
start: { line: 1, column: 4 },
6007
end: { line: 1, column: 5 }
6008
}
6009
}, {
6010
type: 'Punctuator',
6011
value: '=',
6012
range: [6, 7],
6013
loc: {
6014
start: { line: 1, column: 6 },
6015
end: { line: 1, column: 7 }
6016
}
6017
}, {
6018
type: 'RegularExpression',
6019
value: '/[P QR]/\\g',
6020
regex: {
6021
pattern: '[P QR]',
6022
flags: 'g'
6023
},
6024
range: [8, 18],
6025
loc: {
6026
start: { line: 1, column: 8 },
6027
end: { line: 1, column: 18 }
6028
}
6029
}]
6030
},
6031
6032
'var x = /42/g.test': {
6033
type: 'VariableDeclaration',
6034
declarations: [{
6035
type: 'VariableDeclarator',
6036
id: {
6037
type: 'Identifier',
6038
name: 'x',
6039
range: [4, 5],
6040
loc: {
6041
start: { line: 1, column: 4 },
6042
end: { line: 1, column: 5 }
6043
}
6044
},
6045
init: {
6046
type: 'MemberExpression',
6047
computed: false,
6048
object: {
6049
type: 'Literal',
6050
value: '/42/g',
6051
raw: '/42/g',
6052
regex: {
6053
pattern: '42',
6054
flags: 'g'
6055
},
6056
range: [8, 13],
6057
loc: {
6058
start: { line: 1, column: 8 },
6059
end: { line: 1, column: 13 }
6060
}
6061
},
6062
property: {
6063
type: 'Identifier',
6064
name: 'test',
6065
range: [14, 18],
6066
loc: {
6067
start: { line: 1, column: 14 },
6068
end: { line: 1, column: 18 }
6069
}
6070
},
6071
range: [8, 18],
6072
loc: {
6073
start: { line: 1, column: 8 },
6074
end: { line: 1, column: 18 }
6075
}
6076
},
6077
range: [4, 18],
6078
loc: {
6079
start: { line: 1, column: 4 },
6080
end: { line: 1, column: 18 }
6081
}
6082
}],
6083
kind: 'var',
6084
range: [0, 18],
6085
loc: {
6086
start: { line: 1, column: 0 },
6087
end: { line: 1, column: 18 }
6088
}
6089
}
6090
6091
},
6092
6093
'Left-Hand-Side Expression': {
6094
6095
'new Button': {
6096
type: 'ExpressionStatement',
6097
expression: {
6098
type: 'NewExpression',
6099
callee: {
6100
type: 'Identifier',
6101
name: 'Button',
6102
range: [4, 10],
6103
loc: {
6104
start: { line: 1, column: 4 },
6105
end: { line: 1, column: 10 }
6106
}
6107
},
6108
'arguments': [],
6109
range: [0, 10],
6110
loc: {
6111
start: { line: 1, column: 0 },
6112
end: { line: 1, column: 10 }
6113
}
6114
},
6115
range: [0, 10],
6116
loc: {
6117
start: { line: 1, column: 0 },
6118
end: { line: 1, column: 10 }
6119
}
6120
},
6121
6122
'new Button()': {
6123
type: 'ExpressionStatement',
6124
expression: {
6125
type: 'NewExpression',
6126
callee: {
6127
type: 'Identifier',
6128
name: 'Button',
6129
range: [4, 10],
6130
loc: {
6131
start: { line: 1, column: 4 },
6132
end: { line: 1, column: 10 }
6133
}
6134
},
6135
'arguments': [],
6136
range: [0, 12],
6137
loc: {
6138
start: { line: 1, column: 0 },
6139
end: { line: 1, column: 12 }
6140
}
6141
},
6142
range: [0, 12],
6143
loc: {
6144
start: { line: 1, column: 0 },
6145
end: { line: 1, column: 12 }
6146
}
6147
},
6148
6149
'new new foo': {
6150
type: 'ExpressionStatement',
6151
expression: {
6152
type: 'NewExpression',
6153
callee: {
6154
type: 'NewExpression',
6155
callee: {
6156
type: 'Identifier',
6157
name: 'foo',
6158
range: [8, 11],
6159
loc: {
6160
start: { line: 1, column: 8 },
6161
end: { line: 1, column: 11 }
6162
}
6163
},
6164
'arguments': [],
6165
range: [4, 11],
6166
loc: {
6167
start: { line: 1, column: 4 },
6168
end: { line: 1, column: 11 }
6169
}
6170
},
6171
'arguments': [],
6172
range: [0, 11],
6173
loc: {
6174
start: { line: 1, column: 0 },
6175
end: { line: 1, column: 11 }
6176
}
6177
},
6178
range: [0, 11],
6179
loc: {
6180
start: { line: 1, column: 0 },
6181
end: { line: 1, column: 11 }
6182
}
6183
},
6184
6185
'new new foo()': {
6186
type: 'ExpressionStatement',
6187
expression: {
6188
type: 'NewExpression',
6189
callee: {
6190
type: 'NewExpression',
6191
callee: {
6192
type: 'Identifier',
6193
name: 'foo',
6194
range: [8, 11],
6195
loc: {
6196
start: { line: 1, column: 8 },
6197
end: { line: 1, column: 11 }
6198
}
6199
},
6200
'arguments': [],
6201
range: [4, 13],
6202
loc: {
6203
start: { line: 1, column: 4 },
6204
end: { line: 1, column: 13 }
6205
}
6206
},
6207
'arguments': [],
6208
range: [0, 13],
6209
loc: {
6210
start: { line: 1, column: 0 },
6211
end: { line: 1, column: 13 }
6212
}
6213
},
6214
range: [0, 13],
6215
loc: {
6216
start: { line: 1, column: 0 },
6217
end: { line: 1, column: 13 }
6218
}
6219
},
6220
6221
'new foo().bar()': {
6222
type: 'ExpressionStatement',
6223
expression: {
6224
type: 'CallExpression',
6225
callee: {
6226
type: 'MemberExpression',
6227
computed: false,
6228
object: {
6229
type: 'NewExpression',
6230
callee: {
6231
type: 'Identifier',
6232
name: 'foo',
6233
range: [4, 7],
6234
loc: {
6235
start: { line: 1, column: 4 },
6236
end: { line: 1, column: 7 }
6237
}
6238
},
6239
'arguments': [],
6240
range: [0, 9],
6241
loc: {
6242
start: { line: 1, column: 0 },
6243
end: { line: 1, column: 9 }
6244
}
6245
},
6246
property: {
6247
type: 'Identifier',
6248
name: 'bar',
6249
range: [10, 13],
6250
loc: {
6251
start: { line: 1, column: 10 },
6252
end: { line: 1, column: 13 }
6253
}
6254
},
6255
range: [0, 13],
6256
loc: {
6257
start: { line: 1, column: 0 },
6258
end: { line: 1, column: 13 }
6259
}
6260
},
6261
'arguments': [],
6262
range: [0, 15],
6263
loc: {
6264
start: { line: 1, column: 0 },
6265
end: { line: 1, column: 15 }
6266
}
6267
},
6268
range: [0, 15],
6269
loc: {
6270
start: { line: 1, column: 0 },
6271
end: { line: 1, column: 15 }
6272
}
6273
},
6274
6275
'new foo[bar]': {
6276
type: 'ExpressionStatement',
6277
expression: {
6278
type: 'NewExpression',
6279
callee: {
6280
type: 'MemberExpression',
6281
computed: true,
6282
object: {
6283
type: 'Identifier',
6284
name: 'foo',
6285
range: [4, 7],
6286
loc: {
6287
start: { line: 1, column: 4 },
6288
end: { line: 1, column: 7 }
6289
}
6290
},
6291
property: {
6292
type: 'Identifier',
6293
name: 'bar',
6294
range: [8, 11],
6295
loc: {
6296
start: { line: 1, column: 8 },
6297
end: { line: 1, column: 11 }
6298
}
6299
},
6300
range: [4, 12],
6301
loc: {
6302
start: { line: 1, column: 4 },
6303
end: { line: 1, column: 12 }
6304
}
6305
},
6306
'arguments': [],
6307
range: [0, 12],
6308
loc: {
6309
start: { line: 1, column: 0 },
6310
end: { line: 1, column: 12 }
6311
}
6312
},
6313
range: [0, 12],
6314
loc: {
6315
start: { line: 1, column: 0 },
6316
end: { line: 1, column: 12 }
6317
}
6318
},
6319
6320
'new foo.bar()': {
6321
type: 'ExpressionStatement',
6322
expression: {
6323
type: 'NewExpression',
6324
callee: {
6325
type: 'MemberExpression',
6326
computed: false,
6327
object: {
6328
type: 'Identifier',
6329
name: 'foo',
6330
range: [4, 7],
6331
loc: {
6332
start: { line: 1, column: 4 },
6333
end: { line: 1, column: 7 }
6334
}
6335
},
6336
property: {
6337
type: 'Identifier',
6338
name: 'bar',
6339
range: [8, 11],
6340
loc: {
6341
start: { line: 1, column: 8 },
6342
end: { line: 1, column: 11 }
6343
}
6344
},
6345
range: [4, 11],
6346
loc: {
6347
start: { line: 1, column: 4 },
6348
end: { line: 1, column: 11 }
6349
}
6350
},
6351
'arguments': [],
6352
range: [0, 13],
6353
loc: {
6354
start: { line: 1, column: 0 },
6355
end: { line: 1, column: 13 }
6356
}
6357
},
6358
range: [0, 13],
6359
loc: {
6360
start: { line: 1, column: 0 },
6361
end: { line: 1, column: 13 }
6362
}
6363
},
6364
6365
'( new foo).bar()': {
6366
type: 'ExpressionStatement',
6367
expression: {
6368
type: 'CallExpression',
6369
callee: {
6370
type: 'MemberExpression',
6371
computed: false,
6372
object: {
6373
type: 'NewExpression',
6374
callee: {
6375
type: 'Identifier',
6376
name: 'foo',
6377
range: [6, 9],
6378
loc: {
6379
start: { line: 1, column: 6 },
6380
end: { line: 1, column: 9 }
6381
}
6382
},
6383
'arguments': [],
6384
range: [2, 9],
6385
loc: {
6386
start: { line: 1, column: 2 },
6387
end: { line: 1, column: 9 }
6388
}
6389
},
6390
property: {
6391
type: 'Identifier',
6392
name: 'bar',
6393
range: [11, 14],
6394
loc: {
6395
start: { line: 1, column: 11 },
6396
end: { line: 1, column: 14 }
6397
}
6398
},
6399
range: [0, 14],
6400
loc: {
6401
start: { line: 1, column: 0 },
6402
end: { line: 1, column: 14 }
6403
}
6404
},
6405
'arguments': [],
6406
range: [0, 16],
6407
loc: {
6408
start: { line: 1, column: 0 },
6409
end: { line: 1, column: 16 }
6410
}
6411
},
6412
range: [0, 16],
6413
loc: {
6414
start: { line: 1, column: 0 },
6415
end: { line: 1, column: 16 }
6416
}
6417
},
6418
6419
'foo(bar, baz)': {
6420
type: 'ExpressionStatement',
6421
expression: {
6422
type: 'CallExpression',
6423
callee: {
6424
type: 'Identifier',
6425
name: 'foo',
6426
range: [0, 3],
6427
loc: {
6428
start: { line: 1, column: 0 },
6429
end: { line: 1, column: 3 }
6430
}
6431
},
6432
'arguments': [{
6433
type: 'Identifier',
6434
name: 'bar',
6435
range: [4, 7],
6436
loc: {
6437
start: { line: 1, column: 4 },
6438
end: { line: 1, column: 7 }
6439
}
6440
}, {
6441
type: 'Identifier',
6442
name: 'baz',
6443
range: [9, 12],
6444
loc: {
6445
start: { line: 1, column: 9 },
6446
end: { line: 1, column: 12 }
6447
}
6448
}],
6449
range: [0, 13],
6450
loc: {
6451
start: { line: 1, column: 0 },
6452
end: { line: 1, column: 13 }
6453
}
6454
},
6455
range: [0, 13],
6456
loc: {
6457
start: { line: 1, column: 0 },
6458
end: { line: 1, column: 13 }
6459
}
6460
},
6461
6462
'( foo )()': {
6463
type: 'ExpressionStatement',
6464
expression: {
6465
type: 'CallExpression',
6466
callee: {
6467
type: 'Identifier',
6468
name: 'foo',
6469
range: [5, 8],
6470
loc: {
6471
start: { line: 1, column: 5 },
6472
end: { line: 1, column: 8 }
6473
}
6474
},
6475
'arguments': [],
6476
range: [0, 13],
6477
loc: {
6478
start: { line: 1, column: 0 },
6479
end: { line: 1, column: 13 }
6480
}
6481
},
6482
range: [0, 13],
6483
loc: {
6484
start: { line: 1, column: 0 },
6485
end: { line: 1, column: 13 }
6486
}
6487
},
6488
6489
'universe.milkyway': {
6490
type: 'ExpressionStatement',
6491
expression: {
6492
type: 'MemberExpression',
6493
computed: false,
6494
object: {
6495
type: 'Identifier',
6496
name: 'universe',
6497
range: [0, 8],
6498
loc: {
6499
start: { line: 1, column: 0 },
6500
end: { line: 1, column: 8 }
6501
}
6502
},
6503
property: {
6504
type: 'Identifier',
6505
name: 'milkyway',
6506
range: [9, 17],
6507
loc: {
6508
start: { line: 1, column: 9 },
6509
end: { line: 1, column: 17 }
6510
}
6511
},
6512
range: [0, 17],
6513
loc: {
6514
start: { line: 1, column: 0 },
6515
end: { line: 1, column: 17 }
6516
}
6517
},
6518
range: [0, 17],
6519
loc: {
6520
start: { line: 1, column: 0 },
6521
end: { line: 1, column: 17 }
6522
}
6523
},
6524
6525
'universe.milkyway.solarsystem': {
6526
type: 'ExpressionStatement',
6527
expression: {
6528
type: 'MemberExpression',
6529
computed: false,
6530
object: {
6531
type: 'MemberExpression',
6532
computed: false,
6533
object: {
6534
type: 'Identifier',
6535
name: 'universe',
6536
range: [0, 8],
6537
loc: {
6538
start: { line: 1, column: 0 },
6539
end: { line: 1, column: 8 }
6540
}
6541
},
6542
property: {
6543
type: 'Identifier',
6544
name: 'milkyway',
6545
range: [9, 17],
6546
loc: {
6547
start: { line: 1, column: 9 },
6548
end: { line: 1, column: 17 }
6549
}
6550
},
6551
range: [0, 17],
6552
loc: {
6553
start: { line: 1, column: 0 },
6554
end: { line: 1, column: 17 }
6555
}
6556
},
6557
property: {
6558
type: 'Identifier',
6559
name: 'solarsystem',
6560
range: [18, 29],
6561
loc: {
6562
start: { line: 1, column: 18 },
6563
end: { line: 1, column: 29 }
6564
}
6565
},
6566
range: [0, 29],
6567
loc: {
6568
start: { line: 1, column: 0 },
6569
end: { line: 1, column: 29 }
6570
}
6571
},
6572
range: [0, 29],
6573
loc: {
6574
start: { line: 1, column: 0 },
6575
end: { line: 1, column: 29 }
6576
}
6577
},
6578
6579
'universe.milkyway.solarsystem.Earth': {
6580
type: 'ExpressionStatement',
6581
expression: {
6582
type: 'MemberExpression',
6583
computed: false,
6584
object: {
6585
type: 'MemberExpression',
6586
computed: false,
6587
object: {
6588
type: 'MemberExpression',
6589
computed: false,
6590
object: {
6591
type: 'Identifier',
6592
name: 'universe',
6593
range: [0, 8],
6594
loc: {
6595
start: { line: 1, column: 0 },
6596
end: { line: 1, column: 8 }
6597
}
6598
},
6599
property: {
6600
type: 'Identifier',
6601
name: 'milkyway',
6602
range: [9, 17],
6603
loc: {
6604
start: { line: 1, column: 9 },
6605
end: { line: 1, column: 17 }
6606
}
6607
},
6608
range: [0, 17],
6609
loc: {
6610
start: { line: 1, column: 0 },
6611
end: { line: 1, column: 17 }
6612
}
6613
},
6614
property: {
6615
type: 'Identifier',
6616
name: 'solarsystem',
6617
range: [18, 29],
6618
loc: {
6619
start: { line: 1, column: 18 },
6620
end: { line: 1, column: 29 }
6621
}
6622
},
6623
range: [0, 29],
6624
loc: {
6625
start: { line: 1, column: 0 },
6626
end: { line: 1, column: 29 }
6627
}
6628
},
6629
property: {
6630
type: 'Identifier',
6631
name: 'Earth',
6632
range: [30, 35],
6633
loc: {
6634
start: { line: 1, column: 30 },
6635
end: { line: 1, column: 35 }
6636
}
6637
},
6638
range: [0, 35],
6639
loc: {
6640
start: { line: 1, column: 0 },
6641
end: { line: 1, column: 35 }
6642
}
6643
},
6644
range: [0, 35],
6645
loc: {
6646
start: { line: 1, column: 0 },
6647
end: { line: 1, column: 35 }
6648
}
6649
},
6650
6651
'universe[galaxyName, otherUselessName]': {
6652
type: 'ExpressionStatement',
6653
expression: {
6654
type: 'MemberExpression',
6655
computed: true,
6656
object: {
6657
type: 'Identifier',
6658
name: 'universe',
6659
range: [0, 8],
6660
loc: {
6661
start: { line: 1, column: 0 },
6662
end: { line: 1, column: 8 }
6663
}
6664
},
6665
property: {
6666
type: 'SequenceExpression',
6667
expressions: [{
6668
type: 'Identifier',
6669
name: 'galaxyName',
6670
range: [9, 19],
6671
loc: {
6672
start: { line: 1, column: 9 },
6673
end: { line: 1, column: 19 }
6674
}
6675
}, {
6676
type: 'Identifier',
6677
name: 'otherUselessName',
6678
range: [21, 37],
6679
loc: {
6680
start: { line: 1, column: 21 },
6681
end: { line: 1, column: 37 }
6682
}
6683
}],
6684
range: [9, 37],
6685
loc: {
6686
start: { line: 1, column: 9 },
6687
end: { line: 1, column: 37 }
6688
}
6689
},
6690
range: [0, 38],
6691
loc: {
6692
start: { line: 1, column: 0 },
6693
end: { line: 1, column: 38 }
6694
}
6695
},
6696
range: [0, 38],
6697
loc: {
6698
start: { line: 1, column: 0 },
6699
end: { line: 1, column: 38 }
6700
}
6701
},
6702
6703
'universe[galaxyName]': {
6704
type: 'ExpressionStatement',
6705
expression: {
6706
type: 'MemberExpression',
6707
computed: true,
6708
object: {
6709
type: 'Identifier',
6710
name: 'universe',
6711
range: [0, 8],
6712
loc: {
6713
start: { line: 1, column: 0 },
6714
end: { line: 1, column: 8 }
6715
}
6716
},
6717
property: {
6718
type: 'Identifier',
6719
name: 'galaxyName',
6720
range: [9, 19],
6721
loc: {
6722
start: { line: 1, column: 9 },
6723
end: { line: 1, column: 19 }
6724
}
6725
},
6726
range: [0, 20],
6727
loc: {
6728
start: { line: 1, column: 0 },
6729
end: { line: 1, column: 20 }
6730
}
6731
},
6732
range: [0, 20],
6733
loc: {
6734
start: { line: 1, column: 0 },
6735
end: { line: 1, column: 20 }
6736
}
6737
},
6738
6739
'universe[42].galaxies': {
6740
type: 'ExpressionStatement',
6741
expression: {
6742
type: 'MemberExpression',
6743
computed: false,
6744
object: {
6745
type: 'MemberExpression',
6746
computed: true,
6747
object: {
6748
type: 'Identifier',
6749
name: 'universe',
6750
range: [0, 8],
6751
loc: {
6752
start: { line: 1, column: 0 },
6753
end: { line: 1, column: 8 }
6754
}
6755
},
6756
property: {
6757
type: 'Literal',
6758
value: 42,
6759
raw: '42',
6760
range: [9, 11],
6761
loc: {
6762
start: { line: 1, column: 9 },
6763
end: { line: 1, column: 11 }
6764
}
6765
},
6766
range: [0, 12],
6767
loc: {
6768
start: { line: 1, column: 0 },
6769
end: { line: 1, column: 12 }
6770
}
6771
},
6772
property: {
6773
type: 'Identifier',
6774
name: 'galaxies',
6775
range: [13, 21],
6776
loc: {
6777
start: { line: 1, column: 13 },
6778
end: { line: 1, column: 21 }
6779
}
6780
},
6781
range: [0, 21],
6782
loc: {
6783
start: { line: 1, column: 0 },
6784
end: { line: 1, column: 21 }
6785
}
6786
},
6787
range: [0, 21],
6788
loc: {
6789
start: { line: 1, column: 0 },
6790
end: { line: 1, column: 21 }
6791
}
6792
},
6793
6794
'universe(42).galaxies': {
6795
type: 'ExpressionStatement',
6796
expression: {
6797
type: 'MemberExpression',
6798
computed: false,
6799
object: {
6800
type: 'CallExpression',
6801
callee: {
6802
type: 'Identifier',
6803
name: 'universe',
6804
range: [0, 8],
6805
loc: {
6806
start: { line: 1, column: 0 },
6807
end: { line: 1, column: 8 }
6808
}
6809
},
6810
'arguments': [{
6811
type: 'Literal',
6812
value: 42,
6813
raw: '42',
6814
range: [9, 11],
6815
loc: {
6816
start: { line: 1, column: 9 },
6817
end: { line: 1, column: 11 }
6818
}
6819
}],
6820
range: [0, 12],
6821
loc: {
6822
start: { line: 1, column: 0 },
6823
end: { line: 1, column: 12 }
6824
}
6825
},
6826
property: {
6827
type: 'Identifier',
6828
name: 'galaxies',
6829
range: [13, 21],
6830
loc: {
6831
start: { line: 1, column: 13 },
6832
end: { line: 1, column: 21 }
6833
}
6834
},
6835
range: [0, 21],
6836
loc: {
6837
start: { line: 1, column: 0 },
6838
end: { line: 1, column: 21 }
6839
}
6840
},
6841
range: [0, 21],
6842
loc: {
6843
start: { line: 1, column: 0 },
6844
end: { line: 1, column: 21 }
6845
}
6846
},
6847
6848
'universe(42).galaxies(14, 3, 77).milkyway': {
6849
type: 'ExpressionStatement',
6850
expression: {
6851
type: 'MemberExpression',
6852
computed: false,
6853
object: {
6854
type: 'CallExpression',
6855
callee: {
6856
type: 'MemberExpression',
6857
computed: false,
6858
object: {
6859
type: 'CallExpression',
6860
callee: {
6861
type: 'Identifier',
6862
name: 'universe',
6863
range: [0, 8],
6864
loc: {
6865
start: { line: 1, column: 0 },
6866
end: { line: 1, column: 8 }
6867
}
6868
},
6869
'arguments': [{
6870
type: 'Literal',
6871
value: 42,
6872
raw: '42',
6873
range: [9, 11],
6874
loc: {
6875
start: { line: 1, column: 9 },
6876
end: { line: 1, column: 11 }
6877
}
6878
}],
6879
range: [0, 12],
6880
loc: {
6881
start: { line: 1, column: 0 },
6882
end: { line: 1, column: 12 }
6883
}
6884
},
6885
property: {
6886
type: 'Identifier',
6887
name: 'galaxies',
6888
range: [13, 21],
6889
loc: {
6890
start: { line: 1, column: 13 },
6891
end: { line: 1, column: 21 }
6892
}
6893
},
6894
range: [0, 21],
6895
loc: {
6896
start: { line: 1, column: 0 },
6897
end: { line: 1, column: 21 }
6898
}
6899
},
6900
'arguments': [{
6901
type: 'Literal',
6902
value: 14,
6903
raw: '14',
6904
range: [22, 24],
6905
loc: {
6906
start: { line: 1, column: 22 },
6907
end: { line: 1, column: 24 }
6908
}
6909
}, {
6910
type: 'Literal',
6911
value: 3,
6912
raw: '3',
6913
range: [26, 27],
6914
loc: {
6915
start: { line: 1, column: 26 },
6916
end: { line: 1, column: 27 }
6917
}
6918
}, {
6919
type: 'Literal',
6920
value: 77,
6921
raw: '77',
6922
range: [29, 31],
6923
loc: {
6924
start: { line: 1, column: 29 },
6925
end: { line: 1, column: 31 }
6926
}
6927
}],
6928
range: [0, 32],
6929
loc: {
6930
start: { line: 1, column: 0 },
6931
end: { line: 1, column: 32 }
6932
}
6933
},
6934
property: {
6935
type: 'Identifier',
6936
name: 'milkyway',
6937
range: [33, 41],
6938
loc: {
6939
start: { line: 1, column: 33 },
6940
end: { line: 1, column: 41 }
6941
}
6942
},
6943
range: [0, 41],
6944
loc: {
6945
start: { line: 1, column: 0 },
6946
end: { line: 1, column: 41 }
6947
}
6948
},
6949
range: [0, 41],
6950
loc: {
6951
start: { line: 1, column: 0 },
6952
end: { line: 1, column: 41 }
6953
}
6954
},
6955
6956
'earth.asia.Indonesia.prepareForElection(2014)': {
6957
type: 'ExpressionStatement',
6958
expression: {
6959
type: 'CallExpression',
6960
callee: {
6961
type: 'MemberExpression',
6962
computed: false,
6963
object: {
6964
type: 'MemberExpression',
6965
computed: false,
6966
object: {
6967
type: 'MemberExpression',
6968
computed: false,
6969
object: {
6970
type: 'Identifier',
6971
name: 'earth',
6972
range: [0, 5],
6973
loc: {
6974
start: { line: 1, column: 0 },
6975
end: { line: 1, column: 5 }
6976
}
6977
},
6978
property: {
6979
type: 'Identifier',
6980
name: 'asia',
6981
range: [6, 10],
6982
loc: {
6983
start: { line: 1, column: 6 },
6984
end: { line: 1, column: 10 }
6985
}
6986
},
6987
range: [0, 10],
6988
loc: {
6989
start: { line: 1, column: 0 },
6990
end: { line: 1, column: 10 }
6991
}
6992
},
6993
property: {
6994
type: 'Identifier',
6995
name: 'Indonesia',
6996
range: [11, 20],
6997
loc: {
6998
start: { line: 1, column: 11 },
6999
end: { line: 1, column: 20 }
7000
}
7001
},
7002
range: [0, 20],
7003
loc: {
7004
start: { line: 1, column: 0 },
7005
end: { line: 1, column: 20 }
7006
}
7007
},
7008
property: {
7009
type: 'Identifier',
7010
name: 'prepareForElection',
7011
range: [21, 39],
7012
loc: {
7013
start: { line: 1, column: 21 },
7014
end: { line: 1, column: 39 }
7015
}
7016
},
7017
range: [0, 39],
7018
loc: {
7019
start: { line: 1, column: 0 },
7020
end: { line: 1, column: 39 }
7021
}
7022
},
7023
'arguments': [{
7024
type: 'Literal',
7025
value: 2014,
7026
raw: '2014',
7027
range: [40, 44],
7028
loc: {
7029
start: { line: 1, column: 40 },
7030
end: { line: 1, column: 44 }
7031
}
7032
}],
7033
range: [0, 45],
7034
loc: {
7035
start: { line: 1, column: 0 },
7036
end: { line: 1, column: 45 }
7037
}
7038
},
7039
range: [0, 45],
7040
loc: {
7041
start: { line: 1, column: 0 },
7042
end: { line: 1, column: 45 }
7043
}
7044
},
7045
7046
'universe.if': {
7047
type: 'ExpressionStatement',
7048
expression: {
7049
type: 'MemberExpression',
7050
computed: false,
7051
object: {
7052
type: 'Identifier',
7053
name: 'universe',
7054
range: [0, 8],
7055
loc: {
7056
start: { line: 1, column: 0 },
7057
end: { line: 1, column: 8 }
7058
}
7059
},
7060
property: {
7061
type: 'Identifier',
7062
name: 'if',
7063
range: [9, 11],
7064
loc: {
7065
start: { line: 1, column: 9 },
7066
end: { line: 1, column: 11 }
7067
}
7068
},
7069
range: [0, 11],
7070
loc: {
7071
start: { line: 1, column: 0 },
7072
end: { line: 1, column: 11 }
7073
}
7074
},
7075
range: [0, 11],
7076
loc: {
7077
start: { line: 1, column: 0 },
7078
end: { line: 1, column: 11 }
7079
}
7080
},
7081
7082
'universe.true': {
7083
type: 'ExpressionStatement',
7084
expression: {
7085
type: 'MemberExpression',
7086
computed: false,
7087
object: {
7088
type: 'Identifier',
7089
name: 'universe',
7090
range: [0, 8],
7091
loc: {
7092
start: { line: 1, column: 0 },
7093
end: { line: 1, column: 8 }
7094
}
7095
},
7096
property: {
7097
type: 'Identifier',
7098
name: 'true',
7099
range: [9, 13],
7100
loc: {
7101
start: { line: 1, column: 9 },
7102
end: { line: 1, column: 13 }
7103
}
7104
},
7105
range: [0, 13],
7106
loc: {
7107
start: { line: 1, column: 0 },
7108
end: { line: 1, column: 13 }
7109
}
7110
},
7111
range: [0, 13],
7112
loc: {
7113
start: { line: 1, column: 0 },
7114
end: { line: 1, column: 13 }
7115
}
7116
},
7117
7118
'universe.false': {
7119
type: 'ExpressionStatement',
7120
expression: {
7121
type: 'MemberExpression',
7122
computed: false,
7123
object: {
7124
type: 'Identifier',
7125
name: 'universe',
7126
range: [0, 8],
7127
loc: {
7128
start: { line: 1, column: 0 },
7129
end: { line: 1, column: 8 }
7130
}
7131
},
7132
property: {
7133
type: 'Identifier',
7134
name: 'false',
7135
range: [9, 14],
7136
loc: {
7137
start: { line: 1, column: 9 },
7138
end: { line: 1, column: 14 }
7139
}
7140
},
7141
range: [0, 14],
7142
loc: {
7143
start: { line: 1, column: 0 },
7144
end: { line: 1, column: 14 }
7145
}
7146
},
7147
range: [0, 14],
7148
loc: {
7149
start: { line: 1, column: 0 },
7150
end: { line: 1, column: 14 }
7151
}
7152
},
7153
7154
'universe.null': {
7155
type: 'ExpressionStatement',
7156
expression: {
7157
type: 'MemberExpression',
7158
computed: false,
7159
object: {
7160
type: 'Identifier',
7161
name: 'universe',
7162
range: [0, 8],
7163
loc: {
7164
start: { line: 1, column: 0 },
7165
end: { line: 1, column: 8 }
7166
}
7167
},
7168
property: {
7169
type: 'Identifier',
7170
name: 'null',
7171
range: [9, 13],
7172
loc: {
7173
start: { line: 1, column: 9 },
7174
end: { line: 1, column: 13 }
7175
}
7176
},
7177
range: [0, 13],
7178
loc: {
7179
start: { line: 1, column: 0 },
7180
end: { line: 1, column: 13 }
7181
}
7182
},
7183
range: [0, 13],
7184
loc: {
7185
start: { line: 1, column: 0 },
7186
end: { line: 1, column: 13 }
7187
}
7188
}
7189
7190
},
7191
7192
'Postfix Expressions': {
7193
7194
'x++': {
7195
type: 'ExpressionStatement',
7196
expression: {
7197
type: 'UpdateExpression',
7198
operator: '++',
7199
argument: {
7200
type: 'Identifier',
7201
name: 'x',
7202
range: [0, 1],
7203
loc: {
7204
start: { line: 1, column: 0 },
7205
end: { line: 1, column: 1 }
7206
}
7207
},
7208
prefix: false,
7209
range: [0, 3],
7210
loc: {
7211
start: { line: 1, column: 0 },
7212
end: { line: 1, column: 3 }
7213
}
7214
},
7215
range: [0, 3],
7216
loc: {
7217
start: { line: 1, column: 0 },
7218
end: { line: 1, column: 3 }
7219
}
7220
},
7221
7222
'x--': {
7223
type: 'ExpressionStatement',
7224
expression: {
7225
type: 'UpdateExpression',
7226
operator: '--',
7227
argument: {
7228
type: 'Identifier',
7229
name: 'x',
7230
range: [0, 1],
7231
loc: {
7232
start: { line: 1, column: 0 },
7233
end: { line: 1, column: 1 }
7234
}
7235
},
7236
prefix: false,
7237
range: [0, 3],
7238
loc: {
7239
start: { line: 1, column: 0 },
7240
end: { line: 1, column: 3 }
7241
}
7242
},
7243
range: [0, 3],
7244
loc: {
7245
start: { line: 1, column: 0 },
7246
end: { line: 1, column: 3 }
7247
}
7248
},
7249
7250
'eval++': {
7251
type: 'ExpressionStatement',
7252
expression: {
7253
type: 'UpdateExpression',
7254
operator: '++',
7255
argument: {
7256
type: 'Identifier',
7257
name: 'eval',
7258
range: [0, 4],
7259
loc: {
7260
start: { line: 1, column: 0 },
7261
end: { line: 1, column: 4 }
7262
}
7263
},
7264
prefix: false,
7265
range: [0, 6],
7266
loc: {
7267
start: { line: 1, column: 0 },
7268
end: { line: 1, column: 6 }
7269
}
7270
},
7271
range: [0, 6],
7272
loc: {
7273
start: { line: 1, column: 0 },
7274
end: { line: 1, column: 6 }
7275
}
7276
},
7277
7278
'eval--': {
7279
type: 'ExpressionStatement',
7280
expression: {
7281
type: 'UpdateExpression',
7282
operator: '--',
7283
argument: {
7284
type: 'Identifier',
7285
name: 'eval',
7286
range: [0, 4],
7287
loc: {
7288
start: { line: 1, column: 0 },
7289
end: { line: 1, column: 4 }
7290
}
7291
},
7292
prefix: false,
7293
range: [0, 6],
7294
loc: {
7295
start: { line: 1, column: 0 },
7296
end: { line: 1, column: 6 }
7297
}
7298
},
7299
range: [0, 6],
7300
loc: {
7301
start: { line: 1, column: 0 },
7302
end: { line: 1, column: 6 }
7303
}
7304
},
7305
7306
'arguments++': {
7307
type: 'ExpressionStatement',
7308
expression: {
7309
type: 'UpdateExpression',
7310
operator: '++',
7311
argument: {
7312
type: 'Identifier',
7313
name: 'arguments',
7314
range: [0, 9],
7315
loc: {
7316
start: { line: 1, column: 0 },
7317
end: { line: 1, column: 9 }
7318
}
7319
},
7320
prefix: false,
7321
range: [0, 11],
7322
loc: {
7323
start: { line: 1, column: 0 },
7324
end: { line: 1, column: 11 }
7325
}
7326
},
7327
range: [0, 11],
7328
loc: {
7329
start: { line: 1, column: 0 },
7330
end: { line: 1, column: 11 }
7331
}
7332
},
7333
7334
'arguments--': {
7335
type: 'ExpressionStatement',
7336
expression: {
7337
type: 'UpdateExpression',
7338
operator: '--',
7339
argument: {
7340
type: 'Identifier',
7341
name: 'arguments',
7342
range: [0, 9],
7343
loc: {
7344
start: { line: 1, column: 0 },
7345
end: { line: 1, column: 9 }
7346
}
7347
},
7348
prefix: false,
7349
range: [0, 11],
7350
loc: {
7351
start: { line: 1, column: 0 },
7352
end: { line: 1, column: 11 }
7353
}
7354
},
7355
range: [0, 11],
7356
loc: {
7357
start: { line: 1, column: 0 },
7358
end: { line: 1, column: 11 }
7359
}
7360
}
7361
7362
},
7363
7364
'Unary Operators': {
7365
7366
'++x': {
7367
type: 'ExpressionStatement',
7368
expression: {
7369
type: 'UpdateExpression',
7370
operator: '++',
7371
argument: {
7372
type: 'Identifier',
7373
name: 'x',
7374
range: [2, 3],
7375
loc: {
7376
start: { line: 1, column: 2 },
7377
end: { line: 1, column: 3 }
7378
}
7379
},
7380
prefix: true,
7381
range: [0, 3],
7382
loc: {
7383
start: { line: 1, column: 0 },
7384
end: { line: 1, column: 3 }
7385
}
7386
},
7387
range: [0, 3],
7388
loc: {
7389
start: { line: 1, column: 0 },
7390
end: { line: 1, column: 3 }
7391
}
7392
},
7393
7394
'--x': {
7395
type: 'ExpressionStatement',
7396
expression: {
7397
type: 'UpdateExpression',
7398
operator: '--',
7399
argument: {
7400
type: 'Identifier',
7401
name: 'x',
7402
range: [2, 3],
7403
loc: {
7404
start: { line: 1, column: 2 },
7405
end: { line: 1, column: 3 }
7406
}
7407
},
7408
prefix: true,
7409
range: [0, 3],
7410
loc: {
7411
start: { line: 1, column: 0 },
7412
end: { line: 1, column: 3 }
7413
}
7414
},
7415
range: [0, 3],
7416
loc: {
7417
start: { line: 1, column: 0 },
7418
end: { line: 1, column: 3 }
7419
}
7420
},
7421
7422
'++eval': {
7423
type: 'ExpressionStatement',
7424
expression: {
7425
type: 'UpdateExpression',
7426
operator: '++',
7427
argument: {
7428
type: 'Identifier',
7429
name: 'eval',
7430
range: [2, 6],
7431
loc: {
7432
start: { line: 1, column: 2 },
7433
end: { line: 1, column: 6 }
7434
}
7435
},
7436
prefix: true,
7437
range: [0, 6],
7438
loc: {
7439
start: { line: 1, column: 0 },
7440
end: { line: 1, column: 6 }
7441
}
7442
},
7443
range: [0, 6],
7444
loc: {
7445
start: { line: 1, column: 0 },
7446
end: { line: 1, column: 6 }
7447
}
7448
},
7449
7450
'--eval': {
7451
type: 'ExpressionStatement',
7452
expression: {
7453
type: 'UpdateExpression',
7454
operator: '--',
7455
argument: {
7456
type: 'Identifier',
7457
name: 'eval',
7458
range: [2, 6],
7459
loc: {
7460
start: { line: 1, column: 2 },
7461
end: { line: 1, column: 6 }
7462
}
7463
},
7464
prefix: true,
7465
range: [0, 6],
7466
loc: {
7467
start: { line: 1, column: 0 },
7468
end: { line: 1, column: 6 }
7469
}
7470
},
7471
range: [0, 6],
7472
loc: {
7473
start: { line: 1, column: 0 },
7474
end: { line: 1, column: 6 }
7475
}
7476
},
7477
7478
'++arguments': {
7479
type: 'ExpressionStatement',
7480
expression: {
7481
type: 'UpdateExpression',
7482
operator: '++',
7483
argument: {
7484
type: 'Identifier',
7485
name: 'arguments',
7486
range: [2, 11],
7487
loc: {
7488
start: { line: 1, column: 2 },
7489
end: { line: 1, column: 11 }
7490
}
7491
},
7492
prefix: true,
7493
range: [0, 11],
7494
loc: {
7495
start: { line: 1, column: 0 },
7496
end: { line: 1, column: 11 }
7497
}
7498
},
7499
range: [0, 11],
7500
loc: {
7501
start: { line: 1, column: 0 },
7502
end: { line: 1, column: 11 }
7503
}
7504
},
7505
7506
'--arguments': {
7507
type: 'ExpressionStatement',
7508
expression: {
7509
type: 'UpdateExpression',
7510
operator: '--',
7511
argument: {
7512
type: 'Identifier',
7513
name: 'arguments',
7514
range: [2, 11],
7515
loc: {
7516
start: { line: 1, column: 2 },
7517
end: { line: 1, column: 11 }
7518
}
7519
},
7520
prefix: true,
7521
range: [0, 11],
7522
loc: {
7523
start: { line: 1, column: 0 },
7524
end: { line: 1, column: 11 }
7525
}
7526
},
7527
range: [0, 11],
7528
loc: {
7529
start: { line: 1, column: 0 },
7530
end: { line: 1, column: 11 }
7531
}
7532
},
7533
7534
'+x': {
7535
type: 'ExpressionStatement',
7536
expression: {
7537
type: 'UnaryExpression',
7538
operator: '+',
7539
argument: {
7540
type: 'Identifier',
7541
name: 'x',
7542
range: [1, 2],
7543
loc: {
7544
start: { line: 1, column: 1 },
7545
end: { line: 1, column: 2 }
7546
}
7547
},
7548
prefix: true,
7549
range: [0, 2],
7550
loc: {
7551
start: { line: 1, column: 0 },
7552
end: { line: 1, column: 2 }
7553
}
7554
},
7555
range: [0, 2],
7556
loc: {
7557
start: { line: 1, column: 0 },
7558
end: { line: 1, column: 2 }
7559
}
7560
},
7561
7562
'-x': {
7563
type: 'ExpressionStatement',
7564
expression: {
7565
type: 'UnaryExpression',
7566
operator: '-',
7567
argument: {
7568
type: 'Identifier',
7569
name: 'x',
7570
range: [1, 2],
7571
loc: {
7572
start: { line: 1, column: 1 },
7573
end: { line: 1, column: 2 }
7574
}
7575
},
7576
prefix: true,
7577
range: [0, 2],
7578
loc: {
7579
start: { line: 1, column: 0 },
7580
end: { line: 1, column: 2 }
7581
}
7582
},
7583
range: [0, 2],
7584
loc: {
7585
start: { line: 1, column: 0 },
7586
end: { line: 1, column: 2 }
7587
}
7588
},
7589
7590
'~x': {
7591
type: 'ExpressionStatement',
7592
expression: {
7593
type: 'UnaryExpression',
7594
operator: '~',
7595
argument: {
7596
type: 'Identifier',
7597
name: 'x',
7598
range: [1, 2],
7599
loc: {
7600
start: { line: 1, column: 1 },
7601
end: { line: 1, column: 2 }
7602
}
7603
},
7604
prefix: true,
7605
range: [0, 2],
7606
loc: {
7607
start: { line: 1, column: 0 },
7608
end: { line: 1, column: 2 }
7609
}
7610
},
7611
range: [0, 2],
7612
loc: {
7613
start: { line: 1, column: 0 },
7614
end: { line: 1, column: 2 }
7615
}
7616
},
7617
7618
'!x': {
7619
type: 'ExpressionStatement',
7620
expression: {
7621
type: 'UnaryExpression',
7622
operator: '!',
7623
argument: {
7624
type: 'Identifier',
7625
name: 'x',
7626
range: [1, 2],
7627
loc: {
7628
start: { line: 1, column: 1 },
7629
end: { line: 1, column: 2 }
7630
}
7631
},
7632
prefix: true,
7633
range: [0, 2],
7634
loc: {
7635
start: { line: 1, column: 0 },
7636
end: { line: 1, column: 2 }
7637
}
7638
},
7639
range: [0, 2],
7640
loc: {
7641
start: { line: 1, column: 0 },
7642
end: { line: 1, column: 2 }
7643
}
7644
},
7645
7646
'void x': {
7647
type: 'ExpressionStatement',
7648
expression: {
7649
type: 'UnaryExpression',
7650
operator: 'void',
7651
argument: {
7652
type: 'Identifier',
7653
name: 'x',
7654
range: [5, 6],
7655
loc: {
7656
start: { line: 1, column: 5 },
7657
end: { line: 1, column: 6 }
7658
}
7659
},
7660
prefix: true,
7661
range: [0, 6],
7662
loc: {
7663
start: { line: 1, column: 0 },
7664
end: { line: 1, column: 6 }
7665
}
7666
},
7667
range: [0, 6],
7668
loc: {
7669
start: { line: 1, column: 0 },
7670
end: { line: 1, column: 6 }
7671
}
7672
},
7673
7674
'delete x': {
7675
type: 'ExpressionStatement',
7676
expression: {
7677
type: 'UnaryExpression',
7678
operator: 'delete',
7679
argument: {
7680
type: 'Identifier',
7681
name: 'x',
7682
range: [7, 8],
7683
loc: {
7684
start: { line: 1, column: 7 },
7685
end: { line: 1, column: 8 }
7686
}
7687
},
7688
prefix: true,
7689
range: [0, 8],
7690
loc: {
7691
start: { line: 1, column: 0 },
7692
end: { line: 1, column: 8 }
7693
}
7694
},
7695
range: [0, 8],
7696
loc: {
7697
start: { line: 1, column: 0 },
7698
end: { line: 1, column: 8 }
7699
}
7700
},
7701
7702
'typeof x': {
7703
type: 'ExpressionStatement',
7704
expression: {
7705
type: 'UnaryExpression',
7706
operator: 'typeof',
7707
argument: {
7708
type: 'Identifier',
7709
name: 'x',
7710
range: [7, 8],
7711
loc: {
7712
start: { line: 1, column: 7 },
7713
end: { line: 1, column: 8 }
7714
}
7715
},
7716
prefix: true,
7717
range: [0, 8],
7718
loc: {
7719
start: { line: 1, column: 0 },
7720
end: { line: 1, column: 8 }
7721
}
7722
},
7723
range: [0, 8],
7724
loc: {
7725
start: { line: 1, column: 0 },
7726
end: { line: 1, column: 8 }
7727
}
7728
}
7729
7730
},
7731
7732
'Multiplicative Operators': {
7733
7734
'x * y': {
7735
type: 'ExpressionStatement',
7736
expression: {
7737
type: 'BinaryExpression',
7738
operator: '*',
7739
left: {
7740
type: 'Identifier',
7741
name: 'x',
7742
range: [0, 1],
7743
loc: {
7744
start: { line: 1, column: 0 },
7745
end: { line: 1, column: 1 }
7746
}
7747
},
7748
right: {
7749
type: 'Identifier',
7750
name: 'y',
7751
range: [4, 5],
7752
loc: {
7753
start: { line: 1, column: 4 },
7754
end: { line: 1, column: 5 }
7755
}
7756
},
7757
range: [0, 5],
7758
loc: {
7759
start: { line: 1, column: 0 },
7760
end: { line: 1, column: 5 }
7761
}
7762
},
7763
range: [0, 5],
7764
loc: {
7765
start: { line: 1, column: 0 },
7766
end: { line: 1, column: 5 }
7767
}
7768
},
7769
7770
'x / y': {
7771
type: 'ExpressionStatement',
7772
expression: {
7773
type: 'BinaryExpression',
7774
operator: '/',
7775
left: {
7776
type: 'Identifier',
7777
name: 'x',
7778
range: [0, 1],
7779
loc: {
7780
start: { line: 1, column: 0 },
7781
end: { line: 1, column: 1 }
7782
}
7783
},
7784
right: {
7785
type: 'Identifier',
7786
name: 'y',
7787
range: [4, 5],
7788
loc: {
7789
start: { line: 1, column: 4 },
7790
end: { line: 1, column: 5 }
7791
}
7792
},
7793
range: [0, 5],
7794
loc: {
7795
start: { line: 1, column: 0 },
7796
end: { line: 1, column: 5 }
7797
}
7798
},
7799
range: [0, 5],
7800
loc: {
7801
start: { line: 1, column: 0 },
7802
end: { line: 1, column: 5 }
7803
}
7804
},
7805
7806
'x % y': {
7807
type: 'ExpressionStatement',
7808
expression: {
7809
type: 'BinaryExpression',
7810
operator: '%',
7811
left: {
7812
type: 'Identifier',
7813
name: 'x',
7814
range: [0, 1],
7815
loc: {
7816
start: { line: 1, column: 0 },
7817
end: { line: 1, column: 1 }
7818
}
7819
},
7820
right: {
7821
type: 'Identifier',
7822
name: 'y',
7823
range: [4, 5],
7824
loc: {
7825
start: { line: 1, column: 4 },
7826
end: { line: 1, column: 5 }
7827
}
7828
},
7829
range: [0, 5],
7830
loc: {
7831
start: { line: 1, column: 0 },
7832
end: { line: 1, column: 5 }
7833
}
7834
},
7835
range: [0, 5],
7836
loc: {
7837
start: { line: 1, column: 0 },
7838
end: { line: 1, column: 5 }
7839
}
7840
}
7841
7842
},
7843
7844
'Additive Operators': {
7845
7846
'x + y': {
7847
type: 'ExpressionStatement',
7848
expression: {
7849
type: 'BinaryExpression',
7850
operator: '+',
7851
left: {
7852
type: 'Identifier',
7853
name: 'x',
7854
range: [0, 1],
7855
loc: {
7856
start: { line: 1, column: 0 },
7857
end: { line: 1, column: 1 }
7858
}
7859
},
7860
right: {
7861
type: 'Identifier',
7862
name: 'y',
7863
range: [4, 5],
7864
loc: {
7865
start: { line: 1, column: 4 },
7866
end: { line: 1, column: 5 }
7867
}
7868
},
7869
range: [0, 5],
7870
loc: {
7871
start: { line: 1, column: 0 },
7872
end: { line: 1, column: 5 }
7873
}
7874
},
7875
range: [0, 5],
7876
loc: {
7877
start: { line: 1, column: 0 },
7878
end: { line: 1, column: 5 }
7879
}
7880
},
7881
7882
'x - y': {
7883
type: 'ExpressionStatement',
7884
expression: {
7885
type: 'BinaryExpression',
7886
operator: '-',
7887
left: {
7888
type: 'Identifier',
7889
name: 'x',
7890
range: [0, 1],
7891
loc: {
7892
start: { line: 1, column: 0 },
7893
end: { line: 1, column: 1 }
7894
}
7895
},
7896
right: {
7897
type: 'Identifier',
7898
name: 'y',
7899
range: [4, 5],
7900
loc: {
7901
start: { line: 1, column: 4 },
7902
end: { line: 1, column: 5 }
7903
}
7904
},
7905
range: [0, 5],
7906
loc: {
7907
start: { line: 1, column: 0 },
7908
end: { line: 1, column: 5 }
7909
}
7910
},
7911
range: [0, 5],
7912
loc: {
7913
start: { line: 1, column: 0 },
7914
end: { line: 1, column: 5 }
7915
}
7916
},
7917
7918
'"use strict" + 42': {
7919
type: 'ExpressionStatement',
7920
expression: {
7921
type: 'BinaryExpression',
7922
operator: '+',
7923
left: {
7924
type: 'Literal',
7925
value: 'use strict',
7926
raw: '"use strict"',
7927
range: [0, 12],
7928
loc: {
7929
start: { line: 1, column: 0 },
7930
end: { line: 1, column: 12 }
7931
}
7932
},
7933
right: {
7934
type: 'Literal',
7935
value: 42,
7936
raw: '42',
7937
range: [15, 17],
7938
loc: {
7939
start: { line: 1, column: 15 },
7940
end: { line: 1, column: 17 }
7941
}
7942
},
7943
range: [0, 17],
7944
loc: {
7945
start: { line: 1, column: 0 },
7946
end: { line: 1, column: 17 }
7947
}
7948
},
7949
range: [0, 17],
7950
loc: {
7951
start: { line: 1, column: 0 },
7952
end: { line: 1, column: 17 }
7953
}
7954
}
7955
7956
},
7957
7958
'Bitwise Shift Operator': {
7959
7960
'x << y': {
7961
type: 'ExpressionStatement',
7962
expression: {
7963
type: 'BinaryExpression',
7964
operator: '<<',
7965
left: {
7966
type: 'Identifier',
7967
name: 'x',
7968
range: [0, 1],
7969
loc: {
7970
start: { line: 1, column: 0 },
7971
end: { line: 1, column: 1 }
7972
}
7973
},
7974
right: {
7975
type: 'Identifier',
7976
name: 'y',
7977
range: [5, 6],
7978
loc: {
7979
start: { line: 1, column: 5 },
7980
end: { line: 1, column: 6 }
7981
}
7982
},
7983
range: [0, 6],
7984
loc: {
7985
start: { line: 1, column: 0 },
7986
end: { line: 1, column: 6 }
7987
}
7988
},
7989
range: [0, 6],
7990
loc: {
7991
start: { line: 1, column: 0 },
7992
end: { line: 1, column: 6 }
7993
}
7994
},
7995
7996
'x >> y': {
7997
type: 'ExpressionStatement',
7998
expression: {
7999
type: 'BinaryExpression',
8000
operator: '>>',
8001
left: {
8002
type: 'Identifier',
8003
name: 'x',
8004
range: [0, 1],
8005
loc: {
8006
start: { line: 1, column: 0 },
8007
end: { line: 1, column: 1 }
8008
}
8009
},
8010
right: {
8011
type: 'Identifier',
8012
name: 'y',
8013
range: [5, 6],
8014
loc: {
8015
start: { line: 1, column: 5 },
8016
end: { line: 1, column: 6 }
8017
}
8018
},
8019
range: [0, 6],
8020
loc: {
8021
start: { line: 1, column: 0 },
8022
end: { line: 1, column: 6 }
8023
}
8024
},
8025
range: [0, 6],
8026
loc: {
8027
start: { line: 1, column: 0 },
8028
end: { line: 1, column: 6 }
8029
}
8030
},
8031
8032
'x >>> y': {
8033
type: 'ExpressionStatement',
8034
expression: {
8035
type: 'BinaryExpression',
8036
operator: '>>>',
8037
left: {
8038
type: 'Identifier',
8039
name: 'x',
8040
range: [0, 1],
8041
loc: {
8042
start: { line: 1, column: 0 },
8043
end: { line: 1, column: 1 }
8044
}
8045
},
8046
right: {
8047
type: 'Identifier',
8048
name: 'y',
8049
range: [6, 7],
8050
loc: {
8051
start: { line: 1, column: 6 },
8052
end: { line: 1, column: 7 }
8053
}
8054
},
8055
range: [0, 7],
8056
loc: {
8057
start: { line: 1, column: 0 },
8058
end: { line: 1, column: 7 }
8059
}
8060
},
8061
range: [0, 7],
8062
loc: {
8063
start: { line: 1, column: 0 },
8064
end: { line: 1, column: 7 }
8065
}
8066
}
8067
8068
},
8069
8070
'Relational Operators': {
8071
8072
'x < y': {
8073
type: 'ExpressionStatement',
8074
expression: {
8075
type: 'BinaryExpression',
8076
operator: '<',
8077
left: {
8078
type: 'Identifier',
8079
name: 'x',
8080
range: [0, 1],
8081
loc: {
8082
start: { line: 1, column: 0 },
8083
end: { line: 1, column: 1 }
8084
}
8085
},
8086
right: {
8087
type: 'Identifier',
8088
name: 'y',
8089
range: [4, 5],
8090
loc: {
8091
start: { line: 1, column: 4 },
8092
end: { line: 1, column: 5 }
8093
}
8094
},
8095
range: [0, 5],
8096
loc: {
8097
start: { line: 1, column: 0 },
8098
end: { line: 1, column: 5 }
8099
}
8100
},
8101
range: [0, 5],
8102
loc: {
8103
start: { line: 1, column: 0 },
8104
end: { line: 1, column: 5 }
8105
}
8106
},
8107
8108
'x > y': {
8109
type: 'ExpressionStatement',
8110
expression: {
8111
type: 'BinaryExpression',
8112
operator: '>',
8113
left: {
8114
type: 'Identifier',
8115
name: 'x',
8116
range: [0, 1],
8117
loc: {
8118
start: { line: 1, column: 0 },
8119
end: { line: 1, column: 1 }
8120
}
8121
},
8122
right: {
8123
type: 'Identifier',
8124
name: 'y',
8125
range: [4, 5],
8126
loc: {
8127
start: { line: 1, column: 4 },
8128
end: { line: 1, column: 5 }
8129
}
8130
},
8131
range: [0, 5],
8132
loc: {
8133
start: { line: 1, column: 0 },
8134
end: { line: 1, column: 5 }
8135
}
8136
},
8137
range: [0, 5],
8138
loc: {
8139
start: { line: 1, column: 0 },
8140
end: { line: 1, column: 5 }
8141
}
8142
},
8143
8144
'x <= y': {
8145
type: 'ExpressionStatement',
8146
expression: {
8147
type: 'BinaryExpression',
8148
operator: '<=',
8149
left: {
8150
type: 'Identifier',
8151
name: 'x',
8152
range: [0, 1],
8153
loc: {
8154
start: { line: 1, column: 0 },
8155
end: { line: 1, column: 1 }
8156
}
8157
},
8158
right: {
8159
type: 'Identifier',
8160
name: 'y',
8161
range: [5, 6],
8162
loc: {
8163
start: { line: 1, column: 5 },
8164
end: { line: 1, column: 6 }
8165
}
8166
},
8167
range: [0, 6],
8168
loc: {
8169
start: { line: 1, column: 0 },
8170
end: { line: 1, column: 6 }
8171
}
8172
},
8173
range: [0, 6],
8174
loc: {
8175
start: { line: 1, column: 0 },
8176
end: { line: 1, column: 6 }
8177
}
8178
},
8179
8180
'x >= y': {
8181
type: 'ExpressionStatement',
8182
expression: {
8183
type: 'BinaryExpression',
8184
operator: '>=',
8185
left: {
8186
type: 'Identifier',
8187
name: 'x',
8188
range: [0, 1],
8189
loc: {
8190
start: { line: 1, column: 0 },
8191
end: { line: 1, column: 1 }
8192
}
8193
},
8194
right: {
8195
type: 'Identifier',
8196
name: 'y',
8197
range: [5, 6],
8198
loc: {
8199
start: { line: 1, column: 5 },
8200
end: { line: 1, column: 6 }
8201
}
8202
},
8203
range: [0, 6],
8204
loc: {
8205
start: { line: 1, column: 0 },
8206
end: { line: 1, column: 6 }
8207
}
8208
},
8209
range: [0, 6],
8210
loc: {
8211
start: { line: 1, column: 0 },
8212
end: { line: 1, column: 6 }
8213
}
8214
},
8215
8216
'x in y': {
8217
type: 'ExpressionStatement',
8218
expression: {
8219
type: 'BinaryExpression',
8220
operator: 'in',
8221
left: {
8222
type: 'Identifier',
8223
name: 'x',
8224
range: [0, 1],
8225
loc: {
8226
start: { line: 1, column: 0 },
8227
end: { line: 1, column: 1 }
8228
}
8229
},
8230
right: {
8231
type: 'Identifier',
8232
name: 'y',
8233
range: [5, 6],
8234
loc: {
8235
start: { line: 1, column: 5 },
8236
end: { line: 1, column: 6 }
8237
}
8238
},
8239
range: [0, 6],
8240
loc: {
8241
start: { line: 1, column: 0 },
8242
end: { line: 1, column: 6 }
8243
}
8244
},
8245
range: [0, 6],
8246
loc: {
8247
start: { line: 1, column: 0 },
8248
end: { line: 1, column: 6 }
8249
}
8250
},
8251
8252
'x instanceof y': {
8253
type: 'ExpressionStatement',
8254
expression: {
8255
type: 'BinaryExpression',
8256
operator: 'instanceof',
8257
left: {
8258
type: 'Identifier',
8259
name: 'x',
8260
range: [0, 1],
8261
loc: {
8262
start: { line: 1, column: 0 },
8263
end: { line: 1, column: 1 }
8264
}
8265
},
8266
right: {
8267
type: 'Identifier',
8268
name: 'y',
8269
range: [13, 14],
8270
loc: {
8271
start: { line: 1, column: 13 },
8272
end: { line: 1, column: 14 }
8273
}
8274
},
8275
range: [0, 14],
8276
loc: {
8277
start: { line: 1, column: 0 },
8278
end: { line: 1, column: 14 }
8279
}
8280
},
8281
range: [0, 14],
8282
loc: {
8283
start: { line: 1, column: 0 },
8284
end: { line: 1, column: 14 }
8285
}
8286
},
8287
8288
'x < y < z': {
8289
type: 'ExpressionStatement',
8290
expression: {
8291
type: 'BinaryExpression',
8292
operator: '<',
8293
left: {
8294
type: 'BinaryExpression',
8295
operator: '<',
8296
left: {
8297
type: 'Identifier',
8298
name: 'x',
8299
range: [0, 1],
8300
loc: {
8301
start: { line: 1, column: 0 },
8302
end: { line: 1, column: 1 }
8303
}
8304
},
8305
right: {
8306
type: 'Identifier',
8307
name: 'y',
8308
range: [4, 5],
8309
loc: {
8310
start: { line: 1, column: 4 },
8311
end: { line: 1, column: 5 }
8312
}
8313
},
8314
range: [0, 5],
8315
loc: {
8316
start: { line: 1, column: 0 },
8317
end: { line: 1, column: 5 }
8318
}
8319
},
8320
right: {
8321
type: 'Identifier',
8322
name: 'z',
8323
range: [8, 9],
8324
loc: {
8325
start: { line: 1, column: 8 },
8326
end: { line: 1, column: 9 }
8327
}
8328
},
8329
range: [0, 9],
8330
loc: {
8331
start: { line: 1, column: 0 },
8332
end: { line: 1, column: 9 }
8333
}
8334
},
8335
range: [0, 9],
8336
loc: {
8337
start: { line: 1, column: 0 },
8338
end: { line: 1, column: 9 }
8339
}
8340
}
8341
8342
},
8343
8344
'Equality Operators': {
8345
8346
'x == y': {
8347
type: 'ExpressionStatement',
8348
expression: {
8349
type: 'BinaryExpression',
8350
operator: '==',
8351
left: {
8352
type: 'Identifier',
8353
name: 'x',
8354
range: [0, 1],
8355
loc: {
8356
start: { line: 1, column: 0 },
8357
end: { line: 1, column: 1 }
8358
}
8359
},
8360
right: {
8361
type: 'Identifier',
8362
name: 'y',
8363
range: [5, 6],
8364
loc: {
8365
start: { line: 1, column: 5 },
8366
end: { line: 1, column: 6 }
8367
}
8368
},
8369
range: [0, 6],
8370
loc: {
8371
start: { line: 1, column: 0 },
8372
end: { line: 1, column: 6 }
8373
}
8374
},
8375
range: [0, 6],
8376
loc: {
8377
start: { line: 1, column: 0 },
8378
end: { line: 1, column: 6 }
8379
}
8380
},
8381
8382
'x != y': {
8383
type: 'ExpressionStatement',
8384
expression: {
8385
type: 'BinaryExpression',
8386
operator: '!=',
8387
left: {
8388
type: 'Identifier',
8389
name: 'x',
8390
range: [0, 1],
8391
loc: {
8392
start: { line: 1, column: 0 },
8393
end: { line: 1, column: 1 }
8394
}
8395
},
8396
right: {
8397
type: 'Identifier',
8398
name: 'y',
8399
range: [5, 6],
8400
loc: {
8401
start: { line: 1, column: 5 },
8402
end: { line: 1, column: 6 }
8403
}
8404
},
8405
range: [0, 6],
8406
loc: {
8407
start: { line: 1, column: 0 },
8408
end: { line: 1, column: 6 }
8409
}
8410
},
8411
range: [0, 6],
8412
loc: {
8413
start: { line: 1, column: 0 },
8414
end: { line: 1, column: 6 }
8415
}
8416
},
8417
8418
'x === y': {
8419
type: 'ExpressionStatement',
8420
expression: {
8421
type: 'BinaryExpression',
8422
operator: '===',
8423
left: {
8424
type: 'Identifier',
8425
name: 'x',
8426
range: [0, 1],
8427
loc: {
8428
start: { line: 1, column: 0 },
8429
end: { line: 1, column: 1 }
8430
}
8431
},
8432
right: {
8433
type: 'Identifier',
8434
name: 'y',
8435
range: [6, 7],
8436
loc: {
8437
start: { line: 1, column: 6 },
8438
end: { line: 1, column: 7 }
8439
}
8440
},
8441
range: [0, 7],
8442
loc: {
8443
start: { line: 1, column: 0 },
8444
end: { line: 1, column: 7 }
8445
}
8446
},
8447
range: [0, 7],
8448
loc: {
8449
start: { line: 1, column: 0 },
8450
end: { line: 1, column: 7 }
8451
}
8452
},
8453
8454
'x !== y': {
8455
type: 'ExpressionStatement',
8456
expression: {
8457
type: 'BinaryExpression',
8458
operator: '!==',
8459
left: {
8460
type: 'Identifier',
8461
name: 'x',
8462
range: [0, 1],
8463
loc: {
8464
start: { line: 1, column: 0 },
8465
end: { line: 1, column: 1 }
8466
}
8467
},
8468
right: {
8469
type: 'Identifier',
8470
name: 'y',
8471
range: [6, 7],
8472
loc: {
8473
start: { line: 1, column: 6 },
8474
end: { line: 1, column: 7 }
8475
}
8476
},
8477
range: [0, 7],
8478
loc: {
8479
start: { line: 1, column: 0 },
8480
end: { line: 1, column: 7 }
8481
}
8482
},
8483
range: [0, 7],
8484
loc: {
8485
start: { line: 1, column: 0 },
8486
end: { line: 1, column: 7 }
8487
}
8488
}
8489
8490
},
8491
8492
'Binary Bitwise Operators': {
8493
8494
'x & y': {
8495
type: 'ExpressionStatement',
8496
expression: {
8497
type: 'BinaryExpression',
8498
operator: '&',
8499
left: {
8500
type: 'Identifier',
8501
name: 'x',
8502
range: [0, 1],
8503
loc: {
8504
start: { line: 1, column: 0 },
8505
end: { line: 1, column: 1 }
8506
}
8507
},
8508
right: {
8509
type: 'Identifier',
8510
name: 'y',
8511
range: [4, 5],
8512
loc: {
8513
start: { line: 1, column: 4 },
8514
end: { line: 1, column: 5 }
8515
}
8516
},
8517
range: [0, 5],
8518
loc: {
8519
start: { line: 1, column: 0 },
8520
end: { line: 1, column: 5 }
8521
}
8522
},
8523
range: [0, 5],
8524
loc: {
8525
start: { line: 1, column: 0 },
8526
end: { line: 1, column: 5 }
8527
}
8528
},
8529
8530
'x ^ y': {
8531
type: 'ExpressionStatement',
8532
expression: {
8533
type: 'BinaryExpression',
8534
operator: '^',
8535
left: {
8536
type: 'Identifier',
8537
name: 'x',
8538
range: [0, 1],
8539
loc: {
8540
start: { line: 1, column: 0 },
8541
end: { line: 1, column: 1 }
8542
}
8543
},
8544
right: {
8545
type: 'Identifier',
8546
name: 'y',
8547
range: [4, 5],
8548
loc: {
8549
start: { line: 1, column: 4 },
8550
end: { line: 1, column: 5 }
8551
}
8552
},
8553
range: [0, 5],
8554
loc: {
8555
start: { line: 1, column: 0 },
8556
end: { line: 1, column: 5 }
8557
}
8558
},
8559
range: [0, 5],
8560
loc: {
8561
start: { line: 1, column: 0 },
8562
end: { line: 1, column: 5 }
8563
}
8564
},
8565
8566
'x | y': {
8567
type: 'ExpressionStatement',
8568
expression: {
8569
type: 'BinaryExpression',
8570
operator: '|',
8571
left: {
8572
type: 'Identifier',
8573
name: 'x',
8574
range: [0, 1],
8575
loc: {
8576
start: { line: 1, column: 0 },
8577
end: { line: 1, column: 1 }
8578
}
8579
},
8580
right: {
8581
type: 'Identifier',
8582
name: 'y',
8583
range: [4, 5],
8584
loc: {
8585
start: { line: 1, column: 4 },
8586
end: { line: 1, column: 5 }
8587
}
8588
},
8589
range: [0, 5],
8590
loc: {
8591
start: { line: 1, column: 0 },
8592
end: { line: 1, column: 5 }
8593
}
8594
},
8595
range: [0, 5],
8596
loc: {
8597
start: { line: 1, column: 0 },
8598
end: { line: 1, column: 5 }
8599
}
8600
}
8601
8602
},
8603
8604
'Binary Expressions': {
8605
8606
'x + y + z': {
8607
type: 'ExpressionStatement',
8608
expression: {
8609
type: 'BinaryExpression',
8610
operator: '+',
8611
left: {
8612
type: 'BinaryExpression',
8613
operator: '+',
8614
left: {
8615
type: 'Identifier',
8616
name: 'x',
8617
range: [0, 1],
8618
loc: {
8619
start: { line: 1, column: 0 },
8620
end: { line: 1, column: 1 }
8621
}
8622
},
8623
right: {
8624
type: 'Identifier',
8625
name: 'y',
8626
range: [4, 5],
8627
loc: {
8628
start: { line: 1, column: 4 },
8629
end: { line: 1, column: 5 }
8630
}
8631
},
8632
range: [0, 5],
8633
loc: {
8634
start: { line: 1, column: 0 },
8635
end: { line: 1, column: 5 }
8636
}
8637
},
8638
right: {
8639
type: 'Identifier',
8640
name: 'z',
8641
range: [8, 9],
8642
loc: {
8643
start: { line: 1, column: 8 },
8644
end: { line: 1, column: 9 }
8645
}
8646
},
8647
range: [0, 9],
8648
loc: {
8649
start: { line: 1, column: 0 },
8650
end: { line: 1, column: 9 }
8651
}
8652
},
8653
range: [0, 9],
8654
loc: {
8655
start: { line: 1, column: 0 },
8656
end: { line: 1, column: 9 }
8657
}
8658
},
8659
8660
'x - y + z': {
8661
type: 'ExpressionStatement',
8662
expression: {
8663
type: 'BinaryExpression',
8664
operator: '+',
8665
left: {
8666
type: 'BinaryExpression',
8667
operator: '-',
8668
left: {
8669
type: 'Identifier',
8670
name: 'x',
8671
range: [0, 1],
8672
loc: {
8673
start: { line: 1, column: 0 },
8674
end: { line: 1, column: 1 }
8675
}
8676
},
8677
right: {
8678
type: 'Identifier',
8679
name: 'y',
8680
range: [4, 5],
8681
loc: {
8682
start: { line: 1, column: 4 },
8683
end: { line: 1, column: 5 }
8684
}
8685
},
8686
range: [0, 5],
8687
loc: {
8688
start: { line: 1, column: 0 },
8689
end: { line: 1, column: 5 }
8690
}
8691
},
8692
right: {
8693
type: 'Identifier',
8694
name: 'z',
8695
range: [8, 9],
8696
loc: {
8697
start: { line: 1, column: 8 },
8698
end: { line: 1, column: 9 }
8699
}
8700
},
8701
range: [0, 9],
8702
loc: {
8703
start: { line: 1, column: 0 },
8704
end: { line: 1, column: 9 }
8705
}
8706
},
8707
range: [0, 9],
8708
loc: {
8709
start: { line: 1, column: 0 },
8710
end: { line: 1, column: 9 }
8711
}
8712
},
8713
8714
'x + y - z': {
8715
type: 'ExpressionStatement',
8716
expression: {
8717
type: 'BinaryExpression',
8718
operator: '-',
8719
left: {
8720
type: 'BinaryExpression',
8721
operator: '+',
8722
left: {
8723
type: 'Identifier',
8724
name: 'x',
8725
range: [0, 1],
8726
loc: {
8727
start: { line: 1, column: 0 },
8728
end: { line: 1, column: 1 }
8729
}
8730
},
8731
right: {
8732
type: 'Identifier',
8733
name: 'y',
8734
range: [4, 5],
8735
loc: {
8736
start: { line: 1, column: 4 },
8737
end: { line: 1, column: 5 }
8738
}
8739
},
8740
range: [0, 5],
8741
loc: {
8742
start: { line: 1, column: 0 },
8743
end: { line: 1, column: 5 }
8744
}
8745
},
8746
right: {
8747
type: 'Identifier',
8748
name: 'z',
8749
range: [8, 9],
8750
loc: {
8751
start: { line: 1, column: 8 },
8752
end: { line: 1, column: 9 }
8753
}
8754
},
8755
range: [0, 9],
8756
loc: {
8757
start: { line: 1, column: 0 },
8758
end: { line: 1, column: 9 }
8759
}
8760
},
8761
range: [0, 9],
8762
loc: {
8763
start: { line: 1, column: 0 },
8764
end: { line: 1, column: 9 }
8765
}
8766
},
8767
8768
'x - y - z': {
8769
type: 'ExpressionStatement',
8770
expression: {
8771
type: 'BinaryExpression',
8772
operator: '-',
8773
left: {
8774
type: 'BinaryExpression',
8775
operator: '-',
8776
left: {
8777
type: 'Identifier',
8778
name: 'x',
8779
range: [0, 1],
8780
loc: {
8781
start: { line: 1, column: 0 },
8782
end: { line: 1, column: 1 }
8783
}
8784
},
8785
right: {
8786
type: 'Identifier',
8787
name: 'y',
8788
range: [4, 5],
8789
loc: {
8790
start: { line: 1, column: 4 },
8791
end: { line: 1, column: 5 }
8792
}
8793
},
8794
range: [0, 5],
8795
loc: {
8796
start: { line: 1, column: 0 },
8797
end: { line: 1, column: 5 }
8798
}
8799
},
8800
right: {
8801
type: 'Identifier',
8802
name: 'z',
8803
range: [8, 9],
8804
loc: {
8805
start: { line: 1, column: 8 },
8806
end: { line: 1, column: 9 }
8807
}
8808
},
8809
range: [0, 9],
8810
loc: {
8811
start: { line: 1, column: 0 },
8812
end: { line: 1, column: 9 }
8813
}
8814
},
8815
range: [0, 9],
8816
loc: {
8817
start: { line: 1, column: 0 },
8818
end: { line: 1, column: 9 }
8819
}
8820
},
8821
8822
'x + y * z': {
8823
type: 'ExpressionStatement',
8824
expression: {
8825
type: 'BinaryExpression',
8826
operator: '+',
8827
left: {
8828
type: 'Identifier',
8829
name: 'x',
8830
range: [0, 1],
8831
loc: {
8832
start: { line: 1, column: 0 },
8833
end: { line: 1, column: 1 }
8834
}
8835
},
8836
right: {
8837
type: 'BinaryExpression',
8838
operator: '*',
8839
left: {
8840
type: 'Identifier',
8841
name: 'y',
8842
range: [4, 5],
8843
loc: {
8844
start: { line: 1, column: 4 },
8845
end: { line: 1, column: 5 }
8846
}
8847
},
8848
right: {
8849
type: 'Identifier',
8850
name: 'z',
8851
range: [8, 9],
8852
loc: {
8853
start: { line: 1, column: 8 },
8854
end: { line: 1, column: 9 }
8855
}
8856
},
8857
range: [4, 9],
8858
loc: {
8859
start: { line: 1, column: 4 },
8860
end: { line: 1, column: 9 }
8861
}
8862
},
8863
range: [0, 9],
8864
loc: {
8865
start: { line: 1, column: 0 },
8866
end: { line: 1, column: 9 }
8867
}
8868
},
8869
range: [0, 9],
8870
loc: {
8871
start: { line: 1, column: 0 },
8872
end: { line: 1, column: 9 }
8873
}
8874
},
8875
8876
'x + y / z': {
8877
type: 'ExpressionStatement',
8878
expression: {
8879
type: 'BinaryExpression',
8880
operator: '+',
8881
left: {
8882
type: 'Identifier',
8883
name: 'x',
8884
range: [0, 1],
8885
loc: {
8886
start: { line: 1, column: 0 },
8887
end: { line: 1, column: 1 }
8888
}
8889
},
8890
right: {
8891
type: 'BinaryExpression',
8892
operator: '/',
8893
left: {
8894
type: 'Identifier',
8895
name: 'y',
8896
range: [4, 5],
8897
loc: {
8898
start: { line: 1, column: 4 },
8899
end: { line: 1, column: 5 }
8900
}
8901
},
8902
right: {
8903
type: 'Identifier',
8904
name: 'z',
8905
range: [8, 9],
8906
loc: {
8907
start: { line: 1, column: 8 },
8908
end: { line: 1, column: 9 }
8909
}
8910
},
8911
range: [4, 9],
8912
loc: {
8913
start: { line: 1, column: 4 },
8914
end: { line: 1, column: 9 }
8915
}
8916
},
8917
range: [0, 9],
8918
loc: {
8919
start: { line: 1, column: 0 },
8920
end: { line: 1, column: 9 }
8921
}
8922
},
8923
range: [0, 9],
8924
loc: {
8925
start: { line: 1, column: 0 },
8926
end: { line: 1, column: 9 }
8927
}
8928
},
8929
8930
'x - y % z': {
8931
type: 'ExpressionStatement',
8932
expression: {
8933
type: 'BinaryExpression',
8934
operator: '-',
8935
left: {
8936
type: 'Identifier',
8937
name: 'x',
8938
range: [0, 1],
8939
loc: {
8940
start: { line: 1, column: 0 },
8941
end: { line: 1, column: 1 }
8942
}
8943
},
8944
right: {
8945
type: 'BinaryExpression',
8946
operator: '%',
8947
left: {
8948
type: 'Identifier',
8949
name: 'y',
8950
range: [4, 5],
8951
loc: {
8952
start: { line: 1, column: 4 },
8953
end: { line: 1, column: 5 }
8954
}
8955
},
8956
right: {
8957
type: 'Identifier',
8958
name: 'z',
8959
range: [8, 9],
8960
loc: {
8961
start: { line: 1, column: 8 },
8962
end: { line: 1, column: 9 }
8963
}
8964
},
8965
range: [4, 9],
8966
loc: {
8967
start: { line: 1, column: 4 },
8968
end: { line: 1, column: 9 }
8969
}
8970
},
8971
range: [0, 9],
8972
loc: {
8973
start: { line: 1, column: 0 },
8974
end: { line: 1, column: 9 }
8975
}
8976
},
8977
range: [0, 9],
8978
loc: {
8979
start: { line: 1, column: 0 },
8980
end: { line: 1, column: 9 }
8981
}
8982
},
8983
8984
'x * y * z': {
8985
type: 'ExpressionStatement',
8986
expression: {
8987
type: 'BinaryExpression',
8988
operator: '*',
8989
left: {
8990
type: 'BinaryExpression',
8991
operator: '*',
8992
left: {
8993
type: 'Identifier',
8994
name: 'x',
8995
range: [0, 1],
8996
loc: {
8997
start: { line: 1, column: 0 },
8998
end: { line: 1, column: 1 }
8999
}
9000
},
9001
right: {
9002
type: 'Identifier',
9003
name: 'y',
9004
range: [4, 5],
9005
loc: {
9006
start: { line: 1, column: 4 },
9007
end: { line: 1, column: 5 }
9008
}
9009
},
9010
range: [0, 5],
9011
loc: {
9012
start: { line: 1, column: 0 },
9013
end: { line: 1, column: 5 }
9014
}
9015
},
9016
right: {
9017
type: 'Identifier',
9018
name: 'z',
9019
range: [8, 9],
9020
loc: {
9021
start: { line: 1, column: 8 },
9022
end: { line: 1, column: 9 }
9023
}
9024
},
9025
range: [0, 9],
9026
loc: {
9027
start: { line: 1, column: 0 },
9028
end: { line: 1, column: 9 }
9029
}
9030
},
9031
range: [0, 9],
9032
loc: {
9033
start: { line: 1, column: 0 },
9034
end: { line: 1, column: 9 }
9035
}
9036
},
9037
9038
'x * y / z': {
9039
type: 'ExpressionStatement',
9040
expression: {
9041
type: 'BinaryExpression',
9042
operator: '/',
9043
left: {
9044
type: 'BinaryExpression',
9045
operator: '*',
9046
left: {
9047
type: 'Identifier',
9048
name: 'x',
9049
range: [0, 1],
9050
loc: {
9051
start: { line: 1, column: 0 },
9052
end: { line: 1, column: 1 }
9053
}
9054
},
9055
right: {
9056
type: 'Identifier',
9057
name: 'y',
9058
range: [4, 5],
9059
loc: {
9060
start: { line: 1, column: 4 },
9061
end: { line: 1, column: 5 }
9062
}
9063
},
9064
range: [0, 5],
9065
loc: {
9066
start: { line: 1, column: 0 },
9067
end: { line: 1, column: 5 }
9068
}
9069
},
9070
right: {
9071
type: 'Identifier',
9072
name: 'z',
9073
range: [8, 9],
9074
loc: {
9075
start: { line: 1, column: 8 },
9076
end: { line: 1, column: 9 }
9077
}
9078
},
9079
range: [0, 9],
9080
loc: {
9081
start: { line: 1, column: 0 },
9082
end: { line: 1, column: 9 }
9083
}
9084
},
9085
range: [0, 9],
9086
loc: {
9087
start: { line: 1, column: 0 },
9088
end: { line: 1, column: 9 }
9089
}
9090
},
9091
9092
'x * y % z': {
9093
type: 'ExpressionStatement',
9094
expression: {
9095
type: 'BinaryExpression',
9096
operator: '%',
9097
left: {
9098
type: 'BinaryExpression',
9099
operator: '*',
9100
left: {
9101
type: 'Identifier',
9102
name: 'x',
9103
range: [0, 1],
9104
loc: {
9105
start: { line: 1, column: 0 },
9106
end: { line: 1, column: 1 }
9107
}
9108
},
9109
right: {
9110
type: 'Identifier',
9111
name: 'y',
9112
range: [4, 5],
9113
loc: {
9114
start: { line: 1, column: 4 },
9115
end: { line: 1, column: 5 }
9116
}
9117
},
9118
range: [0, 5],
9119
loc: {
9120
start: { line: 1, column: 0 },
9121
end: { line: 1, column: 5 }
9122
}
9123
},
9124
right: {
9125
type: 'Identifier',
9126
name: 'z',
9127
range: [8, 9],
9128
loc: {
9129
start: { line: 1, column: 8 },
9130
end: { line: 1, column: 9 }
9131
}
9132
},
9133
range: [0, 9],
9134
loc: {
9135
start: { line: 1, column: 0 },
9136
end: { line: 1, column: 9 }
9137
}
9138
},
9139
range: [0, 9],
9140
loc: {
9141
start: { line: 1, column: 0 },
9142
end: { line: 1, column: 9 }
9143
}
9144
},
9145
9146
'x % y * z': {
9147
type: 'ExpressionStatement',
9148
expression: {
9149
type: 'BinaryExpression',
9150
operator: '*',
9151
left: {
9152
type: 'BinaryExpression',
9153
operator: '%',
9154
left: {
9155
type: 'Identifier',
9156
name: 'x',
9157
range: [0, 1],
9158
loc: {
9159
start: { line: 1, column: 0 },
9160
end: { line: 1, column: 1 }
9161
}
9162
},
9163
right: {
9164
type: 'Identifier',
9165
name: 'y',
9166
range: [4, 5],
9167
loc: {
9168
start: { line: 1, column: 4 },
9169
end: { line: 1, column: 5 }
9170
}
9171
},
9172
range: [0, 5],
9173
loc: {
9174
start: { line: 1, column: 0 },
9175
end: { line: 1, column: 5 }
9176
}
9177
},
9178
right: {
9179
type: 'Identifier',
9180
name: 'z',
9181
range: [8, 9],
9182
loc: {
9183
start: { line: 1, column: 8 },
9184
end: { line: 1, column: 9 }
9185
}
9186
},
9187
range: [0, 9],
9188
loc: {
9189
start: { line: 1, column: 0 },
9190
end: { line: 1, column: 9 }
9191
}
9192
},
9193
range: [0, 9],
9194
loc: {
9195
start: { line: 1, column: 0 },
9196
end: { line: 1, column: 9 }
9197
}
9198
},
9199
9200
'x << y << z': {
9201
type: 'ExpressionStatement',
9202
expression: {
9203
type: 'BinaryExpression',
9204
operator: '<<',
9205
left: {
9206
type: 'BinaryExpression',
9207
operator: '<<',
9208
left: {
9209
type: 'Identifier',
9210
name: 'x',
9211
range: [0, 1],
9212
loc: {
9213
start: { line: 1, column: 0 },
9214
end: { line: 1, column: 1 }
9215
}
9216
},
9217
right: {
9218
type: 'Identifier',
9219
name: 'y',
9220
range: [5, 6],
9221
loc: {
9222
start: { line: 1, column: 5 },
9223
end: { line: 1, column: 6 }
9224
}
9225
},
9226
range: [0, 6],
9227
loc: {
9228
start: { line: 1, column: 0 },
9229
end: { line: 1, column: 6 }
9230
}
9231
},
9232
right: {
9233
type: 'Identifier',
9234
name: 'z',
9235
range: [10, 11],
9236
loc: {
9237
start: { line: 1, column: 10 },
9238
end: { line: 1, column: 11 }
9239
}
9240
},
9241
range: [0, 11],
9242
loc: {
9243
start: { line: 1, column: 0 },
9244
end: { line: 1, column: 11 }
9245
}
9246
},
9247
range: [0, 11],
9248
loc: {
9249
start: { line: 1, column: 0 },
9250
end: { line: 1, column: 11 }
9251
}
9252
},
9253
9254
'x | y | z': {
9255
type: 'ExpressionStatement',
9256
expression: {
9257
type: 'BinaryExpression',
9258
operator: '|',
9259
left: {
9260
type: 'BinaryExpression',
9261
operator: '|',
9262
left: {
9263
type: 'Identifier',
9264
name: 'x',
9265
range: [0, 1],
9266
loc: {
9267
start: { line: 1, column: 0 },
9268
end: { line: 1, column: 1 }
9269
}
9270
},
9271
right: {
9272
type: 'Identifier',
9273
name: 'y',
9274
range: [4, 5],
9275
loc: {
9276
start: { line: 1, column: 4 },
9277
end: { line: 1, column: 5 }
9278
}
9279
},
9280
range: [0, 5],
9281
loc: {
9282
start: { line: 1, column: 0 },
9283
end: { line: 1, column: 5 }
9284
}
9285
},
9286
right: {
9287
type: 'Identifier',
9288
name: 'z',
9289
range: [8, 9],
9290
loc: {
9291
start: { line: 1, column: 8 },
9292
end: { line: 1, column: 9 }
9293
}
9294
},
9295
range: [0, 9],
9296
loc: {
9297
start: { line: 1, column: 0 },
9298
end: { line: 1, column: 9 }
9299
}
9300
},
9301
range: [0, 9],
9302
loc: {
9303
start: { line: 1, column: 0 },
9304
end: { line: 1, column: 9 }
9305
}
9306
},
9307
9308
'x & y & z': {
9309
type: 'ExpressionStatement',
9310
expression: {
9311
type: 'BinaryExpression',
9312
operator: '&',
9313
left: {
9314
type: 'BinaryExpression',
9315
operator: '&',
9316
left: {
9317
type: 'Identifier',
9318
name: 'x',
9319
range: [0, 1],
9320
loc: {
9321
start: { line: 1, column: 0 },
9322
end: { line: 1, column: 1 }
9323
}
9324
},
9325
right: {
9326
type: 'Identifier',
9327
name: 'y',
9328
range: [4, 5],
9329
loc: {
9330
start: { line: 1, column: 4 },
9331
end: { line: 1, column: 5 }
9332
}
9333
},
9334
range: [0, 5],
9335
loc: {
9336
start: { line: 1, column: 0 },
9337
end: { line: 1, column: 5 }
9338
}
9339
},
9340
right: {
9341
type: 'Identifier',
9342
name: 'z',
9343
range: [8, 9],
9344
loc: {
9345
start: { line: 1, column: 8 },
9346
end: { line: 1, column: 9 }
9347
}
9348
},
9349
range: [0, 9],
9350
loc: {
9351
start: { line: 1, column: 0 },
9352
end: { line: 1, column: 9 }
9353
}
9354
},
9355
range: [0, 9],
9356
loc: {
9357
start: { line: 1, column: 0 },
9358
end: { line: 1, column: 9 }
9359
}
9360
},
9361
9362
'x ^ y ^ z': {
9363
type: 'ExpressionStatement',
9364
expression: {
9365
type: 'BinaryExpression',
9366
operator: '^',
9367
left: {
9368
type: 'BinaryExpression',
9369
operator: '^',
9370
left: {
9371
type: 'Identifier',
9372
name: 'x',
9373
range: [0, 1],
9374
loc: {
9375
start: { line: 1, column: 0 },
9376
end: { line: 1, column: 1 }
9377
}
9378
},
9379
right: {
9380
type: 'Identifier',
9381
name: 'y',
9382
range: [4, 5],
9383
loc: {
9384
start: { line: 1, column: 4 },
9385
end: { line: 1, column: 5 }
9386
}
9387
},
9388
range: [0, 5],
9389
loc: {
9390
start: { line: 1, column: 0 },
9391
end: { line: 1, column: 5 }
9392
}
9393
},
9394
right: {
9395
type: 'Identifier',
9396
name: 'z',
9397
range: [8, 9],
9398
loc: {
9399
start: { line: 1, column: 8 },
9400
end: { line: 1, column: 9 }
9401
}
9402
},
9403
range: [0, 9],
9404
loc: {
9405
start: { line: 1, column: 0 },
9406
end: { line: 1, column: 9 }
9407
}
9408
},
9409
range: [0, 9],
9410
loc: {
9411
start: { line: 1, column: 0 },
9412
end: { line: 1, column: 9 }
9413
}
9414
},
9415
9416
'x & y | z': {
9417
type: 'ExpressionStatement',
9418
expression: {
9419
type: 'BinaryExpression',
9420
operator: '|',
9421
left: {
9422
type: 'BinaryExpression',
9423
operator: '&',
9424
left: {
9425
type: 'Identifier',
9426
name: 'x',
9427
range: [0, 1],
9428
loc: {
9429
start: { line: 1, column: 0 },
9430
end: { line: 1, column: 1 }
9431
}
9432
},
9433
right: {
9434
type: 'Identifier',
9435
name: 'y',
9436
range: [4, 5],
9437
loc: {
9438
start: { line: 1, column: 4 },
9439
end: { line: 1, column: 5 }
9440
}
9441
},
9442
range: [0, 5],
9443
loc: {
9444
start: { line: 1, column: 0 },
9445
end: { line: 1, column: 5 }
9446
}
9447
},
9448
right: {
9449
type: 'Identifier',
9450
name: 'z',
9451
range: [8, 9],
9452
loc: {
9453
start: { line: 1, column: 8 },
9454
end: { line: 1, column: 9 }
9455
}
9456
},
9457
range: [0, 9],
9458
loc: {
9459
start: { line: 1, column: 0 },
9460
end: { line: 1, column: 9 }
9461
}
9462
},
9463
range: [0, 9],
9464
loc: {
9465
start: { line: 1, column: 0 },
9466
end: { line: 1, column: 9 }
9467
}
9468
},
9469
9470
'x | y ^ z': {
9471
type: 'ExpressionStatement',
9472
expression: {
9473
type: 'BinaryExpression',
9474
operator: '|',
9475
left: {
9476
type: 'Identifier',
9477
name: 'x',
9478
range: [0, 1],
9479
loc: {
9480
start: { line: 1, column: 0 },
9481
end: { line: 1, column: 1 }
9482
}
9483
},
9484
right: {
9485
type: 'BinaryExpression',
9486
operator: '^',
9487
left: {
9488
type: 'Identifier',
9489
name: 'y',
9490
range: [4, 5],
9491
loc: {
9492
start: { line: 1, column: 4 },
9493
end: { line: 1, column: 5 }
9494
}
9495
},
9496
right: {
9497
type: 'Identifier',
9498
name: 'z',
9499
range: [8, 9],
9500
loc: {
9501
start: { line: 1, column: 8 },
9502
end: { line: 1, column: 9 }
9503
}
9504
},
9505
range: [4, 9],
9506
loc: {
9507
start: { line: 1, column: 4 },
9508
end: { line: 1, column: 9 }
9509
}
9510
},
9511
range: [0, 9],
9512
loc: {
9513
start: { line: 1, column: 0 },
9514
end: { line: 1, column: 9 }
9515
}
9516
},
9517
range: [0, 9],
9518
loc: {
9519
start: { line: 1, column: 0 },
9520
end: { line: 1, column: 9 }
9521
}
9522
},
9523
9524
'x | y & z': {
9525
type: 'ExpressionStatement',
9526
expression: {
9527
type: 'BinaryExpression',
9528
operator: '|',
9529
left: {
9530
type: 'Identifier',
9531
name: 'x',
9532
range: [0, 1],
9533
loc: {
9534
start: { line: 1, column: 0 },
9535
end: { line: 1, column: 1 }
9536
}
9537
},
9538
right: {
9539
type: 'BinaryExpression',
9540
operator: '&',
9541
left: {
9542
type: 'Identifier',
9543
name: 'y',
9544
range: [4, 5],
9545
loc: {
9546
start: { line: 1, column: 4 },
9547
end: { line: 1, column: 5 }
9548
}
9549
},
9550
right: {
9551
type: 'Identifier',
9552
name: 'z',
9553
range: [8, 9],
9554
loc: {
9555
start: { line: 1, column: 8 },
9556
end: { line: 1, column: 9 }
9557
}
9558
},
9559
range: [4, 9],
9560
loc: {
9561
start: { line: 1, column: 4 },
9562
end: { line: 1, column: 9 }
9563
}
9564
},
9565
range: [0, 9],
9566
loc: {
9567
start: { line: 1, column: 0 },
9568
end: { line: 1, column: 9 }
9569
}
9570
},
9571
range: [0, 9],
9572
loc: {
9573
start: { line: 1, column: 0 },
9574
end: { line: 1, column: 9 }
9575
}
9576
}
9577
9578
},
9579
9580
'Binary Logical Operators': {
9581
9582
'x || y': {
9583
type: 'ExpressionStatement',
9584
expression: {
9585
type: 'LogicalExpression',
9586
operator: '||',
9587
left: {
9588
type: 'Identifier',
9589
name: 'x',
9590
range: [0, 1],
9591
loc: {
9592
start: { line: 1, column: 0 },
9593
end: { line: 1, column: 1 }
9594
}
9595
},
9596
right: {
9597
type: 'Identifier',
9598
name: 'y',
9599
range: [5, 6],
9600
loc: {
9601
start: { line: 1, column: 5 },
9602
end: { line: 1, column: 6 }
9603
}
9604
},
9605
range: [0, 6],
9606
loc: {
9607
start: { line: 1, column: 0 },
9608
end: { line: 1, column: 6 }
9609
}
9610
},
9611
range: [0, 6],
9612
loc: {
9613
start: { line: 1, column: 0 },
9614
end: { line: 1, column: 6 }
9615
}
9616
},
9617
9618
'x && y': {
9619
type: 'ExpressionStatement',
9620
expression: {
9621
type: 'LogicalExpression',
9622
operator: '&&',
9623
left: {
9624
type: 'Identifier',
9625
name: 'x',
9626
range: [0, 1],
9627
loc: {
9628
start: { line: 1, column: 0 },
9629
end: { line: 1, column: 1 }
9630
}
9631
},
9632
right: {
9633
type: 'Identifier',
9634
name: 'y',
9635
range: [5, 6],
9636
loc: {
9637
start: { line: 1, column: 5 },
9638
end: { line: 1, column: 6 }
9639
}
9640
},
9641
range: [0, 6],
9642
loc: {
9643
start: { line: 1, column: 0 },
9644
end: { line: 1, column: 6 }
9645
}
9646
},
9647
range: [0, 6],
9648
loc: {
9649
start: { line: 1, column: 0 },
9650
end: { line: 1, column: 6 }
9651
}
9652
},
9653
9654
'x || y || z': {
9655
type: 'ExpressionStatement',
9656
expression: {
9657
type: 'LogicalExpression',
9658
operator: '||',
9659
left: {
9660
type: 'LogicalExpression',
9661
operator: '||',
9662
left: {
9663
type: 'Identifier',
9664
name: 'x',
9665
range: [0, 1],
9666
loc: {
9667
start: { line: 1, column: 0 },
9668
end: { line: 1, column: 1 }
9669
}
9670
},
9671
right: {
9672
type: 'Identifier',
9673
name: 'y',
9674
range: [5, 6],
9675
loc: {
9676
start: { line: 1, column: 5 },
9677
end: { line: 1, column: 6 }
9678
}
9679
},
9680
range: [0, 6],
9681
loc: {
9682
start: { line: 1, column: 0 },
9683
end: { line: 1, column: 6 }
9684
}
9685
},
9686
right: {
9687
type: 'Identifier',
9688
name: 'z',
9689
range: [10, 11],
9690
loc: {
9691
start: { line: 1, column: 10 },
9692
end: { line: 1, column: 11 }
9693
}
9694
},
9695
range: [0, 11],
9696
loc: {
9697
start: { line: 1, column: 0 },
9698
end: { line: 1, column: 11 }
9699
}
9700
},
9701
range: [0, 11],
9702
loc: {
9703
start: { line: 1, column: 0 },
9704
end: { line: 1, column: 11 }
9705
}
9706
},
9707
9708
'x && y && z': {
9709
type: 'ExpressionStatement',
9710
expression: {
9711
type: 'LogicalExpression',
9712
operator: '&&',
9713
left: {
9714
type: 'LogicalExpression',
9715
operator: '&&',
9716
left: {
9717
type: 'Identifier',
9718
name: 'x',
9719
range: [0, 1],
9720
loc: {
9721
start: { line: 1, column: 0 },
9722
end: { line: 1, column: 1 }
9723
}
9724
},
9725
right: {
9726
type: 'Identifier',
9727
name: 'y',
9728
range: [5, 6],
9729
loc: {
9730
start: { line: 1, column: 5 },
9731
end: { line: 1, column: 6 }
9732
}
9733
},
9734
range: [0, 6],
9735
loc: {
9736
start: { line: 1, column: 0 },
9737
end: { line: 1, column: 6 }
9738
}
9739
},
9740
right: {
9741
type: 'Identifier',
9742
name: 'z',
9743
range: [10, 11],
9744
loc: {
9745
start: { line: 1, column: 10 },
9746
end: { line: 1, column: 11 }
9747
}
9748
},
9749
range: [0, 11],
9750
loc: {
9751
start: { line: 1, column: 0 },
9752
end: { line: 1, column: 11 }
9753
}
9754
},
9755
range: [0, 11],
9756
loc: {
9757
start: { line: 1, column: 0 },
9758
end: { line: 1, column: 11 }
9759
}
9760
},
9761
9762
'x || y && z': {
9763
type: 'ExpressionStatement',
9764
expression: {
9765
type: 'LogicalExpression',
9766
operator: '||',
9767
left: {
9768
type: 'Identifier',
9769
name: 'x',
9770
range: [0, 1],
9771
loc: {
9772
start: { line: 1, column: 0 },
9773
end: { line: 1, column: 1 }
9774
}
9775
},
9776
right: {
9777
type: 'LogicalExpression',
9778
operator: '&&',
9779
left: {
9780
type: 'Identifier',
9781
name: 'y',
9782
range: [5, 6],
9783
loc: {
9784
start: { line: 1, column: 5 },
9785
end: { line: 1, column: 6 }
9786
}
9787
},
9788
right: {
9789
type: 'Identifier',
9790
name: 'z',
9791
range: [10, 11],
9792
loc: {
9793
start: { line: 1, column: 10 },
9794
end: { line: 1, column: 11 }
9795
}
9796
},
9797
range: [5, 11],
9798
loc: {
9799
start: { line: 1, column: 5 },
9800
end: { line: 1, column: 11 }
9801
}
9802
},
9803
range: [0, 11],
9804
loc: {
9805
start: { line: 1, column: 0 },
9806
end: { line: 1, column: 11 }
9807
}
9808
},
9809
range: [0, 11],
9810
loc: {
9811
start: { line: 1, column: 0 },
9812
end: { line: 1, column: 11 }
9813
}
9814
},
9815
9816
'x || y ^ z': {
9817
type: 'ExpressionStatement',
9818
expression: {
9819
type: 'LogicalExpression',
9820
operator: '||',
9821
left: {
9822
type: 'Identifier',
9823
name: 'x',
9824
range: [0, 1],
9825
loc: {
9826
start: { line: 1, column: 0 },
9827
end: { line: 1, column: 1 }
9828
}
9829
},
9830
right: {
9831
type: 'BinaryExpression',
9832
operator: '^',
9833
left: {
9834
type: 'Identifier',
9835
name: 'y',
9836
range: [5, 6],
9837
loc: {
9838
start: { line: 1, column: 5 },
9839
end: { line: 1, column: 6 }
9840
}
9841
},
9842
right: {
9843
type: 'Identifier',
9844
name: 'z',
9845
range: [9, 10],
9846
loc: {
9847
start: { line: 1, column: 9 },
9848
end: { line: 1, column: 10 }
9849
}
9850
},
9851
range: [5, 10],
9852
loc: {
9853
start: { line: 1, column: 5 },
9854
end: { line: 1, column: 10 }
9855
}
9856
},
9857
range: [0, 10],
9858
loc: {
9859
start: { line: 1, column: 0 },
9860
end: { line: 1, column: 10 }
9861
}
9862
},
9863
range: [0, 10],
9864
loc: {
9865
start: { line: 1, column: 0 },
9866
end: { line: 1, column: 10 }
9867
}
9868
}
9869
9870
},
9871
9872
'Conditional Operator': {
9873
9874
'y ? 1 : 2': {
9875
type: 'ExpressionStatement',
9876
expression: {
9877
type: 'ConditionalExpression',
9878
test: {
9879
type: 'Identifier',
9880
name: 'y',
9881
range: [0, 1],
9882
loc: {
9883
start: { line: 1, column: 0 },
9884
end: { line: 1, column: 1 }
9885
}
9886
},
9887
consequent: {
9888
type: 'Literal',
9889
value: 1,
9890
raw: '1',
9891
range: [4, 5],
9892
loc: {
9893
start: { line: 1, column: 4 },
9894
end: { line: 1, column: 5 }
9895
}
9896
},
9897
alternate: {
9898
type: 'Literal',
9899
value: 2,
9900
raw: '2',
9901
range: [8, 9],
9902
loc: {
9903
start: { line: 1, column: 8 },
9904
end: { line: 1, column: 9 }
9905
}
9906
},
9907
range: [0, 9],
9908
loc: {
9909
start: { line: 1, column: 0 },
9910
end: { line: 1, column: 9 }
9911
}
9912
},
9913
range: [0, 9],
9914
loc: {
9915
start: { line: 1, column: 0 },
9916
end: { line: 1, column: 9 }
9917
}
9918
},
9919
9920
'x && y ? 1 : 2': {
9921
type: 'ExpressionStatement',
9922
expression: {
9923
type: 'ConditionalExpression',
9924
test: {
9925
type: 'LogicalExpression',
9926
operator: '&&',
9927
left: {
9928
type: 'Identifier',
9929
name: 'x',
9930
range: [0, 1],
9931
loc: {
9932
start: { line: 1, column: 0 },
9933
end: { line: 1, column: 1 }
9934
}
9935
},
9936
right: {
9937
type: 'Identifier',
9938
name: 'y',
9939
range: [5, 6],
9940
loc: {
9941
start: { line: 1, column: 5 },
9942
end: { line: 1, column: 6 }
9943
}
9944
},
9945
range: [0, 6],
9946
loc: {
9947
start: { line: 1, column: 0 },
9948
end: { line: 1, column: 6 }
9949
}
9950
},
9951
consequent: {
9952
type: 'Literal',
9953
value: 1,
9954
raw: '1',
9955
range: [9, 10],
9956
loc: {
9957
start: { line: 1, column: 9 },
9958
end: { line: 1, column: 10 }
9959
}
9960
},
9961
alternate: {
9962
type: 'Literal',
9963
value: 2,
9964
raw: '2',
9965
range: [13, 14],
9966
loc: {
9967
start: { line: 1, column: 13 },
9968
end: { line: 1, column: 14 }
9969
}
9970
},
9971
range: [0, 14],
9972
loc: {
9973
start: { line: 1, column: 0 },
9974
end: { line: 1, column: 14 }
9975
}
9976
},
9977
range: [0, 14],
9978
loc: {
9979
start: { line: 1, column: 0 },
9980
end: { line: 1, column: 14 }
9981
}
9982
}
9983
9984
},
9985
9986
'Assignment Operators': {
9987
9988
'x = 42': {
9989
type: 'ExpressionStatement',
9990
expression: {
9991
type: 'AssignmentExpression',
9992
operator: '=',
9993
left: {
9994
type: 'Identifier',
9995
name: 'x',
9996
range: [0, 1],
9997
loc: {
9998
start: { line: 1, column: 0 },
9999
end: { line: 1, column: 1 }
10000
}
10001
},
10002
right: {
10003
type: 'Literal',
10004
value: 42,
10005
raw: '42',
10006
range: [4, 6],
10007
loc: {
10008
start: { line: 1, column: 4 },
10009
end: { line: 1, column: 6 }
10010
}
10011
},
10012
range: [0, 6],
10013
loc: {
10014
start: { line: 1, column: 0 },
10015
end: { line: 1, column: 6 }
10016
}
10017
},
10018
range: [0, 6],
10019
loc: {
10020
start: { line: 1, column: 0 },
10021
end: { line: 1, column: 6 }
10022
}
10023
},
10024
10025
'eval = 42': {
10026
type: 'ExpressionStatement',
10027
expression: {
10028
type: 'AssignmentExpression',
10029
operator: '=',
10030
left: {
10031
type: 'Identifier',
10032
name: 'eval',
10033
range: [0, 4],
10034
loc: {
10035
start: { line: 1, column: 0 },
10036
end: { line: 1, column: 4 }
10037
}
10038
},
10039
right: {
10040
type: 'Literal',
10041
value: 42,
10042
raw: '42',
10043
range: [7, 9],
10044
loc: {
10045
start: { line: 1, column: 7 },
10046
end: { line: 1, column: 9 }
10047
}
10048
},
10049
range: [0, 9],
10050
loc: {
10051
start: { line: 1, column: 0 },
10052
end: { line: 1, column: 9 }
10053
}
10054
},
10055
range: [0, 9],
10056
loc: {
10057
start: { line: 1, column: 0 },
10058
end: { line: 1, column: 9 }
10059
}
10060
},
10061
10062
'arguments = 42': {
10063
type: 'ExpressionStatement',
10064
expression: {
10065
type: 'AssignmentExpression',
10066
operator: '=',
10067
left: {
10068
type: 'Identifier',
10069
name: 'arguments',
10070
range: [0, 9],
10071
loc: {
10072
start: { line: 1, column: 0 },
10073
end: { line: 1, column: 9 }
10074
}
10075
},
10076
right: {
10077
type: 'Literal',
10078
value: 42,
10079
raw: '42',
10080
range: [12, 14],
10081
loc: {
10082
start: { line: 1, column: 12 },
10083
end: { line: 1, column: 14 }
10084
}
10085
},
10086
range: [0, 14],
10087
loc: {
10088
start: { line: 1, column: 0 },
10089
end: { line: 1, column: 14 }
10090
}
10091
},
10092
range: [0, 14],
10093
loc: {
10094
start: { line: 1, column: 0 },
10095
end: { line: 1, column: 14 }
10096
}
10097
},
10098
10099
'type = 42': {
10100
type: 'ExpressionStatement',
10101
expression: {
10102
type: 'AssignmentExpression',
10103
operator: '=',
10104
left: {
10105
type: 'Identifier',
10106
name: 'type',
10107
range: [0, 4],
10108
loc: {
10109
start: { line: 1, column: 0 },
10110
end: { line: 1, column: 4 }
10111
}
10112
},
10113
right: {
10114
type: 'Literal',
10115
value: 42,
10116
raw: '42',
10117
range: [7, 9],
10118
loc: {
10119
start: { line: 1, column: 7 },
10120
end: { line: 1, column: 9 }
10121
}
10122
},
10123
range: [0, 9],
10124
loc: {
10125
start: { line: 1, column: 0 },
10126
end: { line: 1, column: 9 }
10127
}
10128
},
10129
range: [0, 9],
10130
loc: {
10131
start: { line: 1, column: 0 },
10132
end: { line: 1, column: 9 }
10133
}
10134
},
10135
10136
'x *= 42': {
10137
type: 'ExpressionStatement',
10138
expression: {
10139
type: 'AssignmentExpression',
10140
operator: '*=',
10141
left: {
10142
type: 'Identifier',
10143
name: 'x',
10144
range: [0, 1],
10145
loc: {
10146
start: { line: 1, column: 0 },
10147
end: { line: 1, column: 1 }
10148
}
10149
},
10150
right: {
10151
type: 'Literal',
10152
value: 42,
10153
raw: '42',
10154
range: [5, 7],
10155
loc: {
10156
start: { line: 1, column: 5 },
10157
end: { line: 1, column: 7 }
10158
}
10159
},
10160
range: [0, 7],
10161
loc: {
10162
start: { line: 1, column: 0 },
10163
end: { line: 1, column: 7 }
10164
}
10165
},
10166
range: [0, 7],
10167
loc: {
10168
start: { line: 1, column: 0 },
10169
end: { line: 1, column: 7 }
10170
}
10171
},
10172
10173
'x /= 42': {
10174
type: 'ExpressionStatement',
10175
expression: {
10176
type: 'AssignmentExpression',
10177
operator: '/=',
10178
left: {
10179
type: 'Identifier',
10180
name: 'x',
10181
range: [0, 1],
10182
loc: {
10183
start: { line: 1, column: 0 },
10184
end: { line: 1, column: 1 }
10185
}
10186
},
10187
right: {
10188
type: 'Literal',
10189
value: 42,
10190
raw: '42',
10191
range: [5, 7],
10192
loc: {
10193
start: { line: 1, column: 5 },
10194
end: { line: 1, column: 7 }
10195
}
10196
},
10197
range: [0, 7],
10198
loc: {
10199
start: { line: 1, column: 0 },
10200
end: { line: 1, column: 7 }
10201
}
10202
},
10203
range: [0, 7],
10204
loc: {
10205
start: { line: 1, column: 0 },
10206
end: { line: 1, column: 7 }
10207
}
10208
},
10209
10210
'x %= 42': {
10211
type: 'ExpressionStatement',
10212
expression: {
10213
type: 'AssignmentExpression',
10214
operator: '%=',
10215
left: {
10216
type: 'Identifier',
10217
name: 'x',
10218
range: [0, 1],
10219
loc: {
10220
start: { line: 1, column: 0 },
10221
end: { line: 1, column: 1 }
10222
}
10223
},
10224
right: {
10225
type: 'Literal',
10226
value: 42,
10227
raw: '42',
10228
range: [5, 7],
10229
loc: {
10230
start: { line: 1, column: 5 },
10231
end: { line: 1, column: 7 }
10232
}
10233
},
10234
range: [0, 7],
10235
loc: {
10236
start: { line: 1, column: 0 },
10237
end: { line: 1, column: 7 }
10238
}
10239
},
10240
range: [0, 7],
10241
loc: {
10242
start: { line: 1, column: 0 },
10243
end: { line: 1, column: 7 }
10244
}
10245
},
10246
10247
'x += 42': {
10248
type: 'ExpressionStatement',
10249
expression: {
10250
type: 'AssignmentExpression',
10251
operator: '+=',
10252
left: {
10253
type: 'Identifier',
10254
name: 'x',
10255
range: [0, 1],
10256
loc: {
10257
start: { line: 1, column: 0 },
10258
end: { line: 1, column: 1 }
10259
}
10260
},
10261
right: {
10262
type: 'Literal',
10263
value: 42,
10264
raw: '42',
10265
range: [5, 7],
10266
loc: {
10267
start: { line: 1, column: 5 },
10268
end: { line: 1, column: 7 }
10269
}
10270
},
10271
range: [0, 7],
10272
loc: {
10273
start: { line: 1, column: 0 },
10274
end: { line: 1, column: 7 }
10275
}
10276
},
10277
range: [0, 7],
10278
loc: {
10279
start: { line: 1, column: 0 },
10280
end: { line: 1, column: 7 }
10281
}
10282
},
10283
10284
'x -= 42': {
10285
type: 'ExpressionStatement',
10286
expression: {
10287
type: 'AssignmentExpression',
10288
operator: '-=',
10289
left: {
10290
type: 'Identifier',
10291
name: 'x',
10292
range: [0, 1],
10293
loc: {
10294
start: { line: 1, column: 0 },
10295
end: { line: 1, column: 1 }
10296
}
10297
},
10298
right: {
10299
type: 'Literal',
10300
value: 42,
10301
raw: '42',
10302
range: [5, 7],
10303
loc: {
10304
start: { line: 1, column: 5 },
10305
end: { line: 1, column: 7 }
10306
}
10307
},
10308
range: [0, 7],
10309
loc: {
10310
start: { line: 1, column: 0 },
10311
end: { line: 1, column: 7 }
10312
}
10313
},
10314
range: [0, 7],
10315
loc: {
10316
start: { line: 1, column: 0 },
10317
end: { line: 1, column: 7 }
10318
}
10319
},
10320
10321
'x <<= 42': {
10322
type: 'ExpressionStatement',
10323
expression: {
10324
type: 'AssignmentExpression',
10325
operator: '<<=',
10326
left: {
10327
type: 'Identifier',
10328
name: 'x',
10329
range: [0, 1],
10330
loc: {
10331
start: { line: 1, column: 0 },
10332
end: { line: 1, column: 1 }
10333
}
10334
},
10335
right: {
10336
type: 'Literal',
10337
value: 42,
10338
raw: '42',
10339
range: [6, 8],
10340
loc: {
10341
start: { line: 1, column: 6 },
10342
end: { line: 1, column: 8 }
10343
}
10344
},
10345
range: [0, 8],
10346
loc: {
10347
start: { line: 1, column: 0 },
10348
end: { line: 1, column: 8 }
10349
}
10350
},
10351
range: [0, 8],
10352
loc: {
10353
start: { line: 1, column: 0 },
10354
end: { line: 1, column: 8 }
10355
}
10356
},
10357
10358
'x >>= 42': {
10359
type: 'ExpressionStatement',
10360
expression: {
10361
type: 'AssignmentExpression',
10362
operator: '>>=',
10363
left: {
10364
type: 'Identifier',
10365
name: 'x',
10366
range: [0, 1],
10367
loc: {
10368
start: { line: 1, column: 0 },
10369
end: { line: 1, column: 1 }
10370
}
10371
},
10372
right: {
10373
type: 'Literal',
10374
value: 42,
10375
raw: '42',
10376
range: [6, 8],
10377
loc: {
10378
start: { line: 1, column: 6 },
10379
end: { line: 1, column: 8 }
10380
}
10381
},
10382
range: [0, 8],
10383
loc: {
10384
start: { line: 1, column: 0 },
10385
end: { line: 1, column: 8 }
10386
}
10387
},
10388
range: [0, 8],
10389
loc: {
10390
start: { line: 1, column: 0 },
10391
end: { line: 1, column: 8 }
10392
}
10393
},
10394
10395
'x >>>= 42': {
10396
type: 'ExpressionStatement',
10397
expression: {
10398
type: 'AssignmentExpression',
10399
operator: '>>>=',
10400
left: {
10401
type: 'Identifier',
10402
name: 'x',
10403
range: [0, 1],
10404
loc: {
10405
start: { line: 1, column: 0 },
10406
end: { line: 1, column: 1 }
10407
}
10408
},
10409
right: {
10410
type: 'Literal',
10411
value: 42,
10412
raw: '42',
10413
range: [7, 9],
10414
loc: {
10415
start: { line: 1, column: 7 },
10416
end: { line: 1, column: 9 }
10417
}
10418
},
10419
range: [0, 9],
10420
loc: {
10421
start: { line: 1, column: 0 },
10422
end: { line: 1, column: 9 }
10423
}
10424
},
10425
range: [0, 9],
10426
loc: {
10427
start: { line: 1, column: 0 },
10428
end: { line: 1, column: 9 }
10429
}
10430
},
10431
10432
'x &= 42': {
10433
type: 'ExpressionStatement',
10434
expression: {
10435
type: 'AssignmentExpression',
10436
operator: '&=',
10437
left: {
10438
type: 'Identifier',
10439
name: 'x',
10440
range: [0, 1],
10441
loc: {
10442
start: { line: 1, column: 0 },
10443
end: { line: 1, column: 1 }
10444
}
10445
},
10446
right: {
10447
type: 'Literal',
10448
value: 42,
10449
raw: '42',
10450
range: [5, 7],
10451
loc: {
10452
start: { line: 1, column: 5 },
10453
end: { line: 1, column: 7 }
10454
}
10455
},
10456
range: [0, 7],
10457
loc: {
10458
start: { line: 1, column: 0 },
10459
end: { line: 1, column: 7 }
10460
}
10461
},
10462
range: [0, 7],
10463
loc: {
10464
start: { line: 1, column: 0 },
10465
end: { line: 1, column: 7 }
10466
}
10467
},
10468
10469
'x ^= 42': {
10470
type: 'ExpressionStatement',
10471
expression: {
10472
type: 'AssignmentExpression',
10473
operator: '^=',
10474
left: {
10475
type: 'Identifier',
10476
name: 'x',
10477
range: [0, 1],
10478
loc: {
10479
start: { line: 1, column: 0 },
10480
end: { line: 1, column: 1 }
10481
}
10482
},
10483
right: {
10484
type: 'Literal',
10485
value: 42,
10486
raw: '42',
10487
range: [5, 7],
10488
loc: {
10489
start: { line: 1, column: 5 },
10490
end: { line: 1, column: 7 }
10491
}
10492
},
10493
range: [0, 7],
10494
loc: {
10495
start: { line: 1, column: 0 },
10496
end: { line: 1, column: 7 }
10497
}
10498
},
10499
range: [0, 7],
10500
loc: {
10501
start: { line: 1, column: 0 },
10502
end: { line: 1, column: 7 }
10503
}
10504
},
10505
10506
'x |= 42': {
10507
type: 'ExpressionStatement',
10508
expression: {
10509
type: 'AssignmentExpression',
10510
operator: '|=',
10511
left: {
10512
type: 'Identifier',
10513
name: 'x',
10514
range: [0, 1],
10515
loc: {
10516
start: { line: 1, column: 0 },
10517
end: { line: 1, column: 1 }
10518
}
10519
},
10520
right: {
10521
type: 'Literal',
10522
value: 42,
10523
raw: '42',
10524
range: [5, 7],
10525
loc: {
10526
start: { line: 1, column: 5 },
10527
end: { line: 1, column: 7 }
10528
}
10529
},
10530
range: [0, 7],
10531
loc: {
10532
start: { line: 1, column: 0 },
10533
end: { line: 1, column: 7 }
10534
}
10535
},
10536
range: [0, 7],
10537
loc: {
10538
start: { line: 1, column: 0 },
10539
end: { line: 1, column: 7 }
10540
}
10541
}
10542
10543
},
10544
10545
'Complex Expression': {
10546
10547
'a || b && c | d ^ e & f == g < h >>> i + j * k': {
10548
type: 'ExpressionStatement',
10549
expression: {
10550
type: 'LogicalExpression',
10551
operator: '||',
10552
left: {
10553
type: 'Identifier',
10554
name: 'a',
10555
range: [0, 1],
10556
loc: {
10557
start: { line: 1, column: 0 },
10558
end: { line: 1, column: 1 }
10559
}
10560
},
10561
right: {
10562
type: 'LogicalExpression',
10563
operator: '&&',
10564
left: {
10565
type: 'Identifier',
10566
name: 'b',
10567
range: [5, 6],
10568
loc: {
10569
start: { line: 1, column: 5 },
10570
end: { line: 1, column: 6 }
10571
}
10572
},
10573
right: {
10574
type: 'BinaryExpression',
10575
operator: '|',
10576
left: {
10577
type: 'Identifier',
10578
name: 'c',
10579
range: [10, 11],
10580
loc: {
10581
start: { line: 1, column: 10 },
10582
end: { line: 1, column: 11 }
10583
}
10584
},
10585
right: {
10586
type: 'BinaryExpression',
10587
operator: '^',
10588
left: {
10589
type: 'Identifier',
10590
name: 'd',
10591
range: [14, 15],
10592
loc: {
10593
start: { line: 1, column: 14 },
10594
end: { line: 1, column: 15 }
10595
}
10596
},
10597
right: {
10598
type: 'BinaryExpression',
10599
operator: '&',
10600
left: {
10601
type: 'Identifier',
10602
name: 'e',
10603
range: [18, 19],
10604
loc: {
10605
start: { line: 1, column: 18 },
10606
end: { line: 1, column: 19 }
10607
}
10608
},
10609
right: {
10610
type: 'BinaryExpression',
10611
operator: '==',
10612
left: {
10613
type: 'Identifier',
10614
name: 'f',
10615
range: [22, 23],
10616
loc: {
10617
start: { line: 1, column: 22 },
10618
end: { line: 1, column: 23 }
10619
}
10620
},
10621
right: {
10622
type: 'BinaryExpression',
10623
operator: '<',
10624
left: {
10625
type: 'Identifier',
10626
name: 'g',
10627
range: [27, 28],
10628
loc: {
10629
start: { line: 1, column: 27 },
10630
end: { line: 1, column: 28 }
10631
}
10632
},
10633
right: {
10634
type: 'BinaryExpression',
10635
operator: '>>>',
10636
left: {
10637
type: 'Identifier',
10638
name: 'h',
10639
range: [31, 32],
10640
loc: {
10641
start: { line: 1, column: 31 },
10642
end: { line: 1, column: 32 }
10643
}
10644
},
10645
right: {
10646
type: 'BinaryExpression',
10647
operator: '+',
10648
left: {
10649
type: 'Identifier',
10650
name: 'i',
10651
range: [37, 38],
10652
loc: {
10653
start: { line: 1, column: 37 },
10654
end: { line: 1, column: 38 }
10655
}
10656
},
10657
right: {
10658
type: 'BinaryExpression',
10659
operator: '*',
10660
left: {
10661
type: 'Identifier',
10662
name: 'j',
10663
range: [41, 42],
10664
loc: {
10665
start: { line: 1, column: 41 },
10666
end: { line: 1, column: 42 }
10667
}
10668
},
10669
right: {
10670
type: 'Identifier',
10671
name: 'k',
10672
range: [45, 46],
10673
loc: {
10674
start: { line: 1, column: 45 },
10675
end: { line: 1, column: 46 }
10676
}
10677
},
10678
range: [41, 46],
10679
loc: {
10680
start: { line: 1, column: 41 },
10681
end: { line: 1, column: 46 }
10682
}
10683
},
10684
range: [37, 46],
10685
loc: {
10686
start: { line: 1, column: 37 },
10687
end: { line: 1, column: 46 }
10688
}
10689
},
10690
range: [31, 46],
10691
loc: {
10692
start: { line: 1, column: 31 },
10693
end: { line: 1, column: 46 }
10694
}
10695
},
10696
range: [27, 46],
10697
loc: {
10698
start: { line: 1, column: 27 },
10699
end: { line: 1, column: 46 }
10700
}
10701
},
10702
range: [22, 46],
10703
loc: {
10704
start: { line: 1, column: 22 },
10705
end: { line: 1, column: 46 }
10706
}
10707
},
10708
range: [18, 46],
10709
loc: {
10710
start: { line: 1, column: 18 },
10711
end: { line: 1, column: 46 }
10712
}
10713
},
10714
range: [14, 46],
10715
loc: {
10716
start: { line: 1, column: 14 },
10717
end: { line: 1, column: 46 }
10718
}
10719
},
10720
range: [10, 46],
10721
loc: {
10722
start: { line: 1, column: 10 },
10723
end: { line: 1, column: 46 }
10724
}
10725
},
10726
range: [5, 46],
10727
loc: {
10728
start: { line: 1, column: 5 },
10729
end: { line: 1, column: 46 }
10730
}
10731
},
10732
range: [0, 46],
10733
loc: {
10734
start: { line: 1, column: 0 },
10735
end: { line: 1, column: 46 }
10736
}
10737
},
10738
range: [0, 46],
10739
loc: {
10740
start: { line: 1, column: 0 },
10741
end: { line: 1, column: 46 }
10742
}
10743
}
10744
10745
},
10746
10747
'Block': {
10748
10749
'{ foo }': {
10750
type: 'BlockStatement',
10751
body: [{
10752
type: 'ExpressionStatement',
10753
expression: {
10754
type: 'Identifier',
10755
name: 'foo',
10756
range: [2, 5],
10757
loc: {
10758
start: { line: 1, column: 2 },
10759
end: { line: 1, column: 5 }
10760
}
10761
},
10762
range: [2, 6],
10763
loc: {
10764
start: { line: 1, column: 2 },
10765
end: { line: 1, column: 6 }
10766
}
10767
}],
10768
range: [0, 7],
10769
loc: {
10770
start: { line: 1, column: 0 },
10771
end: { line: 1, column: 7 }
10772
}
10773
},
10774
10775
'{ doThis(); doThat(); }': {
10776
type: 'BlockStatement',
10777
body: [{
10778
type: 'ExpressionStatement',
10779
expression: {
10780
type: 'CallExpression',
10781
callee: {
10782
type: 'Identifier',
10783
name: 'doThis',
10784
range: [2, 8],
10785
loc: {
10786
start: { line: 1, column: 2 },
10787
end: { line: 1, column: 8 }
10788
}
10789
},
10790
'arguments': [],
10791
range: [2, 10],
10792
loc: {
10793
start: { line: 1, column: 2 },
10794
end: { line: 1, column: 10 }
10795
}
10796
},
10797
range: [2, 11],
10798
loc: {
10799
start: { line: 1, column: 2 },
10800
end: { line: 1, column: 11 }
10801
}
10802
}, {
10803
type: 'ExpressionStatement',
10804
expression: {
10805
type: 'CallExpression',
10806
callee: {
10807
type: 'Identifier',
10808
name: 'doThat',
10809
range: [12, 18],
10810
loc: {
10811
start: { line: 1, column: 12 },
10812
end: { line: 1, column: 18 }
10813
}
10814
},
10815
'arguments': [],
10816
range: [12, 20],
10817
loc: {
10818
start: { line: 1, column: 12 },
10819
end: { line: 1, column: 20 }
10820
}
10821
},
10822
range: [12, 21],
10823
loc: {
10824
start: { line: 1, column: 12 },
10825
end: { line: 1, column: 21 }
10826
}
10827
}],
10828
range: [0, 23],
10829
loc: {
10830
start: { line: 1, column: 0 },
10831
end: { line: 1, column: 23 }
10832
}
10833
},
10834
10835
'{}': {
10836
type: 'BlockStatement',
10837
body: [],
10838
range: [0, 2],
10839
loc: {
10840
start: { line: 1, column: 0 },
10841
end: { line: 1, column: 2 }
10842
}
10843
}
10844
10845
},
10846
10847
'Variable Statement': {
10848
10849
'var x': {
10850
type: 'VariableDeclaration',
10851
declarations: [{
10852
type: 'VariableDeclarator',
10853
id: {
10854
type: 'Identifier',
10855
name: 'x',
10856
range: [4, 5],
10857
loc: {
10858
start: { line: 1, column: 4 },
10859
end: { line: 1, column: 5 }
10860
}
10861
},
10862
init: null,
10863
range: [4, 5],
10864
loc: {
10865
start: { line: 1, column: 4 },
10866
end: { line: 1, column: 5 }
10867
}
10868
}],
10869
kind: 'var',
10870
range: [0, 5],
10871
loc: {
10872
start: { line: 1, column: 0 },
10873
end: { line: 1, column: 5 }
10874
}
10875
},
10876
10877
'var x, y;': {
10878
type: 'VariableDeclaration',
10879
declarations: [{
10880
type: 'VariableDeclarator',
10881
id: {
10882
type: 'Identifier',
10883
name: 'x',
10884
range: [4, 5],
10885
loc: {
10886
start: { line: 1, column: 4 },
10887
end: { line: 1, column: 5 }
10888
}
10889
},
10890
init: null,
10891
range: [4, 5],
10892
loc: {
10893
start: { line: 1, column: 4 },
10894
end: { line: 1, column: 5 }
10895
}
10896
}, {
10897
type: 'VariableDeclarator',
10898
id: {
10899
type: 'Identifier',
10900
name: 'y',
10901
range: [7, 8],
10902
loc: {
10903
start: { line: 1, column: 7 },
10904
end: { line: 1, column: 8 }
10905
}
10906
},
10907
init: null,
10908
range: [7, 8],
10909
loc: {
10910
start: { line: 1, column: 7 },
10911
end: { line: 1, column: 8 }
10912
}
10913
}],
10914
kind: 'var',
10915
range: [0, 9],
10916
loc: {
10917
start: { line: 1, column: 0 },
10918
end: { line: 1, column: 9 }
10919
}
10920
},
10921
10922
'var x = 42': {
10923
type: 'VariableDeclaration',
10924
declarations: [{
10925
type: 'VariableDeclarator',
10926
id: {
10927
type: 'Identifier',
10928
name: 'x',
10929
range: [4, 5],
10930
loc: {
10931
start: { line: 1, column: 4 },
10932
end: { line: 1, column: 5 }
10933
}
10934
},
10935
init: {
10936
type: 'Literal',
10937
value: 42,
10938
raw: '42',
10939
range: [8, 10],
10940
loc: {
10941
start: { line: 1, column: 8 },
10942
end: { line: 1, column: 10 }
10943
}
10944
},
10945
range: [4, 10],
10946
loc: {
10947
start: { line: 1, column: 4 },
10948
end: { line: 1, column: 10 }
10949
}
10950
}],
10951
kind: 'var',
10952
range: [0, 10],
10953
loc: {
10954
start: { line: 1, column: 0 },
10955
end: { line: 1, column: 10 }
10956
}
10957
},
10958
10959
'var eval = 42, arguments = 42': {
10960
type: 'VariableDeclaration',
10961
declarations: [{
10962
type: 'VariableDeclarator',
10963
id: {
10964
type: 'Identifier',
10965
name: 'eval',
10966
range: [4, 8],
10967
loc: {
10968
start: { line: 1, column: 4 },
10969
end: { line: 1, column: 8 }
10970
}
10971
},
10972
init: {
10973
type: 'Literal',
10974
value: 42,
10975
raw: '42',
10976
range: [11, 13],
10977
loc: {
10978
start: { line: 1, column: 11 },
10979
end: { line: 1, column: 13 }
10980
}
10981
},
10982
range: [4, 13],
10983
loc: {
10984
start: { line: 1, column: 4 },
10985
end: { line: 1, column: 13 }
10986
}
10987
}, {
10988
type: 'VariableDeclarator',
10989
id: {
10990
type: 'Identifier',
10991
name: 'arguments',
10992
range: [15, 24],
10993
loc: {
10994
start: { line: 1, column: 15 },
10995
end: { line: 1, column: 24 }
10996
}
10997
},
10998
init: {
10999
type: 'Literal',
11000
value: 42,
11001
raw: '42',
11002
range: [27, 29],
11003
loc: {
11004
start: { line: 1, column: 27 },
11005
end: { line: 1, column: 29 }
11006
}
11007
},
11008
range: [15, 29],
11009
loc: {
11010
start: { line: 1, column: 15 },
11011
end: { line: 1, column: 29 }
11012
}
11013
}],
11014
kind: 'var',
11015
range: [0, 29],
11016
loc: {
11017
start: { line: 1, column: 0 },
11018
end: { line: 1, column: 29 }
11019
}
11020
},
11021
11022
'var x = 14, y = 3, z = 1977': {
11023
type: 'VariableDeclaration',
11024
declarations: [{
11025
type: 'VariableDeclarator',
11026
id: {
11027
type: 'Identifier',
11028
name: 'x',
11029
range: [4, 5],
11030
loc: {
11031
start: { line: 1, column: 4 },
11032
end: { line: 1, column: 5 }
11033
}
11034
},
11035
init: {
11036
type: 'Literal',
11037
value: 14,
11038
raw: '14',
11039
range: [8, 10],
11040
loc: {
11041
start: { line: 1, column: 8 },
11042
end: { line: 1, column: 10 }
11043
}
11044
},
11045
range: [4, 10],
11046
loc: {
11047
start: { line: 1, column: 4 },
11048
end: { line: 1, column: 10 }
11049
}
11050
}, {
11051
type: 'VariableDeclarator',
11052
id: {
11053
type: 'Identifier',
11054
name: 'y',
11055
range: [12, 13],
11056
loc: {
11057
start: { line: 1, column: 12 },
11058
end: { line: 1, column: 13 }
11059
}
11060
},
11061
init: {
11062
type: 'Literal',
11063
value: 3,
11064
raw: '3',
11065
range: [16, 17],
11066
loc: {
11067
start: { line: 1, column: 16 },
11068
end: { line: 1, column: 17 }
11069
}
11070
},
11071
range: [12, 17],
11072
loc: {
11073
start: { line: 1, column: 12 },
11074
end: { line: 1, column: 17 }
11075
}
11076
}, {
11077
type: 'VariableDeclarator',
11078
id: {
11079
type: 'Identifier',
11080
name: 'z',
11081
range: [19, 20],
11082
loc: {
11083
start: { line: 1, column: 19 },
11084
end: { line: 1, column: 20 }
11085
}
11086
},
11087
init: {
11088
type: 'Literal',
11089
value: 1977,
11090
raw: '1977',
11091
range: [23, 27],
11092
loc: {
11093
start: { line: 1, column: 23 },
11094
end: { line: 1, column: 27 }
11095
}
11096
},
11097
range: [19, 27],
11098
loc: {
11099
start: { line: 1, column: 19 },
11100
end: { line: 1, column: 27 }
11101
}
11102
}],
11103
kind: 'var',
11104
range: [0, 27],
11105
loc: {
11106
start: { line: 1, column: 0 },
11107
end: { line: 1, column: 27 }
11108
}
11109
},
11110
11111
'var implements, interface, package': {
11112
type: 'VariableDeclaration',
11113
declarations: [{
11114
type: 'VariableDeclarator',
11115
id: {
11116
type: 'Identifier',
11117
name: 'implements',
11118
range: [4, 14],
11119
loc: {
11120
start: { line: 1, column: 4 },
11121
end: { line: 1, column: 14 }
11122
}
11123
},
11124
init: null,
11125
range: [4, 14],
11126
loc: {
11127
start: { line: 1, column: 4 },
11128
end: { line: 1, column: 14 }
11129
}
11130
}, {
11131
type: 'VariableDeclarator',
11132
id: {
11133
type: 'Identifier',
11134
name: 'interface',
11135
range: [16, 25],
11136
loc: {
11137
start: { line: 1, column: 16 },
11138
end: { line: 1, column: 25 }
11139
}
11140
},
11141
init: null,
11142
range: [16, 25],
11143
loc: {
11144
start: { line: 1, column: 16 },
11145
end: { line: 1, column: 25 }
11146
}
11147
}, {
11148
type: 'VariableDeclarator',
11149
id: {
11150
type: 'Identifier',
11151
name: 'package',
11152
range: [27, 34],
11153
loc: {
11154
start: { line: 1, column: 27 },
11155
end: { line: 1, column: 34 }
11156
}
11157
},
11158
init: null,
11159
range: [27, 34],
11160
loc: {
11161
start: { line: 1, column: 27 },
11162
end: { line: 1, column: 34 }
11163
}
11164
}],
11165
kind: 'var',
11166
range: [0, 34],
11167
loc: {
11168
start: { line: 1, column: 0 },
11169
end: { line: 1, column: 34 }
11170
}
11171
},
11172
11173
'var private, protected, public, static': {
11174
type: 'VariableDeclaration',
11175
declarations: [{
11176
type: 'VariableDeclarator',
11177
id: {
11178
type: 'Identifier',
11179
name: 'private',
11180
range: [4, 11],
11181
loc: {
11182
start: { line: 1, column: 4 },
11183
end: { line: 1, column: 11 }
11184
}
11185
},
11186
init: null,
11187
range: [4, 11],
11188
loc: {
11189
start: { line: 1, column: 4 },
11190
end: { line: 1, column: 11 }
11191
}
11192
}, {
11193
type: 'VariableDeclarator',
11194
id: {
11195
type: 'Identifier',
11196
name: 'protected',
11197
range: [13, 22],
11198
loc: {
11199
start: { line: 1, column: 13 },
11200
end: { line: 1, column: 22 }
11201
}
11202
},
11203
init: null,
11204
range: [13, 22],
11205
loc: {
11206
start: { line: 1, column: 13 },
11207
end: { line: 1, column: 22 }
11208
}
11209
}, {
11210
type: 'VariableDeclarator',
11211
id: {
11212
type: 'Identifier',
11213
name: 'public',
11214
range: [24, 30],
11215
loc: {
11216
start: { line: 1, column: 24 },
11217
end: { line: 1, column: 30 }
11218
}
11219
},
11220
init: null,
11221
range: [24, 30],
11222
loc: {
11223
start: { line: 1, column: 24 },
11224
end: { line: 1, column: 30 }
11225
}
11226
}, {
11227
type: 'VariableDeclarator',
11228
id: {
11229
type: 'Identifier',
11230
name: 'static',
11231
range: [32, 38],
11232
loc: {
11233
start: { line: 1, column: 32 },
11234
end: { line: 1, column: 38 }
11235
}
11236
},
11237
init: null,
11238
range: [32, 38],
11239
loc: {
11240
start: { line: 1, column: 32 },
11241
end: { line: 1, column: 38 }
11242
}
11243
}],
11244
kind: 'var',
11245
range: [0, 38],
11246
loc: {
11247
start: { line: 1, column: 0 },
11248
end: { line: 1, column: 38 }
11249
}
11250
}
11251
11252
},
11253
11254
'Let Statement': {
11255
11256
'let x': {
11257
type: 'VariableDeclaration',
11258
declarations: [{
11259
type: 'VariableDeclarator',
11260
id: {
11261
type: 'Identifier',
11262
name: 'x',
11263
range: [4, 5],
11264
loc: {
11265
start: { line: 1, column: 4 },
11266
end: { line: 1, column: 5 }
11267
}
11268
},
11269
init: null,
11270
range: [4, 5],
11271
loc: {
11272
start: { line: 1, column: 4 },
11273
end: { line: 1, column: 5 }
11274
}
11275
}],
11276
kind: 'let',
11277
range: [0, 5],
11278
loc: {
11279
start: { line: 1, column: 0 },
11280
end: { line: 1, column: 5 }
11281
}
11282
},
11283
11284
'{ let x }': {
11285
type: 'BlockStatement',
11286
body: [{
11287
type: 'VariableDeclaration',
11288
declarations: [{
11289
type: 'VariableDeclarator',
11290
id: {
11291
type: 'Identifier',
11292
name: 'x',
11293
range: [6, 7],
11294
loc: {
11295
start: { line: 1, column: 6 },
11296
end: { line: 1, column: 7 }
11297
}
11298
},
11299
init: null,
11300
range: [6, 7],
11301
loc: {
11302
start: { line: 1, column: 6 },
11303
end: { line: 1, column: 7 }
11304
}
11305
}],
11306
kind: 'let',
11307
range: [2, 8],
11308
loc: {
11309
start: { line: 1, column: 2 },
11310
end: { line: 1, column: 8 }
11311
}
11312
}],
11313
range: [0, 9],
11314
loc: {
11315
start: { line: 1, column: 0 },
11316
end: { line: 1, column: 9 }
11317
}
11318
},
11319
11320
'{ let x = 42 }': {
11321
type: 'BlockStatement',
11322
body: [{
11323
type: 'VariableDeclaration',
11324
declarations: [{
11325
type: 'VariableDeclarator',
11326
id: {
11327
type: 'Identifier',
11328
name: 'x',
11329
range: [6, 7],
11330
loc: {
11331
start: { line: 1, column: 6 },
11332
end: { line: 1, column: 7 }
11333
}
11334
},
11335
init: {
11336
type: 'Literal',
11337
value: 42,
11338
raw: '42',
11339
range: [10, 12],
11340
loc: {
11341
start: { line: 1, column: 10 },
11342
end: { line: 1, column: 12 }
11343
}
11344
},
11345
range: [6, 12],
11346
loc: {
11347
start: { line: 1, column: 6 },
11348
end: { line: 1, column: 12 }
11349
}
11350
}],
11351
kind: 'let',
11352
range: [2, 13],
11353
loc: {
11354
start: { line: 1, column: 2 },
11355
end: { line: 1, column: 13 }
11356
}
11357
}],
11358
range: [0, 14],
11359
loc: {
11360
start: { line: 1, column: 0 },
11361
end: { line: 1, column: 14 }
11362
}
11363
},
11364
11365
'{ let x = 14, y = 3, z = 1977 }': {
11366
type: 'BlockStatement',
11367
body: [{
11368
type: 'VariableDeclaration',
11369
declarations: [{
11370
type: 'VariableDeclarator',
11371
id: {
11372
type: 'Identifier',
11373
name: 'x',
11374
range: [6, 7],
11375
loc: {
11376
start: { line: 1, column: 6 },
11377
end: { line: 1, column: 7 }
11378
}
11379
},
11380
init: {
11381
type: 'Literal',
11382
value: 14,
11383
raw: '14',
11384
range: [10, 12],
11385
loc: {
11386
start: { line: 1, column: 10 },
11387
end: { line: 1, column: 12 }
11388
}
11389
},
11390
range: [6, 12],
11391
loc: {
11392
start: { line: 1, column: 6 },
11393
end: { line: 1, column: 12 }
11394
}
11395
}, {
11396
type: 'VariableDeclarator',
11397
id: {
11398
type: 'Identifier',
11399
name: 'y',
11400
range: [14, 15],
11401
loc: {
11402
start: { line: 1, column: 14 },
11403
end: { line: 1, column: 15 }
11404
}
11405
},
11406
init: {
11407
type: 'Literal',
11408
value: 3,
11409
raw: '3',
11410
range: [18, 19],
11411
loc: {
11412
start: { line: 1, column: 18 },
11413
end: { line: 1, column: 19 }
11414
}
11415
},
11416
range: [14, 19],
11417
loc: {
11418
start: { line: 1, column: 14 },
11419
end: { line: 1, column: 19 }
11420
}
11421
}, {
11422
type: 'VariableDeclarator',
11423
id: {
11424
type: 'Identifier',
11425
name: 'z',
11426
range: [21, 22],
11427
loc: {
11428
start: { line: 1, column: 21 },
11429
end: { line: 1, column: 22 }
11430
}
11431
},
11432
init: {
11433
type: 'Literal',
11434
value: 1977,
11435
raw: '1977',
11436
range: [25, 29],
11437
loc: {
11438
start: { line: 1, column: 25 },
11439
end: { line: 1, column: 29 }
11440
}
11441
},
11442
range: [21, 29],
11443
loc: {
11444
start: { line: 1, column: 21 },
11445
end: { line: 1, column: 29 }
11446
}
11447
}],
11448
kind: 'let',
11449
range: [2, 30],
11450
loc: {
11451
start: { line: 1, column: 2 },
11452
end: { line: 1, column: 30 }
11453
}
11454
}],
11455
range: [0, 31],
11456
loc: {
11457
start: { line: 1, column: 0 },
11458
end: { line: 1, column: 31 }
11459
}
11460
}
11461
11462
},
11463
11464
'Const Statement': {
11465
11466
'const x = 42': {
11467
type: 'VariableDeclaration',
11468
declarations: [{
11469
type: 'VariableDeclarator',
11470
id: {
11471
type: 'Identifier',
11472
name: 'x',
11473
range: [6, 7],
11474
loc: {
11475
start: { line: 1, column: 6 },
11476
end: { line: 1, column: 7 }
11477
}
11478
},
11479
init: {
11480
type: 'Literal',
11481
value: 42,
11482
raw: '42',
11483
range: [10, 12],
11484
loc: {
11485
start: { line: 1, column: 10 },
11486
end: { line: 1, column: 12 }
11487
}
11488
},
11489
range: [6, 12],
11490
loc: {
11491
start: { line: 1, column: 6 },
11492
end: { line: 1, column: 12 }
11493
}
11494
}],
11495
kind: 'const',
11496
range: [0, 12],
11497
loc: {
11498
start: { line: 1, column: 0 },
11499
end: { line: 1, column: 12 }
11500
}
11501
},
11502
11503
'{ const x = 42 }': {
11504
type: 'BlockStatement',
11505
body: [{
11506
type: 'VariableDeclaration',
11507
declarations: [{
11508
type: 'VariableDeclarator',
11509
id: {
11510
type: 'Identifier',
11511
name: 'x',
11512
range: [8, 9],
11513
loc: {
11514
start: { line: 1, column: 8 },
11515
end: { line: 1, column: 9 }
11516
}
11517
},
11518
init: {
11519
type: 'Literal',
11520
value: 42,
11521
raw: '42',
11522
range: [12, 14],
11523
loc: {
11524
start: { line: 1, column: 12 },
11525
end: { line: 1, column: 14 }
11526
}
11527
},
11528
range: [8, 14],
11529
loc: {
11530
start: { line: 1, column: 8 },
11531
end: { line: 1, column: 14 }
11532
}
11533
}],
11534
kind: 'const',
11535
range: [2, 15],
11536
loc: {
11537
start: { line: 1, column: 2 },
11538
end: { line: 1, column: 15 }
11539
}
11540
}],
11541
range: [0, 16],
11542
loc: {
11543
start: { line: 1, column: 0 },
11544
end: { line: 1, column: 16 }
11545
}
11546
},
11547
11548
'{ const x = 14, y = 3, z = 1977 }': {
11549
type: 'BlockStatement',
11550
body: [{
11551
type: 'VariableDeclaration',
11552
declarations: [{
11553
type: 'VariableDeclarator',
11554
id: {
11555
type: 'Identifier',
11556
name: 'x',
11557
range: [8, 9],
11558
loc: {
11559
start: { line: 1, column: 8 },
11560
end: { line: 1, column: 9 }
11561
}
11562
},
11563
init: {
11564
type: 'Literal',
11565
value: 14,
11566
raw: '14',
11567
range: [12, 14],
11568
loc: {
11569
start: { line: 1, column: 12 },
11570
end: { line: 1, column: 14 }
11571
}
11572
},
11573
range: [8, 14],
11574
loc: {
11575
start: { line: 1, column: 8 },
11576
end: { line: 1, column: 14 }
11577
}
11578
}, {
11579
type: 'VariableDeclarator',
11580
id: {
11581
type: 'Identifier',
11582
name: 'y',
11583
range: [16, 17],
11584
loc: {
11585
start: { line: 1, column: 16 },
11586
end: { line: 1, column: 17 }
11587
}
11588
},
11589
init: {
11590
type: 'Literal',
11591
value: 3,
11592
raw: '3',
11593
range: [20, 21],
11594
loc: {
11595
start: { line: 1, column: 20 },
11596
end: { line: 1, column: 21 }
11597
}
11598
},
11599
range: [16, 21],
11600
loc: {
11601
start: { line: 1, column: 16 },
11602
end: { line: 1, column: 21 }
11603
}
11604
}, {
11605
type: 'VariableDeclarator',
11606
id: {
11607
type: 'Identifier',
11608
name: 'z',
11609
range: [23, 24],
11610
loc: {
11611
start: { line: 1, column: 23 },
11612
end: { line: 1, column: 24 }
11613
}
11614
},
11615
init: {
11616
type: 'Literal',
11617
value: 1977,
11618
raw: '1977',
11619
range: [27, 31],
11620
loc: {
11621
start: { line: 1, column: 27 },
11622
end: { line: 1, column: 31 }
11623
}
11624
},
11625
range: [23, 31],
11626
loc: {
11627
start: { line: 1, column: 23 },
11628
end: { line: 1, column: 31 }
11629
}
11630
}],
11631
kind: 'const',
11632
range: [2, 32],
11633
loc: {
11634
start: { line: 1, column: 2 },
11635
end: { line: 1, column: 32 }
11636
}
11637
}],
11638
range: [0, 33],
11639
loc: {
11640
start: { line: 1, column: 0 },
11641
end: { line: 1, column: 33 }
11642
}
11643
}
11644
11645
},
11646
11647
'Empty Statement': {
11648
11649
';': {
11650
type: 'EmptyStatement',
11651
range: [0, 1],
11652
loc: {
11653
start: { line: 1, column: 0 },
11654
end: { line: 1, column: 1 }
11655
}
11656
}
11657
11658
},
11659
11660
'Expression Statement': {
11661
11662
'x': {
11663
type: 'ExpressionStatement',
11664
expression: {
11665
type: 'Identifier',
11666
name: 'x',
11667
range: [0, 1],
11668
loc: {
11669
start: { line: 1, column: 0 },
11670
end: { line: 1, column: 1 }
11671
}
11672
},
11673
range: [0, 1],
11674
loc: {
11675
start: { line: 1, column: 0 },
11676
end: { line: 1, column: 1 }
11677
}
11678
},
11679
11680
'x, y': {
11681
type: 'ExpressionStatement',
11682
expression: {
11683
type: 'SequenceExpression',
11684
expressions: [{
11685
type: 'Identifier',
11686
name: 'x',
11687
range: [0, 1],
11688
loc: {
11689
start: { line: 1, column: 0 },
11690
end: { line: 1, column: 1 }
11691
}
11692
}, {
11693
type: 'Identifier',
11694
name: 'y',
11695
range: [3, 4],
11696
loc: {
11697
start: { line: 1, column: 3 },
11698
end: { line: 1, column: 4 }
11699
}
11700
}],
11701
range: [0, 4],
11702
loc: {
11703
start: { line: 1, column: 0 },
11704
end: { line: 1, column: 4 }
11705
}
11706
},
11707
range: [0, 4],
11708
loc: {
11709
start: { line: 1, column: 0 },
11710
end: { line: 1, column: 4 }
11711
}
11712
},
11713
11714
'\\u0061': {
11715
type: 'ExpressionStatement',
11716
expression: {
11717
type: 'Identifier',
11718
name: 'a',
11719
range: [0, 6],
11720
loc: {
11721
start: { line: 1, column: 0 },
11722
end: { line: 1, column: 6 }
11723
}
11724
},
11725
range: [0, 6],
11726
loc: {
11727
start: { line: 1, column: 0 },
11728
end: { line: 1, column: 6 }
11729
}
11730
},
11731
11732
'a\\u0061': {
11733
type: 'ExpressionStatement',
11734
expression: {
11735
type: 'Identifier',
11736
name: 'aa',
11737
range: [0, 7],
11738
loc: {
11739
start: { line: 1, column: 0 },
11740
end: { line: 1, column: 7 }
11741
}
11742
},
11743
range: [0, 7],
11744
loc: {
11745
start: { line: 1, column: 0 },
11746
end: { line: 1, column: 7 }
11747
}
11748
},
11749
11750
'\\u0061a': {
11751
type: 'ExpressionStatement',
11752
expression: {
11753
type: 'Identifier',
11754
name: 'aa',
11755
range: [0, 7],
11756
loc: {
11757
start: { line: 1, column: 0 },
11758
end: { line: 1, column: 7 }
11759
}
11760
},
11761
range: [0, 7],
11762
loc: {
11763
start: { line: 1, column: 0 },
11764
end: { line: 1, column: 7 }
11765
}
11766
},
11767
11768
'\\u0061a ': {
11769
type: 'ExpressionStatement',
11770
expression: {
11771
type: 'Identifier',
11772
name: 'aa',
11773
range: [0, 7],
11774
loc: {
11775
start: { line: 1, column: 0 },
11776
end: { line: 1, column: 7 }
11777
}
11778
},
11779
range: [0, 8],
11780
loc: {
11781
start: { line: 1, column: 0 },
11782
end: { line: 1, column: 8 }
11783
}
11784
}
11785
},
11786
11787
'If Statement': {
11788
11789
'if (morning) goodMorning()': {
11790
type: 'IfStatement',
11791
test: {
11792
type: 'Identifier',
11793
name: 'morning',
11794
range: [4, 11],
11795
loc: {
11796
start: { line: 1, column: 4 },
11797
end: { line: 1, column: 11 }
11798
}
11799
},
11800
consequent: {
11801
type: 'ExpressionStatement',
11802
expression: {
11803
type: 'CallExpression',
11804
callee: {
11805
type: 'Identifier',
11806
name: 'goodMorning',
11807
range: [13, 24],
11808
loc: {
11809
start: { line: 1, column: 13 },
11810
end: { line: 1, column: 24 }
11811
}
11812
},
11813
'arguments': [],
11814
range: [13, 26],
11815
loc: {
11816
start: { line: 1, column: 13 },
11817
end: { line: 1, column: 26 }
11818
}
11819
},
11820
range: [13, 26],
11821
loc: {
11822
start: { line: 1, column: 13 },
11823
end: { line: 1, column: 26 }
11824
}
11825
},
11826
alternate: null,
11827
range: [0, 26],
11828
loc: {
11829
start: { line: 1, column: 0 },
11830
end: { line: 1, column: 26 }
11831
}
11832
},
11833
11834
'if (morning) (function(){})': {
11835
type: 'IfStatement',
11836
test: {
11837
type: 'Identifier',
11838
name: 'morning',
11839
range: [4, 11],
11840
loc: {
11841
start: { line: 1, column: 4 },
11842
end: { line: 1, column: 11 }
11843
}
11844
},
11845
consequent: {
11846
type: 'ExpressionStatement',
11847
expression: {
11848
type: 'FunctionExpression',
11849
id: null,
11850
params: [],
11851
defaults: [],
11852
body: {
11853
type: 'BlockStatement',
11854
body: [],
11855
range: [24, 26],
11856
loc: {
11857
start: { line: 1, column: 24 },
11858
end: { line: 1, column: 26 }
11859
}
11860
},
11861
rest: null,
11862
generator: false,
11863
expression: false,
11864
range: [14, 26],
11865
loc: {
11866
start: { line: 1, column: 14 },
11867
end: { line: 1, column: 26 }
11868
}
11869
},
11870
range: [13, 27],
11871
loc: {
11872
start: { line: 1, column: 13 },
11873
end: { line: 1, column: 27 }
11874
}
11875
},
11876
alternate: null,
11877
range: [0, 27],
11878
loc: {
11879
start: { line: 1, column: 0 },
11880
end: { line: 1, column: 27 }
11881
}
11882
},
11883
11884
'if (morning) var x = 0;': {
11885
type: 'IfStatement',
11886
test: {
11887
type: 'Identifier',
11888
name: 'morning',
11889
range: [4, 11],
11890
loc: {
11891
start: { line: 1, column: 4 },
11892
end: { line: 1, column: 11 }
11893
}
11894
},
11895
consequent: {
11896
type: 'VariableDeclaration',
11897
declarations: [{
11898
type: 'VariableDeclarator',
11899
id: {
11900
type: 'Identifier',
11901
name: 'x',
11902
range: [17, 18],
11903
loc: {
11904
start: { line: 1, column: 17 },
11905
end: { line: 1, column: 18 }
11906
}
11907
},
11908
init: {
11909
type: 'Literal',
11910
value: 0,
11911
raw: '0',
11912
range: [21, 22],
11913
loc: {
11914
start: { line: 1, column: 21 },
11915
end: { line: 1, column: 22 }
11916
}
11917
},
11918
range: [17, 22],
11919
loc: {
11920
start: { line: 1, column: 17 },
11921
end: { line: 1, column: 22 }
11922
}
11923
}],
11924
kind: 'var',
11925
range: [13, 23],
11926
loc: {
11927
start: { line: 1, column: 13 },
11928
end: { line: 1, column: 23 }
11929
}
11930
},
11931
alternate: null,
11932
range: [0, 23],
11933
loc: {
11934
start: { line: 1, column: 0 },
11935
end: { line: 1, column: 23 }
11936
}
11937
},
11938
11939
'if (morning) function a(){}': {
11940
type: 'IfStatement',
11941
test: {
11942
type: 'Identifier',
11943
name: 'morning',
11944
range: [4, 11],
11945
loc: {
11946
start: { line: 1, column: 4 },
11947
end: { line: 1, column: 11 }
11948
}
11949
},
11950
consequent: {
11951
type: 'FunctionDeclaration',
11952
id: {
11953
type: 'Identifier',
11954
name: 'a',
11955
range: [22, 23],
11956
loc: {
11957
start: { line: 1, column: 22 },
11958
end: { line: 1, column: 23 }
11959
}
11960
},
11961
params: [],
11962
defaults: [],
11963
body: {
11964
type: 'BlockStatement',
11965
body: [],
11966
range: [25, 27],
11967
loc: {
11968
start: { line: 1, column: 25 },
11969
end: { line: 1, column: 27 }
11970
}
11971
},
11972
rest: null,
11973
generator: false,
11974
expression: false,
11975
range: [13, 27],
11976
loc: {
11977
start: { line: 1, column: 13 },
11978
end: { line: 1, column: 27 }
11979
}
11980
},
11981
alternate: null,
11982
range: [0, 27],
11983
loc: {
11984
start: { line: 1, column: 0 },
11985
end: { line: 1, column: 27 }
11986
}
11987
},
11988
11989
'if (morning) goodMorning(); else goodDay()': {
11990
type: 'IfStatement',
11991
test: {
11992
type: 'Identifier',
11993
name: 'morning',
11994
range: [4, 11],
11995
loc: {
11996
start: { line: 1, column: 4 },
11997
end: { line: 1, column: 11 }
11998
}
11999
},
12000
consequent: {
12001
type: 'ExpressionStatement',
12002
expression: {
12003
type: 'CallExpression',
12004
callee: {
12005
type: 'Identifier',
12006
name: 'goodMorning',
12007
range: [13, 24],
12008
loc: {
12009
start: { line: 1, column: 13 },
12010
end: { line: 1, column: 24 }
12011
}
12012
},
12013
'arguments': [],
12014
range: [13, 26],
12015
loc: {
12016
start: { line: 1, column: 13 },
12017
end: { line: 1, column: 26 }
12018
}
12019
},
12020
range: [13, 27],
12021
loc: {
12022
start: { line: 1, column: 13 },
12023
end: { line: 1, column: 27 }
12024
}
12025
},
12026
alternate: {
12027
type: 'ExpressionStatement',
12028
expression: {
12029
type: 'CallExpression',
12030
callee: {
12031
type: 'Identifier',
12032
name: 'goodDay',
12033
range: [33, 40],
12034
loc: {
12035
start: { line: 1, column: 33 },
12036
end: { line: 1, column: 40 }
12037
}
12038
},
12039
'arguments': [],
12040
range: [33, 42],
12041
loc: {
12042
start: { line: 1, column: 33 },
12043
end: { line: 1, column: 42 }
12044
}
12045
},
12046
range: [33, 42],
12047
loc: {
12048
start: { line: 1, column: 33 },
12049
end: { line: 1, column: 42 }
12050
}
12051
},
12052
range: [0, 42],
12053
loc: {
12054
start: { line: 1, column: 0 },
12055
end: { line: 1, column: 42 }
12056
}
12057
}
12058
12059
},
12060
12061
'Iteration Statements': {
12062
12063
'do keep(); while (true)': {
12064
type: 'DoWhileStatement',
12065
body: {
12066
type: 'ExpressionStatement',
12067
expression: {
12068
type: 'CallExpression',
12069
callee: {
12070
type: 'Identifier',
12071
name: 'keep',
12072
range: [3, 7],
12073
loc: {
12074
start: { line: 1, column: 3 },
12075
end: { line: 1, column: 7 }
12076
}
12077
},
12078
'arguments': [],
12079
range: [3, 9],
12080
loc: {
12081
start: { line: 1, column: 3 },
12082
end: { line: 1, column: 9 }
12083
}
12084
},
12085
range: [3, 10],
12086
loc: {
12087
start: { line: 1, column: 3 },
12088
end: { line: 1, column: 10 }
12089
}
12090
},
12091
test: {
12092
type: 'Literal',
12093
value: true,
12094
raw: 'true',
12095
range: [18, 22],
12096
loc: {
12097
start: { line: 1, column: 18 },
12098
end: { line: 1, column: 22 }
12099
}
12100
},
12101
range: [0, 23],
12102
loc: {
12103
start: { line: 1, column: 0 },
12104
end: { line: 1, column: 23 }
12105
}
12106
},
12107
12108
'do keep(); while (true);': {
12109
type: 'DoWhileStatement',
12110
body: {
12111
type: 'ExpressionStatement',
12112
expression: {
12113
type: 'CallExpression',
12114
callee: {
12115
type: 'Identifier',
12116
name: 'keep',
12117
range: [3, 7],
12118
loc: {
12119
start: { line: 1, column: 3 },
12120
end: { line: 1, column: 7 }
12121
}
12122
},
12123
'arguments': [],
12124
range: [3, 9],
12125
loc: {
12126
start: { line: 1, column: 3 },
12127
end: { line: 1, column: 9 }
12128
}
12129
},
12130
range: [3, 10],
12131
loc: {
12132
start: { line: 1, column: 3 },
12133
end: { line: 1, column: 10 }
12134
}
12135
},
12136
test: {
12137
type: 'Literal',
12138
value: true,
12139
raw: 'true',
12140
range: [18, 22],
12141
loc: {
12142
start: { line: 1, column: 18 },
12143
end: { line: 1, column: 22 }
12144
}
12145
},
12146
range: [0, 24],
12147
loc: {
12148
start: { line: 1, column: 0 },
12149
end: { line: 1, column: 24 }
12150
}
12151
},
12152
12153
'do { x++; y--; } while (x < 10)': {
12154
type: 'DoWhileStatement',
12155
body: {
12156
type: 'BlockStatement',
12157
body: [{
12158
type: 'ExpressionStatement',
12159
expression: {
12160
type: 'UpdateExpression',
12161
operator: '++',
12162
argument: {
12163
type: 'Identifier',
12164
name: 'x',
12165
range: [5, 6],
12166
loc: {
12167
start: { line: 1, column: 5 },
12168
end: { line: 1, column: 6 }
12169
}
12170
},
12171
prefix: false,
12172
range: [5, 8],
12173
loc: {
12174
start: { line: 1, column: 5 },
12175
end: { line: 1, column: 8 }
12176
}
12177
},
12178
range: [5, 9],
12179
loc: {
12180
start: { line: 1, column: 5 },
12181
end: { line: 1, column: 9 }
12182
}
12183
}, {
12184
type: 'ExpressionStatement',
12185
expression: {
12186
type: 'UpdateExpression',
12187
operator: '--',
12188
argument: {
12189
type: 'Identifier',
12190
name: 'y',
12191
range: [10, 11],
12192
loc: {
12193
start: { line: 1, column: 10 },
12194
end: { line: 1, column: 11 }
12195
}
12196
},
12197
prefix: false,
12198
range: [10, 13],
12199
loc: {
12200
start: { line: 1, column: 10 },
12201
end: { line: 1, column: 13 }
12202
}
12203
},
12204
range: [10, 14],
12205
loc: {
12206
start: { line: 1, column: 10 },
12207
end: { line: 1, column: 14 }
12208
}
12209
}],
12210
range: [3, 16],
12211
loc: {
12212
start: { line: 1, column: 3 },
12213
end: { line: 1, column: 16 }
12214
}
12215
},
12216
test: {
12217
type: 'BinaryExpression',
12218
operator: '<',
12219
left: {
12220
type: 'Identifier',
12221
name: 'x',
12222
range: [24, 25],
12223
loc: {
12224
start: { line: 1, column: 24 },
12225
end: { line: 1, column: 25 }
12226
}
12227
},
12228
right: {
12229
type: 'Literal',
12230
value: 10,
12231
raw: '10',
12232
range: [28, 30],
12233
loc: {
12234
start: { line: 1, column: 28 },
12235
end: { line: 1, column: 30 }
12236
}
12237
},
12238
range: [24, 30],
12239
loc: {
12240
start: { line: 1, column: 24 },
12241
end: { line: 1, column: 30 }
12242
}
12243
},
12244
range: [0, 31],
12245
loc: {
12246
start: { line: 1, column: 0 },
12247
end: { line: 1, column: 31 }
12248
}
12249
},
12250
12251
'{ do { } while (false) false }': {
12252
type: 'BlockStatement',
12253
body: [{
12254
type: 'DoWhileStatement',
12255
body: {
12256
type: 'BlockStatement',
12257
body: [],
12258
range: [5, 8],
12259
loc: {
12260
start: { line: 1, column: 5 },
12261
end: { line: 1, column: 8 }
12262
}
12263
},
12264
test: {
12265
type: 'Literal',
12266
value: false,
12267
raw: 'false',
12268
range: [16, 21],
12269
loc: {
12270
start: { line: 1, column: 16 },
12271
end: { line: 1, column: 21 }
12272
}
12273
},
12274
range: [2, 22],
12275
loc: {
12276
start: { line: 1, column: 2 },
12277
end: { line: 1, column: 22 }
12278
}
12279
}, {
12280
type: 'ExpressionStatement',
12281
expression: {
12282
type: 'Literal',
12283
value: false,
12284
raw: 'false',
12285
range: [23, 28],
12286
loc: {
12287
start: { line: 1, column: 23 },
12288
end: { line: 1, column: 28 }
12289
}
12290
},
12291
range: [23, 29],
12292
loc: {
12293
start: { line: 1, column: 23 },
12294
end: { line: 1, column: 29 }
12295
}
12296
}],
12297
range: [0, 30],
12298
loc: {
12299
start: { line: 1, column: 0 },
12300
end: { line: 1, column: 30 }
12301
}
12302
},
12303
12304
'while (true) doSomething()': {
12305
type: 'WhileStatement',
12306
test: {
12307
type: 'Literal',
12308
value: true,
12309
raw: 'true',
12310
range: [7, 11],
12311
loc: {
12312
start: { line: 1, column: 7 },
12313
end: { line: 1, column: 11 }
12314
}
12315
},
12316
body: {
12317
type: 'ExpressionStatement',
12318
expression: {
12319
type: 'CallExpression',
12320
callee: {
12321
type: 'Identifier',
12322
name: 'doSomething',
12323
range: [13, 24],
12324
loc: {
12325
start: { line: 1, column: 13 },
12326
end: { line: 1, column: 24 }
12327
}
12328
},
12329
'arguments': [],
12330
range: [13, 26],
12331
loc: {
12332
start: { line: 1, column: 13 },
12333
end: { line: 1, column: 26 }
12334
}
12335
},
12336
range: [13, 26],
12337
loc: {
12338
start: { line: 1, column: 13 },
12339
end: { line: 1, column: 26 }
12340
}
12341
},
12342
range: [0, 26],
12343
loc: {
12344
start: { line: 1, column: 0 },
12345
end: { line: 1, column: 26 }
12346
}
12347
},
12348
12349
'while (x < 10) { x++; y--; }': {
12350
type: 'WhileStatement',
12351
test: {
12352
type: 'BinaryExpression',
12353
operator: '<',
12354
left: {
12355
type: 'Identifier',
12356
name: 'x',
12357
range: [7, 8],
12358
loc: {
12359
start: { line: 1, column: 7 },
12360
end: { line: 1, column: 8 }
12361
}
12362
},
12363
right: {
12364
type: 'Literal',
12365
value: 10,
12366
raw: '10',
12367
range: [11, 13],
12368
loc: {
12369
start: { line: 1, column: 11 },
12370
end: { line: 1, column: 13 }
12371
}
12372
},
12373
range: [7, 13],
12374
loc: {
12375
start: { line: 1, column: 7 },
12376
end: { line: 1, column: 13 }
12377
}
12378
},
12379
body: {
12380
type: 'BlockStatement',
12381
body: [{
12382
type: 'ExpressionStatement',
12383
expression: {
12384
type: 'UpdateExpression',
12385
operator: '++',
12386
argument: {
12387
type: 'Identifier',
12388
name: 'x',
12389
range: [17, 18],
12390
loc: {
12391
start: { line: 1, column: 17 },
12392
end: { line: 1, column: 18 }
12393
}
12394
},
12395
prefix: false,
12396
range: [17, 20],
12397
loc: {
12398
start: { line: 1, column: 17 },
12399
end: { line: 1, column: 20 }
12400
}
12401
},
12402
range: [17, 21],
12403
loc: {
12404
start: { line: 1, column: 17 },
12405
end: { line: 1, column: 21 }
12406
}
12407
}, {
12408
type: 'ExpressionStatement',
12409
expression: {
12410
type: 'UpdateExpression',
12411
operator: '--',
12412
argument: {
12413
type: 'Identifier',
12414
name: 'y',
12415
range: [22, 23],
12416
loc: {
12417
start: { line: 1, column: 22 },
12418
end: { line: 1, column: 23 }
12419
}
12420
},
12421
prefix: false,
12422
range: [22, 25],
12423
loc: {
12424
start: { line: 1, column: 22 },
12425
end: { line: 1, column: 25 }
12426
}
12427
},
12428
range: [22, 26],
12429
loc: {
12430
start: { line: 1, column: 22 },
12431
end: { line: 1, column: 26 }
12432
}
12433
}],
12434
range: [15, 28],
12435
loc: {
12436
start: { line: 1, column: 15 },
12437
end: { line: 1, column: 28 }
12438
}
12439
},
12440
range: [0, 28],
12441
loc: {
12442
start: { line: 1, column: 0 },
12443
end: { line: 1, column: 28 }
12444
}
12445
},
12446
12447
'for(;;);': {
12448
type: 'ForStatement',
12449
init: null,
12450
test: null,
12451
update: null,
12452
body: {
12453
type: 'EmptyStatement',
12454
range: [7, 8],
12455
loc: {
12456
start: { line: 1, column: 7 },
12457
end: { line: 1, column: 8 }
12458
}
12459
},
12460
range: [0, 8],
12461
loc: {
12462
start: { line: 1, column: 0 },
12463
end: { line: 1, column: 8 }
12464
}
12465
},
12466
12467
'for(;;){}': {
12468
type: 'ForStatement',
12469
init: null,
12470
test: null,
12471
update: null,
12472
body: {
12473
type: 'BlockStatement',
12474
body: [],
12475
range: [7, 9],
12476
loc: {
12477
start: { line: 1, column: 7 },
12478
end: { line: 1, column: 9 }
12479
}
12480
},
12481
range: [0, 9],
12482
loc: {
12483
start: { line: 1, column: 0 },
12484
end: { line: 1, column: 9 }
12485
}
12486
},
12487
12488
'for(x = 0;;);': {
12489
type: 'ForStatement',
12490
init: {
12491
type: 'AssignmentExpression',
12492
operator: '=',
12493
left: {
12494
type: 'Identifier',
12495
name: 'x',
12496
range: [4, 5],
12497
loc: {
12498
start: { line: 1, column: 4 },
12499
end: { line: 1, column: 5 }
12500
}
12501
},
12502
right: {
12503
type: 'Literal',
12504
value: 0,
12505
raw: '0',
12506
range: [8, 9],
12507
loc: {
12508
start: { line: 1, column: 8 },
12509
end: { line: 1, column: 9 }
12510
}
12511
},
12512
range: [4, 9],
12513
loc: {
12514
start: { line: 1, column: 4 },
12515
end: { line: 1, column: 9 }
12516
}
12517
},
12518
test: null,
12519
update: null,
12520
body: {
12521
type: 'EmptyStatement',
12522
range: [12, 13],
12523
loc: {
12524
start: { line: 1, column: 12 },
12525
end: { line: 1, column: 13 }
12526
}
12527
},
12528
range: [0, 13],
12529
loc: {
12530
start: { line: 1, column: 0 },
12531
end: { line: 1, column: 13 }
12532
}
12533
},
12534
12535
'for(var x = 0;;);': {
12536
type: 'ForStatement',
12537
init: {
12538
type: 'VariableDeclaration',
12539
declarations: [{
12540
type: 'VariableDeclarator',
12541
id: {
12542
type: 'Identifier',
12543
name: 'x',
12544
range: [8, 9],
12545
loc: {
12546
start: { line: 1, column: 8 },
12547
end: { line: 1, column: 9 }
12548
}
12549
},
12550
init: {
12551
type: 'Literal',
12552
value: 0,
12553
raw: '0',
12554
range: [12, 13],
12555
loc: {
12556
start: { line: 1, column: 12 },
12557
end: { line: 1, column: 13 }
12558
}
12559
},
12560
range: [8, 13],
12561
loc: {
12562
start: { line: 1, column: 8 },
12563
end: { line: 1, column: 13 }
12564
}
12565
}],
12566
kind: 'var',
12567
range: [4, 13],
12568
loc: {
12569
start: { line: 1, column: 4 },
12570
end: { line: 1, column: 13 }
12571
}
12572
},
12573
test: null,
12574
update: null,
12575
body: {
12576
type: 'EmptyStatement',
12577
range: [16, 17],
12578
loc: {
12579
start: { line: 1, column: 16 },
12580
end: { line: 1, column: 17 }
12581
}
12582
},
12583
range: [0, 17],
12584
loc: {
12585
start: { line: 1, column: 0 },
12586
end: { line: 1, column: 17 }
12587
}
12588
},
12589
12590
'for(let x = 0;;);': {
12591
type: 'ForStatement',
12592
init: {
12593
type: 'VariableDeclaration',
12594
declarations: [{
12595
type: 'VariableDeclarator',
12596
id: {
12597
type: 'Identifier',
12598
name: 'x',
12599
range: [8, 9],
12600
loc: {
12601
start: { line: 1, column: 8 },
12602
end: { line: 1, column: 9 }
12603
}
12604
},
12605
init: {
12606
type: 'Literal',
12607
value: 0,
12608
raw: '0',
12609
range: [12, 13],
12610
loc: {
12611
start: { line: 1, column: 12 },
12612
end: { line: 1, column: 13 }
12613
}
12614
},
12615
range: [8, 13],
12616
loc: {
12617
start: { line: 1, column: 8 },
12618
end: { line: 1, column: 13 }
12619
}
12620
}],
12621
kind: 'let',
12622
range: [4, 13],
12623
loc: {
12624
start: { line: 1, column: 4 },
12625
end: { line: 1, column: 13 }
12626
}
12627
},
12628
test: null,
12629
update: null,
12630
body: {
12631
type: 'EmptyStatement',
12632
range: [16, 17],
12633
loc: {
12634
start: { line: 1, column: 16 },
12635
end: { line: 1, column: 17 }
12636
}
12637
},
12638
range: [0, 17],
12639
loc: {
12640
start: { line: 1, column: 0 },
12641
end: { line: 1, column: 17 }
12642
}
12643
},
12644
12645
'for(var x = 0, y = 1;;);': {
12646
type: 'ForStatement',
12647
init: {
12648
type: 'VariableDeclaration',
12649
declarations: [{
12650
type: 'VariableDeclarator',
12651
id: {
12652
type: 'Identifier',
12653
name: 'x',
12654
range: [8, 9],
12655
loc: {
12656
start: { line: 1, column: 8 },
12657
end: { line: 1, column: 9 }
12658
}
12659
},
12660
init: {
12661
type: 'Literal',
12662
value: 0,
12663
raw: '0',
12664
range: [12, 13],
12665
loc: {
12666
start: { line: 1, column: 12 },
12667
end: { line: 1, column: 13 }
12668
}
12669
},
12670
range: [8, 13],
12671
loc: {
12672
start: { line: 1, column: 8 },
12673
end: { line: 1, column: 13 }
12674
}
12675
}, {
12676
type: 'VariableDeclarator',
12677
id: {
12678
type: 'Identifier',
12679
name: 'y',
12680
range: [15, 16],
12681
loc: {
12682
start: { line: 1, column: 15 },
12683
end: { line: 1, column: 16 }
12684
}
12685
},
12686
init: {
12687
type: 'Literal',
12688
value: 1,
12689
raw: '1',
12690
range: [19, 20],
12691
loc: {
12692
start: { line: 1, column: 19 },
12693
end: { line: 1, column: 20 }
12694
}
12695
},
12696
range: [15, 20],
12697
loc: {
12698
start: { line: 1, column: 15 },
12699
end: { line: 1, column: 20 }
12700
}
12701
}],
12702
kind: 'var',
12703
range: [4, 20],
12704
loc: {
12705
start: { line: 1, column: 4 },
12706
end: { line: 1, column: 20 }
12707
}
12708
},
12709
test: null,
12710
update: null,
12711
body: {
12712
type: 'EmptyStatement',
12713
range: [23, 24],
12714
loc: {
12715
start: { line: 1, column: 23 },
12716
end: { line: 1, column: 24 }
12717
}
12718
},
12719
range: [0, 24],
12720
loc: {
12721
start: { line: 1, column: 0 },
12722
end: { line: 1, column: 24 }
12723
}
12724
},
12725
12726
'for(x = 0; x < 42;);': {
12727
type: 'ForStatement',
12728
init: {
12729
type: 'AssignmentExpression',
12730
operator: '=',
12731
left: {
12732
type: 'Identifier',
12733
name: 'x',
12734
range: [4, 5],
12735
loc: {
12736
start: { line: 1, column: 4 },
12737
end: { line: 1, column: 5 }
12738
}
12739
},
12740
right: {
12741
type: 'Literal',
12742
value: 0,
12743
raw: '0',
12744
range: [8, 9],
12745
loc: {
12746
start: { line: 1, column: 8 },
12747
end: { line: 1, column: 9 }
12748
}
12749
},
12750
range: [4, 9],
12751
loc: {
12752
start: { line: 1, column: 4 },
12753
end: { line: 1, column: 9 }
12754
}
12755
},
12756
test: {
12757
type: 'BinaryExpression',
12758
operator: '<',
12759
left: {
12760
type: 'Identifier',
12761
name: 'x',
12762
range: [11, 12],
12763
loc: {
12764
start: { line: 1, column: 11 },
12765
end: { line: 1, column: 12 }
12766
}
12767
},
12768
right: {
12769
type: 'Literal',
12770
value: 42,
12771
raw: '42',
12772
range: [15, 17],
12773
loc: {
12774
start: { line: 1, column: 15 },
12775
end: { line: 1, column: 17 }
12776
}
12777
},
12778
range: [11, 17],
12779
loc: {
12780
start: { line: 1, column: 11 },
12781
end: { line: 1, column: 17 }
12782
}
12783
},
12784
update: null,
12785
body: {
12786
type: 'EmptyStatement',
12787
range: [19, 20],
12788
loc: {
12789
start: { line: 1, column: 19 },
12790
end: { line: 1, column: 20 }
12791
}
12792
},
12793
range: [0, 20],
12794
loc: {
12795
start: { line: 1, column: 0 },
12796
end: { line: 1, column: 20 }
12797
}
12798
},
12799
12800
'for(x = 0; x < 42; x++);': {
12801
type: 'ForStatement',
12802
init: {
12803
type: 'AssignmentExpression',
12804
operator: '=',
12805
left: {
12806
type: 'Identifier',
12807
name: 'x',
12808
range: [4, 5],
12809
loc: {
12810
start: { line: 1, column: 4 },
12811
end: { line: 1, column: 5 }
12812
}
12813
},
12814
right: {
12815
type: 'Literal',
12816
value: 0,
12817
raw: '0',
12818
range: [8, 9],
12819
loc: {
12820
start: { line: 1, column: 8 },
12821
end: { line: 1, column: 9 }
12822
}
12823
},
12824
range: [4, 9],
12825
loc: {
12826
start: { line: 1, column: 4 },
12827
end: { line: 1, column: 9 }
12828
}
12829
},
12830
test: {
12831
type: 'BinaryExpression',
12832
operator: '<',
12833
left: {
12834
type: 'Identifier',
12835
name: 'x',
12836
range: [11, 12],
12837
loc: {
12838
start: { line: 1, column: 11 },
12839
end: { line: 1, column: 12 }
12840
}
12841
},
12842
right: {
12843
type: 'Literal',
12844
value: 42,
12845
raw: '42',
12846
range: [15, 17],
12847
loc: {
12848
start: { line: 1, column: 15 },
12849
end: { line: 1, column: 17 }
12850
}
12851
},
12852
range: [11, 17],
12853
loc: {
12854
start: { line: 1, column: 11 },
12855
end: { line: 1, column: 17 }
12856
}
12857
},
12858
update: {
12859
type: 'UpdateExpression',
12860
operator: '++',
12861
argument: {
12862
type: 'Identifier',
12863
name: 'x',
12864
range: [19, 20],
12865
loc: {
12866
start: { line: 1, column: 19 },
12867
end: { line: 1, column: 20 }
12868
}
12869
},
12870
prefix: false,
12871
range: [19, 22],
12872
loc: {
12873
start: { line: 1, column: 19 },
12874
end: { line: 1, column: 22 }
12875
}
12876
},
12877
body: {
12878
type: 'EmptyStatement',
12879
range: [23, 24],
12880
loc: {
12881
start: { line: 1, column: 23 },
12882
end: { line: 1, column: 24 }
12883
}
12884
},
12885
range: [0, 24],
12886
loc: {
12887
start: { line: 1, column: 0 },
12888
end: { line: 1, column: 24 }
12889
}
12890
},
12891
12892
'for(x = 0; x < 42; x++) process(x);': {
12893
type: 'ForStatement',
12894
init: {
12895
type: 'AssignmentExpression',
12896
operator: '=',
12897
left: {
12898
type: 'Identifier',
12899
name: 'x',
12900
range: [4, 5],
12901
loc: {
12902
start: { line: 1, column: 4 },
12903
end: { line: 1, column: 5 }
12904
}
12905
},
12906
right: {
12907
type: 'Literal',
12908
value: 0,
12909
raw: '0',
12910
range: [8, 9],
12911
loc: {
12912
start: { line: 1, column: 8 },
12913
end: { line: 1, column: 9 }
12914
}
12915
},
12916
range: [4, 9],
12917
loc: {
12918
start: { line: 1, column: 4 },
12919
end: { line: 1, column: 9 }
12920
}
12921
},
12922
test: {
12923
type: 'BinaryExpression',
12924
operator: '<',
12925
left: {
12926
type: 'Identifier',
12927
name: 'x',
12928
range: [11, 12],
12929
loc: {
12930
start: { line: 1, column: 11 },
12931
end: { line: 1, column: 12 }
12932
}
12933
},
12934
right: {
12935
type: 'Literal',
12936
value: 42,
12937
raw: '42',
12938
range: [15, 17],
12939
loc: {
12940
start: { line: 1, column: 15 },
12941
end: { line: 1, column: 17 }
12942
}
12943
},
12944
range: [11, 17],
12945
loc: {
12946
start: { line: 1, column: 11 },
12947
end: { line: 1, column: 17 }
12948
}
12949
},
12950
update: {
12951
type: 'UpdateExpression',
12952
operator: '++',
12953
argument: {
12954
type: 'Identifier',
12955
name: 'x',
12956
range: [19, 20],
12957
loc: {
12958
start: { line: 1, column: 19 },
12959
end: { line: 1, column: 20 }
12960
}
12961
},
12962
prefix: false,
12963
range: [19, 22],
12964
loc: {
12965
start: { line: 1, column: 19 },
12966
end: { line: 1, column: 22 }
12967
}
12968
},
12969
body: {
12970
type: 'ExpressionStatement',
12971
expression: {
12972
type: 'CallExpression',
12973
callee: {
12974
type: 'Identifier',
12975
name: 'process',
12976
range: [24, 31],
12977
loc: {
12978
start: { line: 1, column: 24 },
12979
end: { line: 1, column: 31 }
12980
}
12981
},
12982
'arguments': [{
12983
type: 'Identifier',
12984
name: 'x',
12985
range: [32, 33],
12986
loc: {
12987
start: { line: 1, column: 32 },
12988
end: { line: 1, column: 33 }
12989
}
12990
}],
12991
range: [24, 34],
12992
loc: {
12993
start: { line: 1, column: 24 },
12994
end: { line: 1, column: 34 }
12995
}
12996
},
12997
range: [24, 35],
12998
loc: {
12999
start: { line: 1, column: 24 },
13000
end: { line: 1, column: 35 }
13001
}
13002
},
13003
range: [0, 35],
13004
loc: {
13005
start: { line: 1, column: 0 },
13006
end: { line: 1, column: 35 }
13007
}
13008
},
13009
13010
'for(x in list) process(x);': {
13011
type: 'ForInStatement',
13012
left: {
13013
type: 'Identifier',
13014
name: 'x',
13015
range: [4, 5],
13016
loc: {
13017
start: { line: 1, column: 4 },
13018
end: { line: 1, column: 5 }
13019
}
13020
},
13021
right: {
13022
type: 'Identifier',
13023
name: 'list',
13024
range: [9, 13],
13025
loc: {
13026
start: { line: 1, column: 9 },
13027
end: { line: 1, column: 13 }
13028
}
13029
},
13030
body: {
13031
type: 'ExpressionStatement',
13032
expression: {
13033
type: 'CallExpression',
13034
callee: {
13035
type: 'Identifier',
13036
name: 'process',
13037
range: [15, 22],
13038
loc: {
13039
start: { line: 1, column: 15 },
13040
end: { line: 1, column: 22 }
13041
}
13042
},
13043
'arguments': [{
13044
type: 'Identifier',
13045
name: 'x',
13046
range: [23, 24],
13047
loc: {
13048
start: { line: 1, column: 23 },
13049
end: { line: 1, column: 24 }
13050
}
13051
}],
13052
range: [15, 25],
13053
loc: {
13054
start: { line: 1, column: 15 },
13055
end: { line: 1, column: 25 }
13056
}
13057
},
13058
range: [15, 26],
13059
loc: {
13060
start: { line: 1, column: 15 },
13061
end: { line: 1, column: 26 }
13062
}
13063
},
13064
each: false,
13065
range: [0, 26],
13066
loc: {
13067
start: { line: 1, column: 0 },
13068
end: { line: 1, column: 26 }
13069
}
13070
},
13071
13072
'for (var x in list) process(x);': {
13073
type: 'ForInStatement',
13074
left: {
13075
type: 'VariableDeclaration',
13076
declarations: [{
13077
type: 'VariableDeclarator',
13078
id: {
13079
type: 'Identifier',
13080
name: 'x',
13081
range: [9, 10],
13082
loc: {
13083
start: { line: 1, column: 9 },
13084
end: { line: 1, column: 10 }
13085
}
13086
},
13087
init: null,
13088
range: [9, 10],
13089
loc: {
13090
start: { line: 1, column: 9 },
13091
end: { line: 1, column: 10 }
13092
}
13093
}],
13094
kind: 'var',
13095
range: [5, 10],
13096
loc: {
13097
start: { line: 1, column: 5 },
13098
end: { line: 1, column: 10 }
13099
}
13100
},
13101
right: {
13102
type: 'Identifier',
13103
name: 'list',
13104
range: [14, 18],
13105
loc: {
13106
start: { line: 1, column: 14 },
13107
end: { line: 1, column: 18 }
13108
}
13109
},
13110
body: {
13111
type: 'ExpressionStatement',
13112
expression: {
13113
type: 'CallExpression',
13114
callee: {
13115
type: 'Identifier',
13116
name: 'process',
13117
range: [20, 27],
13118
loc: {
13119
start: { line: 1, column: 20 },
13120
end: { line: 1, column: 27 }
13121
}
13122
},
13123
'arguments': [{
13124
type: 'Identifier',
13125
name: 'x',
13126
range: [28, 29],
13127
loc: {
13128
start: { line: 1, column: 28 },
13129
end: { line: 1, column: 29 }
13130
}
13131
}],
13132
range: [20, 30],
13133
loc: {
13134
start: { line: 1, column: 20 },
13135
end: { line: 1, column: 30 }
13136
}
13137
},
13138
range: [20, 31],
13139
loc: {
13140
start: { line: 1, column: 20 },
13141
end: { line: 1, column: 31 }
13142
}
13143
},
13144
each: false,
13145
range: [0, 31],
13146
loc: {
13147
start: { line: 1, column: 0 },
13148
end: { line: 1, column: 31 }
13149
}
13150
},
13151
13152
'for (let x in list) process(x);': {
13153
type: 'ForInStatement',
13154
left: {
13155
type: 'VariableDeclaration',
13156
declarations: [{
13157
type: 'VariableDeclarator',
13158
id: {
13159
type: 'Identifier',
13160
name: 'x',
13161
range: [9, 10],
13162
loc: {
13163
start: { line: 1, column: 9 },
13164
end: { line: 1, column: 10 }
13165
}
13166
},
13167
init: null,
13168
range: [9, 10],
13169
loc: {
13170
start: { line: 1, column: 9 },
13171
end: { line: 1, column: 10 }
13172
}
13173
}],
13174
kind: 'let',
13175
range: [5, 10],
13176
loc: {
13177
start: { line: 1, column: 5 },
13178
end: { line: 1, column: 10 }
13179
}
13180
},
13181
right: {
13182
type: 'Identifier',
13183
name: 'list',
13184
range: [14, 18],
13185
loc: {
13186
start: { line: 1, column: 14 },
13187
end: { line: 1, column: 18 }
13188
}
13189
},
13190
body: {
13191
type: 'ExpressionStatement',
13192
expression: {
13193
type: 'CallExpression',
13194
callee: {
13195
type: 'Identifier',
13196
name: 'process',
13197
range: [20, 27],
13198
loc: {
13199
start: { line: 1, column: 20 },
13200
end: { line: 1, column: 27 }
13201
}
13202
},
13203
'arguments': [{
13204
type: 'Identifier',
13205
name: 'x',
13206
range: [28, 29],
13207
loc: {
13208
start: { line: 1, column: 28 },
13209
end: { line: 1, column: 29 }
13210
}
13211
}],
13212
range: [20, 30],
13213
loc: {
13214
start: { line: 1, column: 20 },
13215
end: { line: 1, column: 30 }
13216
}
13217
},
13218
range: [20, 31],
13219
loc: {
13220
start: { line: 1, column: 20 },
13221
end: { line: 1, column: 31 }
13222
}
13223
},
13224
each: false,
13225
range: [0, 31],
13226
loc: {
13227
start: { line: 1, column: 0 },
13228
end: { line: 1, column: 31 }
13229
}
13230
},
13231
13232
'for (var i = function() { return 10 in [] } of list) process(x);': {
13233
type: 'ForOfStatement',
13234
left: {
13235
type: 'VariableDeclaration',
13236
declarations: [{
13237
type: 'VariableDeclarator',
13238
id: {
13239
type: 'Identifier',
13240
name: 'i',
13241
range: [9, 10],
13242
loc: {
13243
start: { line: 1, column: 9 },
13244
end: { line: 1, column: 10 }
13245
}
13246
},
13247
init: {
13248
type: 'FunctionExpression',
13249
id: null,
13250
params: [],
13251
defaults: [],
13252
body: {
13253
type: 'BlockStatement',
13254
body: [{
13255
type: 'ReturnStatement',
13256
argument: {
13257
type: 'BinaryExpression',
13258
operator: 'in',
13259
left: {
13260
type: 'Literal',
13261
value: 10,
13262
raw: '10',
13263
range: [33, 35],
13264
loc: {
13265
start: { line: 1, column: 33 },
13266
end: { line: 1, column: 35 }
13267
}
13268
},
13269
right: {
13270
type: 'ArrayExpression',
13271
elements: [],
13272
range: [39, 41],
13273
loc: {
13274
start: { line: 1, column: 39 },
13275
end: { line: 1, column: 41 }
13276
}
13277
},
13278
range: [33, 41],
13279
loc: {
13280
start: { line: 1, column: 33 },
13281
end: { line: 1, column: 41 }
13282
}
13283
},
13284
range: [26, 42],
13285
loc: {
13286
start: { line: 1, column: 26 },
13287
end: { line: 1, column: 42 }
13288
}
13289
}],
13290
range: [24, 43],
13291
loc: {
13292
start: { line: 1, column: 24 },
13293
end: { line: 1, column: 43 }
13294
}
13295
},
13296
rest: null,
13297
generator: false,
13298
expression: false,
13299
range: [13, 43],
13300
loc: {
13301
start: { line: 1, column: 13 },
13302
end: { line: 1, column: 43 }
13303
}
13304
},
13305
range: [9, 43],
13306
loc: {
13307
start: { line: 1, column: 9 },
13308
end: { line: 1, column: 43 }
13309
}
13310
}],
13311
kind: 'var',
13312
range: [5, 43],
13313
loc: {
13314
start: { line: 1, column: 5 },
13315
end: { line: 1, column: 43 }
13316
}
13317
},
13318
right: {
13319
type: 'Identifier',
13320
name: 'list',
13321
range: [47, 51],
13322
loc: {
13323
start: { line: 1, column: 47 },
13324
end: { line: 1, column: 51 }
13325
}
13326
},
13327
body: {
13328
type: 'ExpressionStatement',
13329
expression: {
13330
type: 'CallExpression',
13331
callee: {
13332
type: 'Identifier',
13333
name: 'process',
13334
range: [53, 60],
13335
loc: {
13336
start: { line: 1, column: 53 },
13337
end: { line: 1, column: 60 }
13338
}
13339
},
13340
'arguments': [{
13341
type: 'Identifier',
13342
name: 'x',
13343
range: [61, 62],
13344
loc: {
13345
start: { line: 1, column: 61 },
13346
end: { line: 1, column: 62 }
13347
}
13348
}],
13349
range: [53, 63],
13350
loc: {
13351
start: { line: 1, column: 53 },
13352
end: { line: 1, column: 63 }
13353
}
13354
},
13355
range: [53, 64],
13356
loc: {
13357
start: { line: 1, column: 53 },
13358
end: { line: 1, column: 64 }
13359
}
13360
},
13361
range: [0, 64],
13362
loc: {
13363
start: { line: 1, column: 0 },
13364
end: { line: 1, column: 64 }
13365
}
13366
}
13367
13368
},
13369
13370
'continue statement': {
13371
13372
'while (true) { continue; }': {
13373
type: 'WhileStatement',
13374
test: {
13375
type: 'Literal',
13376
value: true,
13377
raw: 'true',
13378
range: [7, 11],
13379
loc: {
13380
start: { line: 1, column: 7 },
13381
end: { line: 1, column: 11 }
13382
}
13383
},
13384
body: {
13385
type: 'BlockStatement',
13386
body: [
13387
{
13388
type: 'ContinueStatement',
13389
label: null,
13390
range: [15, 24],
13391
loc: {
13392
start: { line: 1, column: 15 },
13393
end: { line: 1, column: 24 }
13394
}
13395
}
13396
],
13397
range: [13, 26],
13398
loc: {
13399
start: { line: 1, column: 13 },
13400
end: { line: 1, column: 26 }
13401
}
13402
},
13403
range: [0, 26],
13404
loc: {
13405
start: { line: 1, column: 0 },
13406
end: { line: 1, column: 26 }
13407
}
13408
},
13409
13410
'while (true) { continue }': {
13411
type: 'WhileStatement',
13412
test: {
13413
type: 'Literal',
13414
value: true,
13415
raw: 'true',
13416
range: [7, 11],
13417
loc: {
13418
start: { line: 1, column: 7 },
13419
end: { line: 1, column: 11 }
13420
}
13421
},
13422
body: {
13423
type: 'BlockStatement',
13424
body: [
13425
{
13426
type: 'ContinueStatement',
13427
label: null,
13428
range: [15, 24],
13429
loc: {
13430
start: { line: 1, column: 15 },
13431
end: { line: 1, column: 24 }
13432
}
13433
}
13434
],
13435
range: [13, 25],
13436
loc: {
13437
start: { line: 1, column: 13 },
13438
end: { line: 1, column: 25 }
13439
}
13440
},
13441
range: [0, 25],
13442
loc: {
13443
start: { line: 1, column: 0 },
13444
end: { line: 1, column: 25 }
13445
}
13446
},
13447
13448
'done: while (true) { continue done }': {
13449
type: 'LabeledStatement',
13450
label: {
13451
type: 'Identifier',
13452
name: 'done',
13453
range: [0, 4],
13454
loc: {
13455
start: { line: 1, column: 0 },
13456
end: { line: 1, column: 4 }
13457
}
13458
},
13459
body: {
13460
type: 'WhileStatement',
13461
test: {
13462
type: 'Literal',
13463
value: true,
13464
raw: 'true',
13465
range: [13, 17],
13466
loc: {
13467
start: { line: 1, column: 13 },
13468
end: { line: 1, column: 17 }
13469
}
13470
},
13471
body: {
13472
type: 'BlockStatement',
13473
body: [
13474
{
13475
type: 'ContinueStatement',
13476
label: {
13477
type: 'Identifier',
13478
name: 'done',
13479
range: [30, 34],
13480
loc: {
13481
start: { line: 1, column: 30 },
13482
end: { line: 1, column: 34 }
13483
}
13484
},
13485
range: [21, 35],
13486
loc: {
13487
start: { line: 1, column: 21 },
13488
end: { line: 1, column: 35 }
13489
}
13490
}
13491
],
13492
range: [19, 36],
13493
loc: {
13494
start: { line: 1, column: 19 },
13495
end: { line: 1, column: 36 }
13496
}
13497
},
13498
range: [6, 36],
13499
loc: {
13500
start: { line: 1, column: 6 },
13501
end: { line: 1, column: 36 }
13502
}
13503
},
13504
range: [0, 36],
13505
loc: {
13506
start: { line: 1, column: 0 },
13507
end: { line: 1, column: 36 }
13508
}
13509
},
13510
13511
'done: while (true) { continue done; }': {
13512
type: 'LabeledStatement',
13513
label: {
13514
type: 'Identifier',
13515
name: 'done',
13516
range: [0, 4],
13517
loc: {
13518
start: { line: 1, column: 0 },
13519
end: { line: 1, column: 4 }
13520
}
13521
},
13522
body: {
13523
type: 'WhileStatement',
13524
test: {
13525
type: 'Literal',
13526
value: true,
13527
raw: 'true',
13528
range: [13, 17],
13529
loc: {
13530
start: { line: 1, column: 13 },
13531
end: { line: 1, column: 17 }
13532
}
13533
},
13534
body: {
13535
type: 'BlockStatement',
13536
body: [
13537
{
13538
type: 'ContinueStatement',
13539
label: {
13540
type: 'Identifier',
13541
name: 'done',
13542
range: [30, 34],
13543
loc: {
13544
start: { line: 1, column: 30 },
13545
end: { line: 1, column: 34 }
13546
}
13547
},
13548
range: [21, 35],
13549
loc: {
13550
start: { line: 1, column: 21 },
13551
end: { line: 1, column: 35 }
13552
}
13553
}
13554
],
13555
range: [19, 37],
13556
loc: {
13557
start: { line: 1, column: 19 },
13558
end: { line: 1, column: 37 }
13559
}
13560
},
13561
range: [6, 37],
13562
loc: {
13563
start: { line: 1, column: 6 },
13564
end: { line: 1, column: 37 }
13565
}
13566
},
13567
range: [0, 37],
13568
loc: {
13569
start: { line: 1, column: 0 },
13570
end: { line: 1, column: 37 }
13571
}
13572
},
13573
13574
'__proto__: while (true) { continue __proto__; }': {
13575
type: 'LabeledStatement',
13576
label: {
13577
type: 'Identifier',
13578
name: '__proto__',
13579
range: [0, 9],
13580
loc: {
13581
start: { line: 1, column: 0 },
13582
end: { line: 1, column: 9 }
13583
}
13584
},
13585
body: {
13586
type: 'WhileStatement',
13587
test: {
13588
type: 'Literal',
13589
value: true,
13590
raw: 'true',
13591
range: [18, 22],
13592
loc: {
13593
start: { line: 1, column: 18 },
13594
end: { line: 1, column: 22 }
13595
}
13596
},
13597
body: {
13598
type: 'BlockStatement',
13599
body: [{
13600
type: 'ContinueStatement',
13601
label: {
13602
type: 'Identifier',
13603
name: '__proto__',
13604
range: [35, 44],
13605
loc: {
13606
start: { line: 1, column: 35 },
13607
end: { line: 1, column: 44 }
13608
}
13609
},
13610
range: [26, 45],
13611
loc: {
13612
start: { line: 1, column: 26 },
13613
end: { line: 1, column: 45 }
13614
}
13615
}],
13616
range: [24, 47],
13617
loc: {
13618
start: { line: 1, column: 24 },
13619
end: { line: 1, column: 47 }
13620
}
13621
},
13622
range: [11, 47],
13623
loc: {
13624
start: { line: 1, column: 11 },
13625
end: { line: 1, column: 47 }
13626
}
13627
},
13628
range: [0, 47],
13629
loc: {
13630
start: { line: 1, column: 0 },
13631
end: { line: 1, column: 47 }
13632
}
13633
}
13634
13635
},
13636
13637
'break statement': {
13638
13639
'while (true) { break }': {
13640
type: 'WhileStatement',
13641
test: {
13642
type: 'Literal',
13643
value: true,
13644
raw: 'true',
13645
range: [7, 11],
13646
loc: {
13647
start: { line: 1, column: 7 },
13648
end: { line: 1, column: 11 }
13649
}
13650
},
13651
body: {
13652
type: 'BlockStatement',
13653
body: [
13654
{
13655
type: 'BreakStatement',
13656
label: null,
13657
range: [15, 21],
13658
loc: {
13659
start: { line: 1, column: 15 },
13660
end: { line: 1, column: 21 }
13661
}
13662
}
13663
],
13664
range: [13, 22],
13665
loc: {
13666
start: { line: 1, column: 13 },
13667
end: { line: 1, column: 22 }
13668
}
13669
},
13670
range: [0, 22],
13671
loc: {
13672
start: { line: 1, column: 0 },
13673
end: { line: 1, column: 22 }
13674
}
13675
},
13676
13677
'done: while (true) { break done }': {
13678
type: 'LabeledStatement',
13679
label: {
13680
type: 'Identifier',
13681
name: 'done',
13682
range: [0, 4],
13683
loc: {
13684
start: { line: 1, column: 0 },
13685
end: { line: 1, column: 4 }
13686
}
13687
},
13688
body: {
13689
type: 'WhileStatement',
13690
test: {
13691
type: 'Literal',
13692
value: true,
13693
raw: 'true',
13694
range: [13, 17],
13695
loc: {
13696
start: { line: 1, column: 13 },
13697
end: { line: 1, column: 17 }
13698
}
13699
},
13700
body: {
13701
type: 'BlockStatement',
13702
body: [
13703
{
13704
type: 'BreakStatement',
13705
label: {
13706
type: 'Identifier',
13707
name: 'done',
13708
range: [27, 31],
13709
loc: {
13710
start: { line: 1, column: 27 },
13711
end: { line: 1, column: 31 }
13712
}
13713
},
13714
range: [21, 32],
13715
loc: {
13716
start: { line: 1, column: 21 },
13717
end: { line: 1, column: 32 }
13718
}
13719
}
13720
],
13721
range: [19, 33],
13722
loc: {
13723
start: { line: 1, column: 19 },
13724
end: { line: 1, column: 33 }
13725
}
13726
},
13727
range: [6, 33],
13728
loc: {
13729
start: { line: 1, column: 6 },
13730
end: { line: 1, column: 33 }
13731
}
13732
},
13733
range: [0, 33],
13734
loc: {
13735
start: { line: 1, column: 0 },
13736
end: { line: 1, column: 33 }
13737
}
13738
},
13739
13740
'done: while (true) { break done; }': {
13741
type: 'LabeledStatement',
13742
label: {
13743
type: 'Identifier',
13744
name: 'done',
13745
range: [0, 4],
13746
loc: {
13747
start: { line: 1, column: 0 },
13748
end: { line: 1, column: 4 }
13749
}
13750
},
13751
body: {
13752
type: 'WhileStatement',
13753
test: {
13754
type: 'Literal',
13755
value: true,
13756
raw: 'true',
13757
range: [13, 17],
13758
loc: {
13759
start: { line: 1, column: 13 },
13760
end: { line: 1, column: 17 }
13761
}
13762
},
13763
body: {
13764
type: 'BlockStatement',
13765
body: [
13766
{
13767
type: 'BreakStatement',
13768
label: {
13769
type: 'Identifier',
13770
name: 'done',
13771
range: [27, 31],
13772
loc: {
13773
start: { line: 1, column: 27 },
13774
end: { line: 1, column: 31 }
13775
}
13776
},
13777
range: [21, 32],
13778
loc: {
13779
start: { line: 1, column: 21 },
13780
end: { line: 1, column: 32 }
13781
}
13782
}
13783
],
13784
range: [19, 34],
13785
loc: {
13786
start: { line: 1, column: 19 },
13787
end: { line: 1, column: 34 }
13788
}
13789
},
13790
range: [6, 34],
13791
loc: {
13792
start: { line: 1, column: 6 },
13793
end: { line: 1, column: 34 }
13794
}
13795
},
13796
range: [0, 34],
13797
loc: {
13798
start: { line: 1, column: 0 },
13799
end: { line: 1, column: 34 }
13800
}
13801
},
13802
13803
'__proto__: while (true) { break __proto__; }': {
13804
type: 'LabeledStatement',
13805
label: {
13806
type: 'Identifier',
13807
name: '__proto__',
13808
range: [0, 9],
13809
loc: {
13810
start: { line: 1, column: 0 },
13811
end: { line: 1, column: 9 }
13812
}
13813
},
13814
body: {
13815
type: 'WhileStatement',
13816
test: {
13817
type: 'Literal',
13818
value: true,
13819
raw: 'true',
13820
range: [18, 22],
13821
loc: {
13822
start: { line: 1, column: 18 },
13823
end: { line: 1, column: 22 }
13824
}
13825
},
13826
body: {
13827
type: 'BlockStatement',
13828
body: [{
13829
type: 'BreakStatement',
13830
label: {
13831
type: 'Identifier',
13832
name: '__proto__',
13833
range: [32, 41],
13834
loc: {
13835
start: { line: 1, column: 32 },
13836
end: { line: 1, column: 41 }
13837
}
13838
},
13839
range: [26, 42],
13840
loc: {
13841
start: { line: 1, column: 26 },
13842
end: { line: 1, column: 42 }
13843
}
13844
}],
13845
range: [24, 44],
13846
loc: {
13847
start: { line: 1, column: 24 },
13848
end: { line: 1, column: 44 }
13849
}
13850
},
13851
range: [11, 44],
13852
loc: {
13853
start: { line: 1, column: 11 },
13854
end: { line: 1, column: 44 }
13855
}
13856
},
13857
range: [0, 44],
13858
loc: {
13859
start: { line: 1, column: 0 },
13860
end: { line: 1, column: 44 }
13861
}
13862
}
13863
13864
},
13865
13866
'return statement': {
13867
13868
'(function(){ return })': {
13869
type: 'ExpressionStatement',
13870
expression: {
13871
type: 'FunctionExpression',
13872
id: null,
13873
params: [],
13874
defaults: [],
13875
body: {
13876
type: 'BlockStatement',
13877
body: [
13878
{
13879
type: 'ReturnStatement',
13880
argument: null,
13881
range: [13, 20],
13882
loc: {
13883
start: { line: 1, column: 13 },
13884
end: { line: 1, column: 20 }
13885
}
13886
}
13887
],
13888
range: [11, 21],
13889
loc: {
13890
start: { line: 1, column: 11 },
13891
end: { line: 1, column: 21 }
13892
}
13893
},
13894
rest: null,
13895
generator: false,
13896
expression: false,
13897
range: [1, 21],
13898
loc: {
13899
start: { line: 1, column: 1 },
13900
end: { line: 1, column: 21 }
13901
}
13902
},
13903
range: [0, 22],
13904
loc: {
13905
start: { line: 1, column: 0 },
13906
end: { line: 1, column: 22 }
13907
}
13908
},
13909
13910
'(function(){ return; })': {
13911
type: 'ExpressionStatement',
13912
expression: {
13913
type: 'FunctionExpression',
13914
id: null,
13915
params: [],
13916
defaults: [],
13917
body: {
13918
type: 'BlockStatement',
13919
body: [
13920
{
13921
type: 'ReturnStatement',
13922
argument: null,
13923
range: [13, 20],
13924
loc: {
13925
start: { line: 1, column: 13 },
13926
end: { line: 1, column: 20 }
13927
}
13928
}
13929
],
13930
range: [11, 22],
13931
loc: {
13932
start: { line: 1, column: 11 },
13933
end: { line: 1, column: 22 }
13934
}
13935
},
13936
rest: null,
13937
generator: false,
13938
expression: false,
13939
range: [1, 22],
13940
loc: {
13941
start: { line: 1, column: 1 },
13942
end: { line: 1, column: 22 }
13943
}
13944
},
13945
range: [0, 23],
13946
loc: {
13947
start: { line: 1, column: 0 },
13948
end: { line: 1, column: 23 }
13949
}
13950
},
13951
13952
'(function(){ return x; })': {
13953
type: 'ExpressionStatement',
13954
expression: {
13955
type: 'FunctionExpression',
13956
id: null,
13957
params: [],
13958
defaults: [],
13959
body: {
13960
type: 'BlockStatement',
13961
body: [
13962
{
13963
type: 'ReturnStatement',
13964
argument: {
13965
type: 'Identifier',
13966
name: 'x',
13967
range: [20, 21],
13968
loc: {
13969
start: { line: 1, column: 20 },
13970
end: { line: 1, column: 21 }
13971
}
13972
},
13973
range: [13, 22],
13974
loc: {
13975
start: { line: 1, column: 13 },
13976
end: { line: 1, column: 22 }
13977
}
13978
}
13979
],
13980
range: [11, 24],
13981
loc: {
13982
start: { line: 1, column: 11 },
13983
end: { line: 1, column: 24 }
13984
}
13985
},
13986
rest: null,
13987
generator: false,
13988
expression: false,
13989
range: [1, 24],
13990
loc: {
13991
start: { line: 1, column: 1 },
13992
end: { line: 1, column: 24 }
13993
}
13994
},
13995
range: [0, 25],
13996
loc: {
13997
start: { line: 1, column: 0 },
13998
end: { line: 1, column: 25 }
13999
}
14000
},
14001
14002
'(function(){ return x * y })': {
14003
type: 'ExpressionStatement',
14004
expression: {
14005
type: 'FunctionExpression',
14006
id: null,
14007
params: [],
14008
defaults: [],
14009
body: {
14010
type: 'BlockStatement',
14011
body: [
14012
{
14013
type: 'ReturnStatement',
14014
argument: {
14015
type: 'BinaryExpression',
14016
operator: '*',
14017
left: {
14018
type: 'Identifier',
14019
name: 'x',
14020
range: [20, 21],
14021
loc: {
14022
start: { line: 1, column: 20 },
14023
end: { line: 1, column: 21 }
14024
}
14025
},
14026
right: {
14027
type: 'Identifier',
14028
name: 'y',
14029
range: [24, 25],
14030
loc: {
14031
start: { line: 1, column: 24 },
14032
end: { line: 1, column: 25 }
14033
}
14034
},
14035
range: [20, 25],
14036
loc: {
14037
start: { line: 1, column: 20 },
14038
end: { line: 1, column: 25 }
14039
}
14040
},
14041
range: [13, 26],
14042
loc: {
14043
start: { line: 1, column: 13 },
14044
end: { line: 1, column: 26 }
14045
}
14046
}
14047
],
14048
range: [11, 27],
14049
loc: {
14050
start: { line: 1, column: 11 },
14051
end: { line: 1, column: 27 }
14052
}
14053
},
14054
rest: null,
14055
generator: false,
14056
expression: false,
14057
range: [1, 27],
14058
loc: {
14059
start: { line: 1, column: 1 },
14060
end: { line: 1, column: 27 }
14061
}
14062
},
14063
range: [0, 28],
14064
loc: {
14065
start: { line: 1, column: 0 },
14066
end: { line: 1, column: 28 }
14067
}
14068
}
14069
},
14070
14071
'with statement': {
14072
14073
'with (x) foo = bar': {
14074
type: 'WithStatement',
14075
object: {
14076
type: 'Identifier',
14077
name: 'x',
14078
range: [6, 7],
14079
loc: {
14080
start: { line: 1, column: 6 },
14081
end: { line: 1, column: 7 }
14082
}
14083
},
14084
body: {
14085
type: 'ExpressionStatement',
14086
expression: {
14087
type: 'AssignmentExpression',
14088
operator: '=',
14089
left: {
14090
type: 'Identifier',
14091
name: 'foo',
14092
range: [9, 12],
14093
loc: {
14094
start: { line: 1, column: 9 },
14095
end: { line: 1, column: 12 }
14096
}
14097
},
14098
right: {
14099
type: 'Identifier',
14100
name: 'bar',
14101
range: [15, 18],
14102
loc: {
14103
start: { line: 1, column: 15 },
14104
end: { line: 1, column: 18 }
14105
}
14106
},
14107
range: [9, 18],
14108
loc: {
14109
start: { line: 1, column: 9 },
14110
end: { line: 1, column: 18 }
14111
}
14112
},
14113
range: [9, 18],
14114
loc: {
14115
start: { line: 1, column: 9 },
14116
end: { line: 1, column: 18 }
14117
}
14118
},
14119
range: [0, 18],
14120
loc: {
14121
start: { line: 1, column: 0 },
14122
end: { line: 1, column: 18 }
14123
}
14124
},
14125
14126
'with (x) foo = bar;': {
14127
type: 'WithStatement',
14128
object: {
14129
type: 'Identifier',
14130
name: 'x',
14131
range: [6, 7],
14132
loc: {
14133
start: { line: 1, column: 6 },
14134
end: { line: 1, column: 7 }
14135
}
14136
},
14137
body: {
14138
type: 'ExpressionStatement',
14139
expression: {
14140
type: 'AssignmentExpression',
14141
operator: '=',
14142
left: {
14143
type: 'Identifier',
14144
name: 'foo',
14145
range: [9, 12],
14146
loc: {
14147
start: { line: 1, column: 9 },
14148
end: { line: 1, column: 12 }
14149
}
14150
},
14151
right: {
14152
type: 'Identifier',
14153
name: 'bar',
14154
range: [15, 18],
14155
loc: {
14156
start: { line: 1, column: 15 },
14157
end: { line: 1, column: 18 }
14158
}
14159
},
14160
range: [9, 18],
14161
loc: {
14162
start: { line: 1, column: 9 },
14163
end: { line: 1, column: 18 }
14164
}
14165
},
14166
range: [9, 19],
14167
loc: {
14168
start: { line: 1, column: 9 },
14169
end: { line: 1, column: 19 }
14170
}
14171
},
14172
range: [0, 19],
14173
loc: {
14174
start: { line: 1, column: 0 },
14175
end: { line: 1, column: 19 }
14176
}
14177
},
14178
14179
'with (x) { foo = bar }': {
14180
type: 'WithStatement',
14181
object: {
14182
type: 'Identifier',
14183
name: 'x',
14184
range: [6, 7],
14185
loc: {
14186
start: { line: 1, column: 6 },
14187
end: { line: 1, column: 7 }
14188
}
14189
},
14190
body: {
14191
type: 'BlockStatement',
14192
body: [{
14193
type: 'ExpressionStatement',
14194
expression: {
14195
type: 'AssignmentExpression',
14196
operator: '=',
14197
left: {
14198
type: 'Identifier',
14199
name: 'foo',
14200
range: [11, 14],
14201
loc: {
14202
start: { line: 1, column: 11 },
14203
end: { line: 1, column: 14 }
14204
}
14205
},
14206
right: {
14207
type: 'Identifier',
14208
name: 'bar',
14209
range: [17, 20],
14210
loc: {
14211
start: { line: 1, column: 17 },
14212
end: { line: 1, column: 20 }
14213
}
14214
},
14215
range: [11, 20],
14216
loc: {
14217
start: { line: 1, column: 11 },
14218
end: { line: 1, column: 20 }
14219
}
14220
},
14221
range: [11, 21],
14222
loc: {
14223
start: { line: 1, column: 11 },
14224
end: { line: 1, column: 21 }
14225
}
14226
}],
14227
range: [9, 22],
14228
loc: {
14229
start: { line: 1, column: 9 },
14230
end: { line: 1, column: 22 }
14231
}
14232
},
14233
range: [0, 22],
14234
loc: {
14235
start: { line: 1, column: 0 },
14236
end: { line: 1, column: 22 }
14237
}
14238
}
14239
14240
},
14241
14242
'switch statement': {
14243
14244
'switch (x) {}': {
14245
type: 'SwitchStatement',
14246
discriminant: {
14247
type: 'Identifier',
14248
name: 'x',
14249
range: [8, 9],
14250
loc: {
14251
start: { line: 1, column: 8 },
14252
end: { line: 1, column: 9 }
14253
}
14254
},
14255
cases:[],
14256
range: [0, 13],
14257
loc: {
14258
start: { line: 1, column: 0 },
14259
end: { line: 1, column: 13 }
14260
}
14261
},
14262
14263
'switch (answer) { case 42: hi(); break; }': {
14264
type: 'SwitchStatement',
14265
discriminant: {
14266
type: 'Identifier',
14267
name: 'answer',
14268
range: [8, 14],
14269
loc: {
14270
start: { line: 1, column: 8 },
14271
end: { line: 1, column: 14 }
14272
}
14273
},
14274
cases: [{
14275
type: 'SwitchCase',
14276
test: {
14277
type: 'Literal',
14278
value: 42,
14279
raw: '42',
14280
range: [23, 25],
14281
loc: {
14282
start: { line: 1, column: 23 },
14283
end: { line: 1, column: 25 }
14284
}
14285
},
14286
consequent: [{
14287
type: 'ExpressionStatement',
14288
expression: {
14289
type: 'CallExpression',
14290
callee: {
14291
type: 'Identifier',
14292
name: 'hi',
14293
range: [27, 29],
14294
loc: {
14295
start: { line: 1, column: 27 },
14296
end: { line: 1, column: 29 }
14297
}
14298
},
14299
'arguments': [],
14300
range: [27, 31],
14301
loc: {
14302
start: { line: 1, column: 27 },
14303
end: { line: 1, column: 31 }
14304
}
14305
},
14306
range: [27, 32],
14307
loc: {
14308
start: { line: 1, column: 27 },
14309
end: { line: 1, column: 32 }
14310
}
14311
}, {
14312
type: 'BreakStatement',
14313
label: null,
14314
range: [33, 39],
14315
loc: {
14316
start: { line: 1, column: 33 },
14317
end: { line: 1, column: 39 }
14318
}
14319
}],
14320
range: [18, 39],
14321
loc: {
14322
start: { line: 1, column: 18 },
14323
end: { line: 1, column: 39 }
14324
}
14325
}],
14326
range: [0, 41],
14327
loc: {
14328
start: { line: 1, column: 0 },
14329
end: { line: 1, column: 41 }
14330
}
14331
},
14332
14333
'switch (answer) { case 42: hi(); break; default: break }': {
14334
type: 'SwitchStatement',
14335
discriminant: {
14336
type: 'Identifier',
14337
name: 'answer',
14338
range: [8, 14],
14339
loc: {
14340
start: { line: 1, column: 8 },
14341
end: { line: 1, column: 14 }
14342
}
14343
},
14344
cases: [{
14345
type: 'SwitchCase',
14346
test: {
14347
type: 'Literal',
14348
value: 42,
14349
raw: '42',
14350
range: [23, 25],
14351
loc: {
14352
start: { line: 1, column: 23 },
14353
end: { line: 1, column: 25 }
14354
}
14355
},
14356
consequent: [{
14357
type: 'ExpressionStatement',
14358
expression: {
14359
type: 'CallExpression',
14360
callee: {
14361
type: 'Identifier',
14362
name: 'hi',
14363
range: [27, 29],
14364
loc: {
14365
start: { line: 1, column: 27 },
14366
end: { line: 1, column: 29 }
14367
}
14368
},
14369
'arguments': [],
14370
range: [27, 31],
14371
loc: {
14372
start: { line: 1, column: 27 },
14373
end: { line: 1, column: 31 }
14374
}
14375
},
14376
range: [27, 32],
14377
loc: {
14378
start: { line: 1, column: 27 },
14379
end: { line: 1, column: 32 }
14380
}
14381
}, {
14382
type: 'BreakStatement',
14383
label: null,
14384
range: [33, 39],
14385
loc: {
14386
start: { line: 1, column: 33 },
14387
end: { line: 1, column: 39 }
14388
}
14389
}],
14390
range: [18, 39],
14391
loc: {
14392
start: { line: 1, column: 18 },
14393
end: { line: 1, column: 39 }
14394
}
14395
}, {
14396
type: 'SwitchCase',
14397
test: null,
14398
consequent: [{
14399
type: 'BreakStatement',
14400
label: null,
14401
range: [49, 55],
14402
loc: {
14403
start: { line: 1, column: 49 },
14404
end: { line: 1, column: 55 }
14405
}
14406
}],
14407
range: [40, 55],
14408
loc: {
14409
start: { line: 1, column: 40 },
14410
end: { line: 1, column: 55 }
14411
}
14412
}],
14413
range: [0, 56],
14414
loc: {
14415
start: { line: 1, column: 0 },
14416
end: { line: 1, column: 56 }
14417
}
14418
}
14419
14420
},
14421
14422
'Labelled Statements': {
14423
14424
'start: for (;;) break start': {
14425
type: 'LabeledStatement',
14426
label: {
14427
type: 'Identifier',
14428
name: 'start',
14429
range: [0, 5],
14430
loc: {
14431
start: { line: 1, column: 0 },
14432
end: { line: 1, column: 5 }
14433
}
14434
},
14435
body: {
14436
type: 'ForStatement',
14437
init: null,
14438
test: null,
14439
update: null,
14440
body: {
14441
type: 'BreakStatement',
14442
label: {
14443
type: 'Identifier',
14444
name: 'start',
14445
range: [22, 27],
14446
loc: {
14447
start: { line: 1, column: 22 },
14448
end: { line: 1, column: 27 }
14449
}
14450
},
14451
range: [16, 27],
14452
loc: {
14453
start: { line: 1, column: 16 },
14454
end: { line: 1, column: 27 }
14455
}
14456
},
14457
range: [7, 27],
14458
loc: {
14459
start: { line: 1, column: 7 },
14460
end: { line: 1, column: 27 }
14461
}
14462
},
14463
range: [0, 27],
14464
loc: {
14465
start: { line: 1, column: 0 },
14466
end: { line: 1, column: 27 }
14467
}
14468
},
14469
14470
'start: while (true) break start': {
14471
type: 'LabeledStatement',
14472
label: {
14473
type: 'Identifier',
14474
name: 'start',
14475
range: [0, 5],
14476
loc: {
14477
start: { line: 1, column: 0 },
14478
end: { line: 1, column: 5 }
14479
}
14480
},
14481
body: {
14482
type: 'WhileStatement',
14483
test: {
14484
type: 'Literal',
14485
value: true,
14486
raw: 'true',
14487
range: [14, 18],
14488
loc: {
14489
start: { line: 1, column: 14 },
14490
end: { line: 1, column: 18 }
14491
}
14492
},
14493
body: {
14494
type: 'BreakStatement',
14495
label: {
14496
type: 'Identifier',
14497
name: 'start',
14498
range: [26, 31],
14499
loc: {
14500
start: { line: 1, column: 26 },
14501
end: { line: 1, column: 31 }
14502
}
14503
},
14504
range: [20, 31],
14505
loc: {
14506
start: { line: 1, column: 20 },
14507
end: { line: 1, column: 31 }
14508
}
14509
},
14510
range: [7, 31],
14511
loc: {
14512
start: { line: 1, column: 7 },
14513
end: { line: 1, column: 31 }
14514
}
14515
},
14516
range: [0, 31],
14517
loc: {
14518
start: { line: 1, column: 0 },
14519
end: { line: 1, column: 31 }
14520
}
14521
},
14522
14523
'__proto__: test': {
14524
type: 'LabeledStatement',
14525
label: {
14526
type: 'Identifier',
14527
name: '__proto__',
14528
range: [0, 9],
14529
loc: {
14530
start: { line: 1, column: 0 },
14531
end: { line: 1, column: 9 }
14532
}
14533
},
14534
body: {
14535
type: 'ExpressionStatement',
14536
expression: {
14537
type: 'Identifier',
14538
name: 'test',
14539
range: [11, 15],
14540
loc: {
14541
start: { line: 1, column: 11 },
14542
end: { line: 1, column: 15 }
14543
}
14544
},
14545
range: [11, 15],
14546
loc: {
14547
start: { line: 1, column: 11 },
14548
end: { line: 1, column: 15 }
14549
}
14550
},
14551
range: [0, 15],
14552
loc: {
14553
start: { line: 1, column: 0 },
14554
end: { line: 1, column: 15 }
14555
}
14556
}
14557
14558
},
14559
14560
'throw statement': {
14561
14562
'throw x;': {
14563
type: 'ThrowStatement',
14564
argument: {
14565
type: 'Identifier',
14566
name: 'x',
14567
range: [6, 7],
14568
loc: {
14569
start: { line: 1, column: 6 },
14570
end: { line: 1, column: 7 }
14571
}
14572
},
14573
range: [0, 8],
14574
loc: {
14575
start: { line: 1, column: 0 },
14576
end: { line: 1, column: 8 }
14577
}
14578
},
14579
14580
'throw x * y': {
14581
type: 'ThrowStatement',
14582
argument: {
14583
type: 'BinaryExpression',
14584
operator: '*',
14585
left: {
14586
type: 'Identifier',
14587
name: 'x',
14588
range: [6, 7],
14589
loc: {
14590
start: { line: 1, column: 6 },
14591
end: { line: 1, column: 7 }
14592
}
14593
},
14594
right: {
14595
type: 'Identifier',
14596
name: 'y',
14597
range: [10, 11],
14598
loc: {
14599
start: { line: 1, column: 10 },
14600
end: { line: 1, column: 11 }
14601
}
14602
},
14603
range: [6, 11],
14604
loc: {
14605
start: { line: 1, column: 6 },
14606
end: { line: 1, column: 11 }
14607
}
14608
},
14609
range: [0, 11],
14610
loc: {
14611
start: { line: 1, column: 0 },
14612
end: { line: 1, column: 11 }
14613
}
14614
},
14615
14616
'throw { message: "Error" }': {
14617
type: 'ThrowStatement',
14618
argument: {
14619
type: 'ObjectExpression',
14620
properties: [{
14621
type: 'Property',
14622
key: {
14623
type: 'Identifier',
14624
name: 'message',
14625
range: [8, 15],
14626
loc: {
14627
start: { line: 1, column: 8 },
14628
end: { line: 1, column: 15 }
14629
}
14630
},
14631
value: {
14632
type: 'Literal',
14633
value: 'Error',
14634
raw: '"Error"',
14635
range: [17, 24],
14636
loc: {
14637
start: { line: 1, column: 17 },
14638
end: { line: 1, column: 24 }
14639
}
14640
},
14641
kind: 'init',
14642
method: false,
14643
shorthand: false,
14644
computed: false,
14645
range: [8, 24],
14646
loc: {
14647
start: { line: 1, column: 8 },
14648
end: { line: 1, column: 24 }
14649
}
14650
}],
14651
range: [6, 26],
14652
loc: {
14653
start: { line: 1, column: 6 },
14654
end: { line: 1, column: 26 }
14655
}
14656
},
14657
range: [0, 26],
14658
loc: {
14659
start: { line: 1, column: 0 },
14660
end: { line: 1, column: 26 }
14661
}
14662
}
14663
14664
},
14665
14666
'try statement': {
14667
14668
'try { } catch (e) { }': {
14669
type: 'TryStatement',
14670
block: {
14671
type: 'BlockStatement',
14672
body: [],
14673
range: [4, 7],
14674
loc: {
14675
start: { line: 1, column: 4 },
14676
end: { line: 1, column: 7 }
14677
}
14678
},
14679
guardedHandlers: [],
14680
handlers: [{
14681
type: 'CatchClause',
14682
param: {
14683
type: 'Identifier',
14684
name: 'e',
14685
range: [15, 16],
14686
loc: {
14687
start: { line: 1, column: 15 },
14688
end: { line: 1, column: 16 }
14689
}
14690
},
14691
body: {
14692
type: 'BlockStatement',
14693
body: [],
14694
range: [18, 21],
14695
loc: {
14696
start: { line: 1, column: 18 },
14697
end: { line: 1, column: 21 }
14698
}
14699
},
14700
range: [8, 21],
14701
loc: {
14702
start: { line: 1, column: 8 },
14703
end: { line: 1, column: 21 }
14704
}
14705
}],
14706
finalizer: null,
14707
range: [0, 21],
14708
loc: {
14709
start: { line: 1, column: 0 },
14710
end: { line: 1, column: 21 }
14711
}
14712
},
14713
14714
'try { } catch (eval) { }': {
14715
type: 'TryStatement',
14716
block: {
14717
type: 'BlockStatement',
14718
body: [],
14719
range: [4, 7],
14720
loc: {
14721
start: { line: 1, column: 4 },
14722
end: { line: 1, column: 7 }
14723
}
14724
},
14725
guardedHandlers: [],
14726
handlers: [{
14727
type: 'CatchClause',
14728
param: {
14729
type: 'Identifier',
14730
name: 'eval',
14731
range: [15, 19],
14732
loc: {
14733
start: { line: 1, column: 15 },
14734
end: { line: 1, column: 19 }
14735
}
14736
},
14737
body: {
14738
type: 'BlockStatement',
14739
body: [],
14740
range: [21, 24],
14741
loc: {
14742
start: { line: 1, column: 21 },
14743
end: { line: 1, column: 24 }
14744
}
14745
},
14746
range: [8, 24],
14747
loc: {
14748
start: { line: 1, column: 8 },
14749
end: { line: 1, column: 24 }
14750
}
14751
}],
14752
finalizer: null,
14753
range: [0, 24],
14754
loc: {
14755
start: { line: 1, column: 0 },
14756
end: { line: 1, column: 24 }
14757
}
14758
},
14759
14760
'try { } catch (arguments) { }': {
14761
type: 'TryStatement',
14762
block: {
14763
type: 'BlockStatement',
14764
body: [],
14765
range: [4, 7],
14766
loc: {
14767
start: { line: 1, column: 4 },
14768
end: { line: 1, column: 7 }
14769
}
14770
},
14771
guardedHandlers: [],
14772
handlers: [{
14773
type: 'CatchClause',
14774
param: {
14775
type: 'Identifier',
14776
name: 'arguments',
14777
range: [15, 24],
14778
loc: {
14779
start: { line: 1, column: 15 },
14780
end: { line: 1, column: 24 }
14781
}
14782
},
14783
body: {
14784
type: 'BlockStatement',
14785
body: [],
14786
range: [26, 29],
14787
loc: {
14788
start: { line: 1, column: 26 },
14789
end: { line: 1, column: 29 }
14790
}
14791
},
14792
range: [8, 29],
14793
loc: {
14794
start: { line: 1, column: 8 },
14795
end: { line: 1, column: 29 }
14796
}
14797
}],
14798
finalizer: null,
14799
range: [0, 29],
14800
loc: {
14801
start: { line: 1, column: 0 },
14802
end: { line: 1, column: 29 }
14803
}
14804
},
14805
14806
'try { } catch (e) { say(e) }': {
14807
type: 'TryStatement',
14808
block: {
14809
type: 'BlockStatement',
14810
body: [],
14811
range: [4, 7],
14812
loc: {
14813
start: { line: 1, column: 4 },
14814
end: { line: 1, column: 7 }
14815
}
14816
},
14817
guardedHandlers: [],
14818
handlers: [{
14819
type: 'CatchClause',
14820
param: {
14821
type: 'Identifier',
14822
name: 'e',
14823
range: [15, 16],
14824
loc: {
14825
start: { line: 1, column: 15 },
14826
end: { line: 1, column: 16 }
14827
}
14828
},
14829
body: {
14830
type: 'BlockStatement',
14831
body: [{
14832
type: 'ExpressionStatement',
14833
expression: {
14834
type: 'CallExpression',
14835
callee: {
14836
type: 'Identifier',
14837
name: 'say',
14838
range: [20, 23],
14839
loc: {
14840
start: { line: 1, column: 20 },
14841
end: { line: 1, column: 23 }
14842
}
14843
},
14844
'arguments': [{
14845
type: 'Identifier',
14846
name: 'e',
14847
range: [24, 25],
14848
loc: {
14849
start: { line: 1, column: 24 },
14850
end: { line: 1, column: 25 }
14851
}
14852
}],
14853
range: [20, 26],
14854
loc: {
14855
start: { line: 1, column: 20 },
14856
end: { line: 1, column: 26 }
14857
}
14858
},
14859
range: [20, 27],
14860
loc: {
14861
start: { line: 1, column: 20 },
14862
end: { line: 1, column: 27 }
14863
}
14864
}],
14865
range: [18, 28],
14866
loc: {
14867
start: { line: 1, column: 18 },
14868
end: { line: 1, column: 28 }
14869
}
14870
},
14871
range: [8, 28],
14872
loc: {
14873
start: { line: 1, column: 8 },
14874
end: { line: 1, column: 28 }
14875
}
14876
}],
14877
finalizer: null,
14878
range: [0, 28],
14879
loc: {
14880
start: { line: 1, column: 0 },
14881
end: { line: 1, column: 28 }
14882
}
14883
},
14884
14885
'try { } finally { cleanup(stuff) }': {
14886
type: 'TryStatement',
14887
block: {
14888
type: 'BlockStatement',
14889
body: [],
14890
range: [4, 7],
14891
loc: {
14892
start: { line: 1, column: 4 },
14893
end: { line: 1, column: 7 }
14894
}
14895
},
14896
guardedHandlers: [],
14897
handlers: [],
14898
finalizer: {
14899
type: 'BlockStatement',
14900
body: [{
14901
type: 'ExpressionStatement',
14902
expression: {
14903
type: 'CallExpression',
14904
callee: {
14905
type: 'Identifier',
14906
name: 'cleanup',
14907
range: [18, 25],
14908
loc: {
14909
start: { line: 1, column: 18 },
14910
end: { line: 1, column: 25 }
14911
}
14912
},
14913
'arguments': [{
14914
type: 'Identifier',
14915
name: 'stuff',
14916
range: [26, 31],
14917
loc: {
14918
start: { line: 1, column: 26 },
14919
end: { line: 1, column: 31 }
14920
}
14921
}],
14922
range: [18, 32],
14923
loc: {
14924
start: { line: 1, column: 18 },
14925
end: { line: 1, column: 32 }
14926
}
14927
},
14928
range: [18, 33],
14929
loc: {
14930
start: { line: 1, column: 18 },
14931
end: { line: 1, column: 33 }
14932
}
14933
}],
14934
range: [16, 34],
14935
loc: {
14936
start: { line: 1, column: 16 },
14937
end: { line: 1, column: 34 }
14938
}
14939
},
14940
range: [0, 34],
14941
loc: {
14942
start: { line: 1, column: 0 },
14943
end: { line: 1, column: 34 }
14944
}
14945
},
14946
14947
'try { doThat(); } catch (e) { say(e) }': {
14948
type: 'TryStatement',
14949
block: {
14950
type: 'BlockStatement',
14951
body: [{
14952
type: 'ExpressionStatement',
14953
expression: {
14954
type: 'CallExpression',
14955
callee: {
14956
type: 'Identifier',
14957
name: 'doThat',
14958
range: [6, 12],
14959
loc: {
14960
start: { line: 1, column: 6 },
14961
end: { line: 1, column: 12 }
14962
}
14963
},
14964
'arguments': [],
14965
range: [6, 14],
14966
loc: {
14967
start: { line: 1, column: 6 },
14968
end: { line: 1, column: 14 }
14969
}
14970
},
14971
range: [6, 15],
14972
loc: {
14973
start: { line: 1, column: 6 },
14974
end: { line: 1, column: 15 }
14975
}
14976
}],
14977
range: [4, 17],
14978
loc: {
14979
start: { line: 1, column: 4 },
14980
end: { line: 1, column: 17 }
14981
}
14982
},
14983
guardedHandlers: [],
14984
handlers: [{
14985
type: 'CatchClause',
14986
param: {
14987
type: 'Identifier',
14988
name: 'e',
14989
range: [25, 26],
14990
loc: {
14991
start: { line: 1, column: 25 },
14992
end: { line: 1, column: 26 }
14993
}
14994
},
14995
body: {
14996
type: 'BlockStatement',
14997
body: [{
14998
type: 'ExpressionStatement',
14999
expression: {
15000
type: 'CallExpression',
15001
callee: {
15002
type: 'Identifier',
15003
name: 'say',
15004
range: [30, 33],
15005
loc: {
15006
start: { line: 1, column: 30 },
15007
end: { line: 1, column: 33 }
15008
}
15009
},
15010
'arguments': [{
15011
type: 'Identifier',
15012
name: 'e',
15013
range: [34, 35],
15014
loc: {
15015
start: { line: 1, column: 34 },
15016
end: { line: 1, column: 35 }
15017
}
15018
}],
15019
range: [30, 36],
15020
loc: {
15021
start: { line: 1, column: 30 },
15022
end: { line: 1, column: 36 }
15023
}
15024
},
15025
range: [30, 37],
15026
loc: {
15027
start: { line: 1, column: 30 },
15028
end: { line: 1, column: 37 }
15029
}
15030
}],
15031
range: [28, 38],
15032
loc: {
15033
start: { line: 1, column: 28 },
15034
end: { line: 1, column: 38 }
15035
}
15036
},
15037
range: [18, 38],
15038
loc: {
15039
start: { line: 1, column: 18 },
15040
end: { line: 1, column: 38 }
15041
}
15042
}],
15043
finalizer: null,
15044
range: [0, 38],
15045
loc: {
15046
start: { line: 1, column: 0 },
15047
end: { line: 1, column: 38 }
15048
}
15049
},
15050
15051
'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': {
15052
type: 'TryStatement',
15053
block: {
15054
type: 'BlockStatement',
15055
body: [{
15056
type: 'ExpressionStatement',
15057
expression: {
15058
type: 'CallExpression',
15059
callee: {
15060
type: 'Identifier',
15061
name: 'doThat',
15062
range: [6, 12],
15063
loc: {
15064
start: { line: 1, column: 6 },
15065
end: { line: 1, column: 12 }
15066
}
15067
},
15068
'arguments': [],
15069
range: [6, 14],
15070
loc: {
15071
start: { line: 1, column: 6 },
15072
end: { line: 1, column: 14 }
15073
}
15074
},
15075
range: [6, 15],
15076
loc: {
15077
start: { line: 1, column: 6 },
15078
end: { line: 1, column: 15 }
15079
}
15080
}],
15081
range: [4, 17],
15082
loc: {
15083
start: { line: 1, column: 4 },
15084
end: { line: 1, column: 17 }
15085
}
15086
},
15087
guardedHandlers: [],
15088
handlers: [{
15089
type: 'CatchClause',
15090
param: {
15091
type: 'Identifier',
15092
name: 'e',
15093
range: [25, 26],
15094
loc: {
15095
start: { line: 1, column: 25 },
15096
end: { line: 1, column: 26 }
15097
}
15098
},
15099
body: {
15100
type: 'BlockStatement',
15101
body: [{
15102
type: 'ExpressionStatement',
15103
expression: {
15104
type: 'CallExpression',
15105
callee: {
15106
type: 'Identifier',
15107
name: 'say',
15108
range: [30, 33],
15109
loc: {
15110
start: { line: 1, column: 30 },
15111
end: { line: 1, column: 33 }
15112
}
15113
},
15114
'arguments': [{
15115
type: 'Identifier',
15116
name: 'e',
15117
range: [34, 35],
15118
loc: {
15119
start: { line: 1, column: 34 },
15120
end: { line: 1, column: 35 }
15121
}
15122
}],
15123
range: [30, 36],
15124
loc: {
15125
start: { line: 1, column: 30 },
15126
end: { line: 1, column: 36 }
15127
}
15128
},
15129
range: [30, 37],
15130
loc: {
15131
start: { line: 1, column: 30 },
15132
end: { line: 1, column: 37 }
15133
}
15134
}],
15135
range: [28, 38],
15136
loc: {
15137
start: { line: 1, column: 28 },
15138
end: { line: 1, column: 38 }
15139
}
15140
},
15141
range: [18, 38],
15142
loc: {
15143
start: { line: 1, column: 18 },
15144
end: { line: 1, column: 38 }
15145
}
15146
}],
15147
finalizer: {
15148
type: 'BlockStatement',
15149
body: [{
15150
type: 'ExpressionStatement',
15151
expression: {
15152
type: 'CallExpression',
15153
callee: {
15154
type: 'Identifier',
15155
name: 'cleanup',
15156
range: [49, 56],
15157
loc: {
15158
start: { line: 1, column: 49 },
15159
end: { line: 1, column: 56 }
15160
}
15161
},
15162
'arguments': [{
15163
type: 'Identifier',
15164
name: 'stuff',
15165
range: [57, 62],
15166
loc: {
15167
start: { line: 1, column: 57 },
15168
end: { line: 1, column: 62 }
15169
}
15170
}],
15171
range: [49, 63],
15172
loc: {
15173
start: { line: 1, column: 49 },
15174
end: { line: 1, column: 63 }
15175
}
15176
},
15177
range: [49, 64],
15178
loc: {
15179
start: { line: 1, column: 49 },
15180
end: { line: 1, column: 64 }
15181
}
15182
}],
15183
range: [47, 65],
15184
loc: {
15185
start: { line: 1, column: 47 },
15186
end: { line: 1, column: 65 }
15187
}
15188
},
15189
range: [0, 65],
15190
loc: {
15191
start: { line: 1, column: 0 },
15192
end: { line: 1, column: 65 }
15193
}
15194
}
15195
15196
},
15197
15198
'debugger statement': {
15199
15200
'debugger;': {
15201
type: 'DebuggerStatement',
15202
range: [0, 9],
15203
loc: {
15204
start: { line: 1, column: 0 },
15205
end: { line: 1, column: 9 }
15206
}
15207
}
15208
15209
},
15210
15211
'Function Definition': {
15212
15213
'function hello() { sayHi(); }': {
15214
type: 'FunctionDeclaration',
15215
id: {
15216
type: 'Identifier',
15217
name: 'hello',
15218
range: [9, 14],
15219
loc: {
15220
start: { line: 1, column: 9 },
15221
end: { line: 1, column: 14 }
15222
}
15223
},
15224
params: [],
15225
defaults: [],
15226
body: {
15227
type: 'BlockStatement',
15228
body: [{
15229
type: 'ExpressionStatement',
15230
expression: {
15231
type: 'CallExpression',
15232
callee: {
15233
type: 'Identifier',
15234
name: 'sayHi',
15235
range: [19, 24],
15236
loc: {
15237
start: { line: 1, column: 19 },
15238
end: { line: 1, column: 24 }
15239
}
15240
},
15241
'arguments': [],
15242
range: [19, 26],
15243
loc: {
15244
start: { line: 1, column: 19 },
15245
end: { line: 1, column: 26 }
15246
}
15247
},
15248
range: [19, 27],
15249
loc: {
15250
start: { line: 1, column: 19 },
15251
end: { line: 1, column: 27 }
15252
}
15253
}],
15254
range: [17, 29],
15255
loc: {
15256
start: { line: 1, column: 17 },
15257
end: { line: 1, column: 29 }
15258
}
15259
},
15260
rest: null,
15261
generator: false,
15262
expression: false,
15263
range: [0, 29],
15264
loc: {
15265
start: { line: 1, column: 0 },
15266
end: { line: 1, column: 29 }
15267
}
15268
},
15269
15270
'function eval() { }': {
15271
type: 'FunctionDeclaration',
15272
id: {
15273
type: 'Identifier',
15274
name: 'eval',
15275
range: [9, 13],
15276
loc: {
15277
start: { line: 1, column: 9 },
15278
end: { line: 1, column: 13 }
15279
}
15280
},
15281
params: [],
15282
defaults: [],
15283
body: {
15284
type: 'BlockStatement',
15285
body: [],
15286
range: [16, 19],
15287
loc: {
15288
start: { line: 1, column: 16 },
15289
end: { line: 1, column: 19 }
15290
}
15291
},
15292
rest: null,
15293
generator: false,
15294
expression: false,
15295
range: [0, 19],
15296
loc: {
15297
start: { line: 1, column: 0 },
15298
end: { line: 1, column: 19 }
15299
}
15300
},
15301
15302
'function arguments() { }': {
15303
type: 'FunctionDeclaration',
15304
id: {
15305
type: 'Identifier',
15306
name: 'arguments',
15307
range: [9, 18],
15308
loc: {
15309
start: { line: 1, column: 9 },
15310
end: { line: 1, column: 18 }
15311
}
15312
},
15313
params: [],
15314
defaults: [],
15315
body: {
15316
type: 'BlockStatement',
15317
body: [],
15318
range: [21, 24],
15319
loc: {
15320
start: { line: 1, column: 21 },
15321
end: { line: 1, column: 24 }
15322
}
15323
},
15324
rest: null,
15325
generator: false,
15326
expression: false,
15327
range: [0, 24],
15328
loc: {
15329
start: { line: 1, column: 0 },
15330
end: { line: 1, column: 24 }
15331
}
15332
},
15333
15334
'function test(t, t) { }': {
15335
type: 'FunctionDeclaration',
15336
id: {
15337
type: 'Identifier',
15338
name: 'test',
15339
range: [9, 13],
15340
loc: {
15341
start: { line: 1, column: 9 },
15342
end: { line: 1, column: 13 }
15343
}
15344
},
15345
params: [{
15346
type: 'Identifier',
15347
name: 't',
15348
range: [14, 15],
15349
loc: {
15350
start: { line: 1, column: 14 },
15351
end: { line: 1, column: 15 }
15352
}
15353
}, {
15354
type: 'Identifier',
15355
name: 't',
15356
range: [17, 18],
15357
loc: {
15358
start: { line: 1, column: 17 },
15359
end: { line: 1, column: 18 }
15360
}
15361
}],
15362
defaults: [],
15363
body: {
15364
type: 'BlockStatement',
15365
body: [],
15366
range: [20, 23],
15367
loc: {
15368
start: { line: 1, column: 20 },
15369
end: { line: 1, column: 23 }
15370
}
15371
},
15372
rest: null,
15373
generator: false,
15374
expression: false,
15375
range: [0, 23],
15376
loc: {
15377
start: { line: 1, column: 0 },
15378
end: { line: 1, column: 23 }
15379
}
15380
},
15381
15382
'(function test(t, t) { })': {
15383
type: 'ExpressionStatement',
15384
expression: {
15385
type: 'FunctionExpression',
15386
id: {
15387
type: 'Identifier',
15388
name: 'test',
15389
range: [10, 14],
15390
loc: {
15391
start: { line: 1, column: 10 },
15392
end: { line: 1, column: 14 }
15393
}
15394
},
15395
params: [{
15396
type: 'Identifier',
15397
name: 't',
15398
range: [15, 16],
15399
loc: {
15400
start: { line: 1, column: 15 },
15401
end: { line: 1, column: 16 }
15402
}
15403
}, {
15404
type: 'Identifier',
15405
name: 't',
15406
range: [18, 19],
15407
loc: {
15408
start: { line: 1, column: 18 },
15409
end: { line: 1, column: 19 }
15410
}
15411
}],
15412
defaults: [],
15413
body: {
15414
type: 'BlockStatement',
15415
body: [],
15416
range: [21, 24],
15417
loc: {
15418
start: { line: 1, column: 21 },
15419
end: { line: 1, column: 24 }
15420
}
15421
},
15422
rest: null,
15423
generator: false,
15424
expression: false,
15425
range: [1, 24],
15426
loc: {
15427
start: { line: 1, column: 1 },
15428
end: { line: 1, column: 24 }
15429
}
15430
},
15431
range: [0, 25],
15432
loc: {
15433
start: { line: 1, column: 0 },
15434
end: { line: 1, column: 25 }
15435
}
15436
},
15437
15438
'function eval() { function inner() { "use strict" } }': {
15439
type: 'FunctionDeclaration',
15440
id: {
15441
type: 'Identifier',
15442
name: 'eval',
15443
range: [9, 13],
15444
loc: {
15445
start: { line: 1, column: 9 },
15446
end: { line: 1, column: 13 }
15447
}
15448
},
15449
params: [],
15450
defaults: [],
15451
body: {
15452
type: 'BlockStatement',
15453
body: [{
15454
type: 'FunctionDeclaration',
15455
id: {
15456
type: 'Identifier',
15457
name: 'inner',
15458
range: [27, 32],
15459
loc: {
15460
start: { line: 1, column: 27 },
15461
end: { line: 1, column: 32 }
15462
}
15463
},
15464
params: [],
15465
defaults: [],
15466
body: {
15467
type: 'BlockStatement',
15468
body: [{
15469
type: 'ExpressionStatement',
15470
expression: {
15471
type: 'Literal',
15472
value: 'use strict',
15473
raw: '\"use strict\"',
15474
range: [37, 49],
15475
loc: {
15476
start: { line: 1, column: 37 },
15477
end: { line: 1, column: 49 }
15478
}
15479
},
15480
range: [37, 50],
15481
loc: {
15482
start: { line: 1, column: 37 },
15483
end: { line: 1, column: 50 }
15484
}
15485
}],
15486
range: [35, 51],
15487
loc: {
15488
start: { line: 1, column: 35 },
15489
end: { line: 1, column: 51 }
15490
}
15491
},
15492
rest: null,
15493
generator: false,
15494
expression: false,
15495
range: [18, 51],
15496
loc: {
15497
start: { line: 1, column: 18 },
15498
end: { line: 1, column: 51 }
15499
}
15500
}],
15501
range: [16, 53],
15502
loc: {
15503
start: { line: 1, column: 16 },
15504
end: { line: 1, column: 53 }
15505
}
15506
},
15507
rest: null,
15508
generator: false,
15509
expression: false,
15510
range: [0, 53],
15511
loc: {
15512
start: { line: 1, column: 0 },
15513
end: { line: 1, column: 53 }
15514
}
15515
},
15516
15517
'function hello(a) { sayHi(); }': {
15518
type: 'FunctionDeclaration',
15519
id: {
15520
type: 'Identifier',
15521
name: 'hello',
15522
range: [9, 14],
15523
loc: {
15524
start: { line: 1, column: 9 },
15525
end: { line: 1, column: 14 }
15526
}
15527
},
15528
params: [{
15529
type: 'Identifier',
15530
name: 'a',
15531
range: [15, 16],
15532
loc: {
15533
start: { line: 1, column: 15 },
15534
end: { line: 1, column: 16 }
15535
}
15536
}],
15537
defaults: [],
15538
body: {
15539
type: 'BlockStatement',
15540
body: [{
15541
type: 'ExpressionStatement',
15542
expression: {
15543
type: 'CallExpression',
15544
callee: {
15545
type: 'Identifier',
15546
name: 'sayHi',
15547
range: [20, 25],
15548
loc: {
15549
start: { line: 1, column: 20 },
15550
end: { line: 1, column: 25 }
15551
}
15552
},
15553
'arguments': [],
15554
range: [20, 27],
15555
loc: {
15556
start: { line: 1, column: 20 },
15557
end: { line: 1, column: 27 }
15558
}
15559
},
15560
range: [20, 28],
15561
loc: {
15562
start: { line: 1, column: 20 },
15563
end: { line: 1, column: 28 }
15564
}
15565
}],
15566
range: [18, 30],
15567
loc: {
15568
start: { line: 1, column: 18 },
15569
end: { line: 1, column: 30 }
15570
}
15571
},
15572
rest: null,
15573
generator: false,
15574
expression: false,
15575
range: [0, 30],
15576
loc: {
15577
start: { line: 1, column: 0 },
15578
end: { line: 1, column: 30 }
15579
}
15580
},
15581
15582
'function hello(a, b) { sayHi(); }': {
15583
type: 'FunctionDeclaration',
15584
id: {
15585
type: 'Identifier',
15586
name: 'hello',
15587
range: [9, 14],
15588
loc: {
15589
start: { line: 1, column: 9 },
15590
end: { line: 1, column: 14 }
15591
}
15592
},
15593
params: [{
15594
type: 'Identifier',
15595
name: 'a',
15596
range: [15, 16],
15597
loc: {
15598
start: { line: 1, column: 15 },
15599
end: { line: 1, column: 16 }
15600
}
15601
}, {
15602
type: 'Identifier',
15603
name: 'b',
15604
range: [18, 19],
15605
loc: {
15606
start: { line: 1, column: 18 },
15607
end: { line: 1, column: 19 }
15608
}
15609
}],
15610
defaults: [],
15611
body: {
15612
type: 'BlockStatement',
15613
body: [{
15614
type: 'ExpressionStatement',
15615
expression: {
15616
type: 'CallExpression',
15617
callee: {
15618
type: 'Identifier',
15619
name: 'sayHi',
15620
range: [23, 28],
15621
loc: {
15622
start: { line: 1, column: 23 },
15623
end: { line: 1, column: 28 }
15624
}
15625
},
15626
'arguments': [],
15627
range: [23, 30],
15628
loc: {
15629
start: { line: 1, column: 23 },
15630
end: { line: 1, column: 30 }
15631
}
15632
},
15633
range: [23, 31],
15634
loc: {
15635
start: { line: 1, column: 23 },
15636
end: { line: 1, column: 31 }
15637
}
15638
}],
15639
range: [21, 33],
15640
loc: {
15641
start: { line: 1, column: 21 },
15642
end: { line: 1, column: 33 }
15643
}
15644
},
15645
rest: null,
15646
generator: false,
15647
expression: false,
15648
range: [0, 33],
15649
loc: {
15650
start: { line: 1, column: 0 },
15651
end: { line: 1, column: 33 }
15652
}
15653
},
15654
15655
'var hi = function() { sayHi() };': {
15656
type: 'VariableDeclaration',
15657
declarations: [{
15658
type: 'VariableDeclarator',
15659
id: {
15660
type: 'Identifier',
15661
name: 'hi',
15662
range: [4, 6],
15663
loc: {
15664
start: { line: 1, column: 4 },
15665
end: { line: 1, column: 6 }
15666
}
15667
},
15668
init: {
15669
type: 'FunctionExpression',
15670
id: null,
15671
params: [],
15672
defaults: [],
15673
body: {
15674
type: 'BlockStatement',
15675
body: [{
15676
type: 'ExpressionStatement',
15677
expression: {
15678
type: 'CallExpression',
15679
callee: {
15680
type: 'Identifier',
15681
name: 'sayHi',
15682
range: [22, 27],
15683
loc: {
15684
start: { line: 1, column: 22 },
15685
end: { line: 1, column: 27 }
15686
}
15687
},
15688
'arguments': [],
15689
range: [22, 29],
15690
loc: {
15691
start: { line: 1, column: 22 },
15692
end: { line: 1, column: 29 }
15693
}
15694
},
15695
range: [22, 30],
15696
loc: {
15697
start: { line: 1, column: 22 },
15698
end: { line: 1, column: 30 }
15699
}
15700
}],
15701
range: [20, 31],
15702
loc: {
15703
start: { line: 1, column: 20 },
15704
end: { line: 1, column: 31 }
15705
}
15706
},
15707
rest: null,
15708
generator: false,
15709
expression: false,
15710
range: [9, 31],
15711
loc: {
15712
start: { line: 1, column: 9 },
15713
end: { line: 1, column: 31 }
15714
}
15715
},
15716
range: [4, 31],
15717
loc: {
15718
start: { line: 1, column: 4 },
15719
end: { line: 1, column: 31 }
15720
}
15721
}],
15722
kind: 'var',
15723
range: [0, 32],
15724
loc: {
15725
start: { line: 1, column: 0 },
15726
end: { line: 1, column: 32 }
15727
}
15728
},
15729
15730
'var hi = function eval() { };': {
15731
type: 'VariableDeclaration',
15732
declarations: [{
15733
type: 'VariableDeclarator',
15734
id: {
15735
type: 'Identifier',
15736
name: 'hi',
15737
range: [4, 6],
15738
loc: {
15739
start: { line: 1, column: 4 },
15740
end: { line: 1, column: 6 }
15741
}
15742
},
15743
init: {
15744
type: 'FunctionExpression',
15745
id: {
15746
type: 'Identifier',
15747
name: 'eval',
15748
range: [18, 22],
15749
loc: {
15750
start: { line: 1, column: 18 },
15751
end: { line: 1, column: 22 }
15752
}
15753
},
15754
params: [],
15755
defaults: [],
15756
body: {
15757
type: 'BlockStatement',
15758
body: [],
15759
range: [25, 28],
15760
loc: {
15761
start: { line: 1, column: 25 },
15762
end: { line: 1, column: 28 }
15763
}
15764
},
15765
rest: null,
15766
generator: false,
15767
expression: false,
15768
range: [9, 28],
15769
loc: {
15770
start: { line: 1, column: 9 },
15771
end: { line: 1, column: 28 }
15772
}
15773
},
15774
range: [4, 28],
15775
loc: {
15776
start: { line: 1, column: 4 },
15777
end: { line: 1, column: 28 }
15778
}
15779
}],
15780
kind: 'var',
15781
range: [0, 29],
15782
loc: {
15783
start: { line: 1, column: 0 },
15784
end: { line: 1, column: 29 }
15785
}
15786
},
15787
15788
'var hi = function arguments() { };': {
15789
type: 'VariableDeclaration',
15790
declarations: [{
15791
type: 'VariableDeclarator',
15792
id: {
15793
type: 'Identifier',
15794
name: 'hi',
15795
range: [4, 6],
15796
loc: {
15797
start: { line: 1, column: 4 },
15798
end: { line: 1, column: 6 }
15799
}
15800
},
15801
init: {
15802
type: 'FunctionExpression',
15803
id: {
15804
type: 'Identifier',
15805
name: 'arguments',
15806
range: [18, 27],
15807
loc: {
15808
start: { line: 1, column: 18 },
15809
end: { line: 1, column: 27 }
15810
}
15811
},
15812
params: [],
15813
defaults: [],
15814
body: {
15815
type: 'BlockStatement',
15816
body: [],
15817
range: [30, 33],
15818
loc: {
15819
start: { line: 1, column: 30 },
15820
end: { line: 1, column: 33 }
15821
}
15822
},
15823
rest: null,
15824
generator: false,
15825
expression: false,
15826
range: [9, 33],
15827
loc: {
15828
start: { line: 1, column: 9 },
15829
end: { line: 1, column: 33 }
15830
}
15831
},
15832
range: [4, 33],
15833
loc: {
15834
start: { line: 1, column: 4 },
15835
end: { line: 1, column: 33 }
15836
}
15837
}],
15838
kind: 'var',
15839
range: [0, 34],
15840
loc: {
15841
start: { line: 1, column: 0 },
15842
end: { line: 1, column: 34 }
15843
}
15844
},
15845
15846
'var hello = function hi() { sayHi() };': {
15847
type: 'VariableDeclaration',
15848
declarations: [{
15849
type: 'VariableDeclarator',
15850
id: {
15851
type: 'Identifier',
15852
name: 'hello',
15853
range: [4, 9],
15854
loc: {
15855
start: { line: 1, column: 4 },
15856
end: { line: 1, column: 9 }
15857
}
15858
},
15859
init: {
15860
type: 'FunctionExpression',
15861
id: {
15862
type: 'Identifier',
15863
name: 'hi',
15864
range: [21, 23],
15865
loc: {
15866
start: { line: 1, column: 21 },
15867
end: { line: 1, column: 23 }
15868
}
15869
},
15870
params: [],
15871
defaults: [],
15872
body: {
15873
type: 'BlockStatement',
15874
body: [{
15875
type: 'ExpressionStatement',
15876
expression: {
15877
type: 'CallExpression',
15878
callee: {
15879
type: 'Identifier',
15880
name: 'sayHi',
15881
range: [28, 33],
15882
loc: {
15883
start: { line: 1, column: 28 },
15884
end: { line: 1, column: 33 }
15885
}
15886
},
15887
'arguments': [],
15888
range: [28, 35],
15889
loc: {
15890
start: { line: 1, column: 28 },
15891
end: { line: 1, column: 35 }
15892
}
15893
},
15894
range: [28, 36],
15895
loc: {
15896
start: { line: 1, column: 28 },
15897
end: { line: 1, column: 36 }
15898
}
15899
}],
15900
range: [26, 37],
15901
loc: {
15902
start: { line: 1, column: 26 },
15903
end: { line: 1, column: 37 }
15904
}
15905
},
15906
rest: null,
15907
generator: false,
15908
expression: false,
15909
range: [12, 37],
15910
loc: {
15911
start: { line: 1, column: 12 },
15912
end: { line: 1, column: 37 }
15913
}
15914
},
15915
range: [4, 37],
15916
loc: {
15917
start: { line: 1, column: 4 },
15918
end: { line: 1, column: 37 }
15919
}
15920
}],
15921
kind: 'var',
15922
range: [0, 38],
15923
loc: {
15924
start: { line: 1, column: 0 },
15925
end: { line: 1, column: 38 }
15926
}
15927
},
15928
15929
'(function(){})': {
15930
type: 'ExpressionStatement',
15931
expression: {
15932
type: 'FunctionExpression',
15933
id: null,
15934
params: [],
15935
defaults: [],
15936
body: {
15937
type: 'BlockStatement',
15938
body: [],
15939
range: [11, 13],
15940
loc: {
15941
start: { line: 1, column: 11 },
15942
end: { line: 1, column: 13 }
15943
}
15944
},
15945
rest: null,
15946
generator: false,
15947
expression: false,
15948
range: [1, 13],
15949
loc: {
15950
start: { line: 1, column: 1 },
15951
end: { line: 1, column: 13 }
15952
}
15953
},
15954
range: [0, 14],
15955
loc: {
15956
start: { line: 1, column: 0 },
15957
end: { line: 1, column: 14 }
15958
}
15959
},
15960
15961
'function universe(__proto__) { }': {
15962
type: 'FunctionDeclaration',
15963
id: {
15964
type: 'Identifier',
15965
name: 'universe',
15966
range: [9, 17],
15967
loc: {
15968
start: { line: 1, column: 9 },
15969
end: { line: 1, column: 17 }
15970
}
15971
},
15972
params: [{
15973
type: 'Identifier',
15974
name: '__proto__',
15975
range: [18, 27],
15976
loc: {
15977
start: { line: 1, column: 18 },
15978
end: { line: 1, column: 27 }
15979
}
15980
}],
15981
defaults: [],
15982
body: {
15983
type: 'BlockStatement',
15984
body: [],
15985
range: [29, 32],
15986
loc: {
15987
start: { line: 1, column: 29 },
15988
end: { line: 1, column: 32 }
15989
}
15990
},
15991
rest: null,
15992
generator: false,
15993
expression: false,
15994
range: [0, 32],
15995
loc: {
15996
start: { line: 1, column: 0 },
15997
end: { line: 1, column: 32 }
15998
}
15999
},
16000
16001
'function test() { "use strict" + 42; }': {
16002
type: 'FunctionDeclaration',
16003
id: {
16004
type: 'Identifier',
16005
name: 'test',
16006
range: [9, 13],
16007
loc: {
16008
start: { line: 1, column: 9 },
16009
end: { line: 1, column: 13 }
16010
}
16011
},
16012
params: [],
16013
defaults: [],
16014
body: {
16015
type: 'BlockStatement',
16016
body: [{
16017
type: 'ExpressionStatement',
16018
expression: {
16019
type: 'BinaryExpression',
16020
operator: '+',
16021
left: {
16022
type: 'Literal',
16023
value: 'use strict',
16024
raw: '"use strict"',
16025
range: [18, 30],
16026
loc: {
16027
start: { line: 1, column: 18 },
16028
end: { line: 1, column: 30 }
16029
}
16030
},
16031
right: {
16032
type: 'Literal',
16033
value: 42,
16034
raw: '42',
16035
range: [33, 35],
16036
loc: {
16037
start: { line: 1, column: 33 },
16038
end: { line: 1, column: 35 }
16039
}
16040
},
16041
range: [18, 35],
16042
loc: {
16043
start: { line: 1, column: 18 },
16044
end: { line: 1, column: 35 }
16045
}
16046
},
16047
range: [18, 36],
16048
loc: {
16049
start: { line: 1, column: 18 },
16050
end: { line: 1, column: 36 }
16051
}
16052
}],
16053
range: [16, 38],
16054
loc: {
16055
start: { line: 1, column: 16 },
16056
end: { line: 1, column: 38 }
16057
}
16058
},
16059
rest: null,
16060
generator: false,
16061
expression: false,
16062
range: [0, 38],
16063
loc: {
16064
start: { line: 1, column: 0 },
16065
end: { line: 1, column: 38 }
16066
}
16067
}
16068
16069
},
16070
16071
'Automatic semicolon insertion': {
16072
16073
'{ x\n++y }': {
16074
type: 'BlockStatement',
16075
body: [{
16076
type: 'ExpressionStatement',
16077
expression: {
16078
type: 'Identifier',
16079
name: 'x',
16080
range: [2, 3],
16081
loc: {
16082
start: { line: 1, column: 2 },
16083
end: { line: 1, column: 3 }
16084
}
16085
},
16086
range: [2, 3],
16087
loc: {
16088
start: { line: 1, column: 2 },
16089
end: { line: 1, column: 3 }
16090
}
16091
}, {
16092
type: 'ExpressionStatement',
16093
expression: {
16094
type: 'UpdateExpression',
16095
operator: '++',
16096
argument: {
16097
type: 'Identifier',
16098
name: 'y',
16099
range: [6, 7],
16100
loc: {
16101
start: { line: 2, column: 2 },
16102
end: { line: 2, column: 3 }
16103
}
16104
},
16105
prefix: true,
16106
range: [4, 7],
16107
loc: {
16108
start: { line: 2, column: 0 },
16109
end: { line: 2, column: 3 }
16110
}
16111
},
16112
range: [4, 8],
16113
loc: {
16114
start: { line: 2, column: 0 },
16115
end: { line: 2, column: 4 }
16116
}
16117
}],
16118
range: [0, 9],
16119
loc: {
16120
start: { line: 1, column: 0 },
16121
end: { line: 2, column: 5 }
16122
}
16123
},
16124
16125
'{ x\n--y }': {
16126
type: 'BlockStatement',
16127
body: [{
16128
type: 'ExpressionStatement',
16129
expression: {
16130
type: 'Identifier',
16131
name: 'x',
16132
range: [2, 3],
16133
loc: {
16134
start: { line: 1, column: 2 },
16135
end: { line: 1, column: 3 }
16136
}
16137
},
16138
range: [2, 3],
16139
loc: {
16140
start: { line: 1, column: 2 },
16141
end: { line: 1, column: 3 }
16142
}
16143
}, {
16144
type: 'ExpressionStatement',
16145
expression: {
16146
type: 'UpdateExpression',
16147
operator: '--',
16148
argument: {
16149
type: 'Identifier',
16150
name: 'y',
16151
range: [6, 7],
16152
loc: {
16153
start: { line: 2, column: 2 },
16154
end: { line: 2, column: 3 }
16155
}
16156
},
16157
prefix: true,
16158
range: [4, 7],
16159
loc: {
16160
start: { line: 2, column: 0 },
16161
end: { line: 2, column: 3 }
16162
}
16163
},
16164
range: [4, 8],
16165
loc: {
16166
start: { line: 2, column: 0 },
16167
end: { line: 2, column: 4 }
16168
}
16169
}],
16170
range: [0, 9],
16171
loc: {
16172
start: { line: 1, column: 0 },
16173
end: { line: 2, column: 5 }
16174
}
16175
},
16176
16177
'var x /* comment */;': {
16178
type: 'VariableDeclaration',
16179
declarations: [{
16180
type: 'VariableDeclarator',
16181
id: {
16182
type: 'Identifier',
16183
name: 'x',
16184
range: [4, 5],
16185
loc: {
16186
start: { line: 1, column: 4 },
16187
end: { line: 1, column: 5 }
16188
}
16189
},
16190
init: null,
16191
range: [4, 5],
16192
loc: {
16193
start: { line: 1, column: 4 },
16194
end: { line: 1, column: 5 }
16195
}
16196
}],
16197
kind: 'var',
16198
range: [0, 20],
16199
loc: {
16200
start: { line: 1, column: 0 },
16201
end: { line: 1, column: 20 }
16202
}
16203
},
16204
16205
'{ var x = 14, y = 3\nz; }': {
16206
type: 'BlockStatement',
16207
body: [{
16208
type: 'VariableDeclaration',
16209
declarations: [{
16210
type: 'VariableDeclarator',
16211
id: {
16212
type: 'Identifier',
16213
name: 'x',
16214
range: [6, 7],
16215
loc: {
16216
start: { line: 1, column: 6 },
16217
end: { line: 1, column: 7 }
16218
}
16219
},
16220
init: {
16221
type: 'Literal',
16222
value: 14,
16223
raw: '14',
16224
range: [10, 12],
16225
loc: {
16226
start: { line: 1, column: 10 },
16227
end: { line: 1, column: 12 }
16228
}
16229
},
16230
range: [6, 12],
16231
loc: {
16232
start: { line: 1, column: 6 },
16233
end: { line: 1, column: 12 }
16234
}
16235
}, {
16236
type: 'VariableDeclarator',
16237
id: {
16238
type: 'Identifier',
16239
name: 'y',
16240
range: [14, 15],
16241
loc: {
16242
start: { line: 1, column: 14 },
16243
end: { line: 1, column: 15 }
16244
}
16245
},
16246
init: {
16247
type: 'Literal',
16248
value: 3,
16249
raw: '3',
16250
range: [18, 19],
16251
loc: {
16252
start: { line: 1, column: 18 },
16253
end: { line: 1, column: 19 }
16254
}
16255
},
16256
range: [14, 19],
16257
loc: {
16258
start: { line: 1, column: 14 },
16259
end: { line: 1, column: 19 }
16260
}
16261
}],
16262
kind: 'var',
16263
range: [2, 19],
16264
loc: {
16265
start: { line: 1, column: 2 },
16266
end: { line: 1, column: 19 }
16267
}
16268
}, {
16269
type: 'ExpressionStatement',
16270
expression: {
16271
type: 'Identifier',
16272
name: 'z',
16273
range: [20, 21],
16274
loc: {
16275
start: { line: 2, column: 0 },
16276
end: { line: 2, column: 1 }
16277
}
16278
},
16279
range: [20, 22],
16280
loc: {
16281
start: { line: 2, column: 0 },
16282
end: { line: 2, column: 2 }
16283
}
16284
}],
16285
range: [0, 24],
16286
loc: {
16287
start: { line: 1, column: 0 },
16288
end: { line: 2, column: 4 }
16289
}
16290
},
16291
16292
'while (true) { continue\nthere; }': {
16293
type: 'WhileStatement',
16294
test: {
16295
type: 'Literal',
16296
value: true,
16297
raw: 'true',
16298
range: [7, 11],
16299
loc: {
16300
start: { line: 1, column: 7 },
16301
end: { line: 1, column: 11 }
16302
}
16303
},
16304
body: {
16305
type: 'BlockStatement',
16306
body: [{
16307
type: 'ContinueStatement',
16308
label: null,
16309
range: [15, 23],
16310
loc: {
16311
start: { line: 1, column: 15 },
16312
end: { line: 1, column: 23 }
16313
}
16314
}, {
16315
type: 'ExpressionStatement',
16316
expression: {
16317
type: 'Identifier',
16318
name: 'there',
16319
range: [24, 29],
16320
loc: {
16321
start: { line: 2, column: 0 },
16322
end: { line: 2, column: 5 }
16323
}
16324
},
16325
range: [24, 30],
16326
loc: {
16327
start: { line: 2, column: 0 },
16328
end: { line: 2, column: 6 }
16329
}
16330
}],
16331
range: [13, 32],
16332
loc: {
16333
start: { line: 1, column: 13 },
16334
end: { line: 2, column: 8 }
16335
}
16336
},
16337
range: [0, 32],
16338
loc: {
16339
start: { line: 1, column: 0 },
16340
end: { line: 2, column: 8 }
16341
}
16342
},
16343
16344
'while (true) { continue // Comment\nthere; }': {
16345
type: 'WhileStatement',
16346
test: {
16347
type: 'Literal',
16348
value: true,
16349
raw: 'true',
16350
range: [7, 11],
16351
loc: {
16352
start: { line: 1, column: 7 },
16353
end: { line: 1, column: 11 }
16354
}
16355
},
16356
body: {
16357
type: 'BlockStatement',
16358
body: [{
16359
type: 'ContinueStatement',
16360
label: null,
16361
range: [15, 23],
16362
loc: {
16363
start: { line: 1, column: 15 },
16364
end: { line: 1, column: 23 }
16365
}
16366
}, {
16367
type: 'ExpressionStatement',
16368
expression: {
16369
type: 'Identifier',
16370
name: 'there',
16371
range: [35, 40],
16372
loc: {
16373
start: { line: 2, column: 0 },
16374
end: { line: 2, column: 5 }
16375
}
16376
},
16377
range: [35, 41],
16378
loc: {
16379
start: { line: 2, column: 0 },
16380
end: { line: 2, column: 6 }
16381
}
16382
}],
16383
range: [13, 43],
16384
loc: {
16385
start: { line: 1, column: 13 },
16386
end: { line: 2, column: 8 }
16387
}
16388
},
16389
range: [0, 43],
16390
loc: {
16391
start: { line: 1, column: 0 },
16392
end: { line: 2, column: 8 }
16393
}
16394
},
16395
16396
'while (true) { continue /* Multiline\nComment */there; }': {
16397
type: 'WhileStatement',
16398
test: {
16399
type: 'Literal',
16400
value: true,
16401
raw: 'true',
16402
range: [7, 11],
16403
loc: {
16404
start: { line: 1, column: 7 },
16405
end: { line: 1, column: 11 }
16406
}
16407
},
16408
body: {
16409
type: 'BlockStatement',
16410
body: [{
16411
type: 'ContinueStatement',
16412
label: null,
16413
range: [15, 23],
16414
loc: {
16415
start: { line: 1, column: 15 },
16416
end: { line: 1, column: 23 }
16417
}
16418
}, {
16419
type: 'ExpressionStatement',
16420
expression: {
16421
type: 'Identifier',
16422
name: 'there',
16423
range: [47, 52],
16424
loc: {
16425
start: { line: 2, column: 10 },
16426
end: { line: 2, column: 15 }
16427
}
16428
},
16429
range: [47, 53],
16430
loc: {
16431
start: { line: 2, column: 10 },
16432
end: { line: 2, column: 16 }
16433
}
16434
}],
16435
range: [13, 55],
16436
loc: {
16437
start: { line: 1, column: 13 },
16438
end: { line: 2, column: 18 }
16439
}
16440
},
16441
range: [0, 55],
16442
loc: {
16443
start: { line: 1, column: 0 },
16444
end: { line: 2, column: 18 }
16445
}
16446
},
16447
16448
'while (true) { break\nthere; }': {
16449
type: 'WhileStatement',
16450
test: {
16451
type: 'Literal',
16452
value: true,
16453
raw: 'true',
16454
range: [7, 11],
16455
loc: {
16456
start: { line: 1, column: 7 },
16457
end: { line: 1, column: 11 }
16458
}
16459
},
16460
body: {
16461
type: 'BlockStatement',
16462
body: [{
16463
type: 'BreakStatement',
16464
label: null,
16465
range: [15, 20],
16466
loc: {
16467
start: { line: 1, column: 15 },
16468
end: { line: 1, column: 20 }
16469
}
16470
}, {
16471
type: 'ExpressionStatement',
16472
expression: {
16473
type: 'Identifier',
16474
name: 'there',
16475
range: [21, 26],
16476
loc: {
16477
start: { line: 2, column: 0 },
16478
end: { line: 2, column: 5 }
16479
}
16480
},
16481
range: [21, 27],
16482
loc: {
16483
start: { line: 2, column: 0 },
16484
end: { line: 2, column: 6 }
16485
}
16486
}],
16487
range: [13, 29],
16488
loc: {
16489
start: { line: 1, column: 13 },
16490
end: { line: 2, column: 8 }
16491
}
16492
},
16493
range: [0, 29],
16494
loc: {
16495
start: { line: 1, column: 0 },
16496
end: { line: 2, column: 8 }
16497
}
16498
},
16499
16500
'while (true) { break // Comment\nthere; }': {
16501
type: 'WhileStatement',
16502
test: {
16503
type: 'Literal',
16504
value: true,
16505
raw: 'true',
16506
range: [7, 11],
16507
loc: {
16508
start: { line: 1, column: 7 },
16509
end: { line: 1, column: 11 }
16510
}
16511
},
16512
body: {
16513
type: 'BlockStatement',
16514
body: [{
16515
type: 'BreakStatement',
16516
label: null,
16517
range: [15, 20],
16518
loc: {
16519
start: { line: 1, column: 15 },
16520
end: { line: 1, column: 20 }
16521
}
16522
}, {
16523
type: 'ExpressionStatement',
16524
expression: {
16525
type: 'Identifier',
16526
name: 'there',
16527
range: [32, 37],
16528
loc: {
16529
start: { line: 2, column: 0 },
16530
end: { line: 2, column: 5 }
16531
}
16532
},
16533
range: [32, 38],
16534
loc: {
16535
start: { line: 2, column: 0 },
16536
end: { line: 2, column: 6 }
16537
}
16538
}],
16539
range: [13, 40],
16540
loc: {
16541
start: { line: 1, column: 13 },
16542
end: { line: 2, column: 8 }
16543
}
16544
},
16545
range: [0, 40],
16546
loc: {
16547
start: { line: 1, column: 0 },
16548
end: { line: 2, column: 8 }
16549
}
16550
},
16551
16552
'while (true) { break /* Multiline\nComment */there; }': {
16553
type: 'WhileStatement',
16554
test: {
16555
type: 'Literal',
16556
value: true,
16557
raw: 'true',
16558
range: [7, 11],
16559
loc: {
16560
start: { line: 1, column: 7 },
16561
end: { line: 1, column: 11 }
16562
}
16563
},
16564
body: {
16565
type: 'BlockStatement',
16566
body: [{
16567
type: 'BreakStatement',
16568
label: null,
16569
range: [15, 20],
16570
loc: {
16571
start: { line: 1, column: 15 },
16572
end: { line: 1, column: 20 }
16573
}
16574
}, {
16575
type: 'ExpressionStatement',
16576
expression: {
16577
type: 'Identifier',
16578
name: 'there',
16579
range: [44, 49],
16580
loc: {
16581
start: { line: 2, column: 10 },
16582
end: { line: 2, column: 15 }
16583
}
16584
},
16585
range: [44, 50],
16586
loc: {
16587
start: { line: 2, column: 10 },
16588
end: { line: 2, column: 16 }
16589
}
16590
}],
16591
range: [13, 52],
16592
loc: {
16593
start: { line: 1, column: 13 },
16594
end: { line: 2, column: 18 }
16595
}
16596
},
16597
range: [0, 52],
16598
loc: {
16599
start: { line: 1, column: 0 },
16600
end: { line: 2, column: 18 }
16601
}
16602
},
16603
16604
'(function(){ return\nx; })': {
16605
type: 'ExpressionStatement',
16606
expression: {
16607
type: 'FunctionExpression',
16608
id: null,
16609
params: [],
16610
defaults: [],
16611
body: {
16612
type: 'BlockStatement',
16613
body: [
16614
{
16615
type: 'ReturnStatement',
16616
argument: null,
16617
range: [13, 19],
16618
loc: {
16619
start: { line: 1, column: 13 },
16620
end: { line: 1, column: 19 }
16621
}
16622
},
16623
{
16624
type: 'ExpressionStatement',
16625
expression: {
16626
type: 'Identifier',
16627
name: 'x',
16628
range: [20, 21],
16629
loc: {
16630
start: { line: 2, column: 0 },
16631
end: { line: 2, column: 1 }
16632
}
16633
},
16634
range: [20, 22],
16635
loc: {
16636
start: { line: 2, column: 0 },
16637
end: { line: 2, column: 2 }
16638
}
16639
}
16640
],
16641
range: [11, 24],
16642
loc: {
16643
start: { line: 1, column: 11 },
16644
end: { line: 2, column: 4 }
16645
}
16646
},
16647
rest: null,
16648
generator: false,
16649
expression: false,
16650
range: [1, 24],
16651
loc: {
16652
start: { line: 1, column: 1 },
16653
end: { line: 2, column: 4 }
16654
}
16655
},
16656
range: [0, 25],
16657
loc: {
16658
start: { line: 1, column: 0 },
16659
end: { line: 2, column: 5 }
16660
}
16661
},
16662
16663
'(function(){ return // Comment\nx; })': {
16664
type: 'ExpressionStatement',
16665
expression: {
16666
type: 'FunctionExpression',
16667
id: null,
16668
params: [],
16669
defaults: [],
16670
body: {
16671
type: 'BlockStatement',
16672
body: [
16673
{
16674
type: 'ReturnStatement',
16675
argument: null,
16676
range: [13, 19],
16677
loc: {
16678
start: { line: 1, column: 13 },
16679
end: { line: 1, column: 19 }
16680
}
16681
},
16682
{
16683
type: 'ExpressionStatement',
16684
expression: {
16685
type: 'Identifier',
16686
name: 'x',
16687
range: [31, 32],
16688
loc: {
16689
start: { line: 2, column: 0 },
16690
end: { line: 2, column: 1 }
16691
}
16692
},
16693
range: [31, 33],
16694
loc: {
16695
start: { line: 2, column: 0 },
16696
end: { line: 2, column: 2 }
16697
}
16698
}
16699
],
16700
range: [11, 35],
16701
loc: {
16702
start: { line: 1, column: 11 },
16703
end: { line: 2, column: 4 }
16704
}
16705
},
16706
rest: null,
16707
generator: false,
16708
expression: false,
16709
range: [1, 35],
16710
loc: {
16711
start: { line: 1, column: 1 },
16712
end: { line: 2, column: 4 }
16713
}
16714
},
16715
range: [0, 36],
16716
loc: {
16717
start: { line: 1, column: 0 },
16718
end: { line: 2, column: 5 }
16719
}
16720
},
16721
16722
'(function(){ return/* Multiline\nComment */x; })': {
16723
type: 'ExpressionStatement',
16724
expression: {
16725
type: 'FunctionExpression',
16726
id: null,
16727
params: [],
16728
defaults: [],
16729
body: {
16730
type: 'BlockStatement',
16731
body: [
16732
{
16733
type: 'ReturnStatement',
16734
argument: null,
16735
range: [13, 19],
16736
loc: {
16737
start: { line: 1, column: 13 },
16738
end: { line: 1, column: 19 }
16739
}
16740
},
16741
{
16742
type: 'ExpressionStatement',
16743
expression: {
16744
type: 'Identifier',
16745
name: 'x',
16746
range: [42, 43],
16747
loc: {
16748
start: { line: 2, column: 10 },
16749
end: { line: 2, column: 11 }
16750
}
16751
},
16752
range: [42, 44],
16753
loc: {
16754
start: { line: 2, column: 10 },
16755
end: { line: 2, column: 12 }
16756
}
16757
}
16758
],
16759
range: [11, 46],
16760
loc: {
16761
start: { line: 1, column: 11 },
16762
end: { line: 2, column: 14 }
16763
}
16764
},
16765
rest: null,
16766
generator: false,
16767
expression: false,
16768
range: [1, 46],
16769
loc: {
16770
start: { line: 1, column: 1 },
16771
end: { line: 2, column: 14 }
16772
}
16773
},
16774
range: [0, 47],
16775
loc: {
16776
start: { line: 1, column: 0 },
16777
end: { line: 2, column: 15 }
16778
}
16779
},
16780
16781
'{ throw error\nerror; }': {
16782
type: 'BlockStatement',
16783
body: [{
16784
type: 'ThrowStatement',
16785
argument: {
16786
type: 'Identifier',
16787
name: 'error',
16788
range: [8, 13],
16789
loc: {
16790
start: { line: 1, column: 8 },
16791
end: { line: 1, column: 13 }
16792
}
16793
},
16794
range: [2, 13],
16795
loc: {
16796
start: { line: 1, column: 2 },
16797
end: { line: 1, column: 13 }
16798
}
16799
}, {
16800
type: 'ExpressionStatement',
16801
expression: {
16802
type: 'Identifier',
16803
name: 'error',
16804
range: [14, 19],
16805
loc: {
16806
start: { line: 2, column: 0 },
16807
end: { line: 2, column: 5 }
16808
}
16809
},
16810
range: [14, 20],
16811
loc: {
16812
start: { line: 2, column: 0 },
16813
end: { line: 2, column: 6 }
16814
}
16815
}],
16816
range: [0, 22],
16817
loc: {
16818
start: { line: 1, column: 0 },
16819
end: { line: 2, column: 8 }
16820
}
16821
},
16822
16823
'{ throw error// Comment\nerror; }': {
16824
type: 'BlockStatement',
16825
body: [{
16826
type: 'ThrowStatement',
16827
argument: {
16828
type: 'Identifier',
16829
name: 'error',
16830
range: [8, 13],
16831
loc: {
16832
start: { line: 1, column: 8 },
16833
end: { line: 1, column: 13 }
16834
}
16835
},
16836
range: [2, 13],
16837
loc: {
16838
start: { line: 1, column: 2 },
16839
end: { line: 1, column: 13 }
16840
}
16841
}, {
16842
type: 'ExpressionStatement',
16843
expression: {
16844
type: 'Identifier',
16845
name: 'error',
16846
range: [24, 29],
16847
loc: {
16848
start: { line: 2, column: 0 },
16849
end: { line: 2, column: 5 }
16850
}
16851
},
16852
range: [24, 30],
16853
loc: {
16854
start: { line: 2, column: 0 },
16855
end: { line: 2, column: 6 }
16856
}
16857
}],
16858
range: [0, 32],
16859
loc: {
16860
start: { line: 1, column: 0 },
16861
end: { line: 2, column: 8 }
16862
}
16863
},
16864
16865
'{ throw error/* Multiline\nComment */error; }': {
16866
type: 'BlockStatement',
16867
body: [{
16868
type: 'ThrowStatement',
16869
argument: {
16870
type: 'Identifier',
16871
name: 'error',
16872
range: [8, 13],
16873
loc: {
16874
start: { line: 1, column: 8 },
16875
end: { line: 1, column: 13 }
16876
}
16877
},
16878
range: [2, 13],
16879
loc: {
16880
start: { line: 1, column: 2 },
16881
end: { line: 1, column: 13 }
16882
}
16883
}, {
16884
type: 'ExpressionStatement',
16885
expression: {
16886
type: 'Identifier',
16887
name: 'error',
16888
range: [36, 41],
16889
loc: {
16890
start: { line: 2, column: 10 },
16891
end: { line: 2, column: 15 }
16892
}
16893
},
16894
range: [36, 42],
16895
loc: {
16896
start: { line: 2, column: 10 },
16897
end: { line: 2, column: 16 }
16898
}
16899
}],
16900
range: [0, 44],
16901
loc: {
16902
start: { line: 1, column: 0 },
16903
end: { line: 2, column: 18 }
16904
}
16905
}
16906
16907
},
16908
16909
'Source elements': {
16910
16911
'': {
16912
type: 'Program',
16913
body: [],
16914
range: [0, 0],
16915
loc: {
16916
start: { line: 0, column: 0 },
16917
end: { line: 0, column: 0 }
16918
},
16919
tokens: []
16920
}
16921
},
16922
16923
'Source option': {
16924
'x + y - z': {
16925
type: 'ExpressionStatement',
16926
expression: {
16927
type: 'BinaryExpression',
16928
operator: '-',
16929
left: {
16930
type: 'BinaryExpression',
16931
operator: '+',
16932
left: {
16933
type: 'Identifier',
16934
name: 'x',
16935
range: [0, 1],
16936
loc: {
16937
start: { line: 1, column: 0 },
16938
end: { line: 1, column: 1 },
16939
source: '42.js'
16940
}
16941
},
16942
right: {
16943
type: 'Identifier',
16944
name: 'y',
16945
range: [4, 5],
16946
loc: {
16947
start: { line: 1, column: 4 },
16948
end: { line: 1, column: 5 },
16949
source: '42.js'
16950
}
16951
},
16952
range: [0, 5],
16953
loc: {
16954
start: { line: 1, column: 0 },
16955
end: { line: 1, column: 5 },
16956
source: '42.js'
16957
}
16958
},
16959
right: {
16960
type: 'Identifier',
16961
name: 'z',
16962
range: [8, 9],
16963
loc: {
16964
start: { line: 1, column: 8 },
16965
end: { line: 1, column: 9 },
16966
source: '42.js'
16967
}
16968
},
16969
range: [0, 9],
16970
loc: {
16971
start: { line: 1, column: 0 },
16972
end: { line: 1, column: 9 },
16973
source: '42.js'
16974
}
16975
},
16976
range: [0, 9],
16977
loc: {
16978
start: { line: 1, column: 0 },
16979
end: { line: 1, column: 9 },
16980
source: '42.js'
16981
}
16982
},
16983
16984
'a + (b < (c * d)) + e': {
16985
type: 'ExpressionStatement',
16986
expression: {
16987
type: 'BinaryExpression',
16988
operator: '+',
16989
left: {
16990
type: 'BinaryExpression',
16991
operator: '+',
16992
left: {
16993
type: 'Identifier',
16994
name: 'a',
16995
range: [0, 1],
16996
loc: {
16997
start: { line: 1, column: 0 },
16998
end: { line: 1, column: 1 },
16999
source: '42.js'
17000
}
17001
},
17002
right: {
17003
type: 'BinaryExpression',
17004
operator: '<',
17005
left: {
17006
type: 'Identifier',
17007
name: 'b',
17008
range: [5, 6],
17009
loc: {
17010
start: { line: 1, column: 5 },
17011
end: { line: 1, column: 6 },
17012
source: '42.js'
17013
}
17014
},
17015
right: {
17016
type: 'BinaryExpression',
17017
operator: '*',
17018
left: {
17019
type: 'Identifier',
17020
name: 'c',
17021
range: [10, 11],
17022
loc: {
17023
start: { line: 1, column: 10 },
17024
end: { line: 1, column: 11 },
17025
source: '42.js'
17026
}
17027
},
17028
right: {
17029
type: 'Identifier',
17030
name: 'd',
17031
range: [14, 15],
17032
loc: {
17033
start: { line: 1, column: 14 },
17034
end: { line: 1, column: 15 },
17035
source: '42.js'
17036
}
17037
},
17038
range: [10, 15],
17039
loc: {
17040
start: { line: 1, column: 10 },
17041
end: { line: 1, column: 15 },
17042
source: '42.js'
17043
}
17044
},
17045
range: [5, 16],
17046
loc: {
17047
start: { line: 1, column: 5 },
17048
end: { line: 1, column: 16 },
17049
source: '42.js'
17050
}
17051
},
17052
range: [0, 17],
17053
loc: {
17054
start: { line: 1, column: 0 },
17055
end: { line: 1, column: 17 },
17056
source: '42.js'
17057
}
17058
},
17059
right: {
17060
type: 'Identifier',
17061
name: 'e',
17062
range: [20, 21],
17063
loc: {
17064
start: { line: 1, column: 20 },
17065
end: { line: 1, column: 21 },
17066
source: '42.js'
17067
}
17068
},
17069
range: [0, 21],
17070
loc: {
17071
start: { line: 1, column: 0 },
17072
end: { line: 1, column: 21 },
17073
source: '42.js'
17074
}
17075
},
17076
range: [0, 21],
17077
loc: {
17078
start: { line: 1, column: 0 },
17079
end: { line: 1, column: 21 },
17080
source: '42.js'
17081
}
17082
}
17083
17084
},
17085
17086
17087
'Invalid syntax': {
17088
17089
'{': {
17090
index: 1,
17091
lineNumber: 1,
17092
column: 2,
17093
message: 'Error: Line 1: Unexpected end of input'
17094
},
17095
17096
'}': {
17097
index: 0,
17098
lineNumber: 1,
17099
column: 1,
17100
message: 'Error: Line 1: Unexpected token }'
17101
},
17102
17103
'3ea': {
17104
index: 2,
17105
lineNumber: 1,
17106
column: 3,
17107
message: 'Error: Line 1: Unexpected token ILLEGAL'
17108
},
17109
17110
'3in []': {
17111
index: 1,
17112
lineNumber: 1,
17113
column: 2,
17114
message: 'Error: Line 1: Unexpected token ILLEGAL'
17115
},
17116
17117
'3e': {
17118
index: 2,
17119
lineNumber: 1,
17120
column: 3,
17121
message: 'Error: Line 1: Unexpected token ILLEGAL'
17122
},
17123
17124
'3e+': {
17125
index: 3,
17126
lineNumber: 1,
17127
column: 4,
17128
message: 'Error: Line 1: Unexpected token ILLEGAL'
17129
},
17130
17131
'3e-': {
17132
index: 3,
17133
lineNumber: 1,
17134
column: 4,
17135
message: 'Error: Line 1: Unexpected token ILLEGAL'
17136
},
17137
17138
'3x': {
17139
index: 1,
17140
lineNumber: 1,
17141
column: 2,
17142
message: 'Error: Line 1: Unexpected token ILLEGAL'
17143
},
17144
17145
'3x0': {
17146
index: 1,
17147
lineNumber: 1,
17148
column: 2,
17149
message: 'Error: Line 1: Unexpected token ILLEGAL'
17150
},
17151
17152
'0x': {
17153
index: 2,
17154
lineNumber: 1,
17155
column: 3,
17156
message: 'Error: Line 1: Unexpected token ILLEGAL'
17157
},
17158
17159
'09': {
17160
index: 1,
17161
lineNumber: 1,
17162
column: 2,
17163
message: 'Error: Line 1: Unexpected token ILLEGAL'
17164
},
17165
17166
'018': {
17167
index: 2,
17168
lineNumber: 1,
17169
column: 3,
17170
message: 'Error: Line 1: Unexpected token ILLEGAL'
17171
},
17172
17173
'01a': {
17174
index: 2,
17175
lineNumber: 1,
17176
column: 3,
17177
message: 'Error: Line 1: Unexpected token ILLEGAL'
17178
},
17179
17180
'3in[]': {
17181
index: 1,
17182
lineNumber: 1,
17183
column: 2,
17184
message: 'Error: Line 1: Unexpected token ILLEGAL'
17185
},
17186
17187
'0x3in[]': {
17188
index: 3,
17189
lineNumber: 1,
17190
column: 4,
17191
message: 'Error: Line 1: Unexpected token ILLEGAL'
17192
},
17193
17194
'"Hello\nWorld"': {
17195
index: 7,
17196
lineNumber: 1,
17197
column: 8,
17198
message: 'Error: Line 1: Unexpected token ILLEGAL'
17199
},
17200
17201
'x\\': {
17202
index: 2,
17203
lineNumber: 1,
17204
column: 3,
17205
message: 'Error: Line 1: Unexpected token ILLEGAL'
17206
},
17207
17208
'x\\u005c': {
17209
index: 7,
17210
lineNumber: 1,
17211
column: 8,
17212
message: 'Error: Line 1: Unexpected token ILLEGAL'
17213
},
17214
17215
'x\\u002a': {
17216
index: 7,
17217
lineNumber: 1,
17218
column: 8,
17219
message: 'Error: Line 1: Unexpected token ILLEGAL'
17220
},
17221
17222
'var x = /(s/g': {
17223
index: 13,
17224
lineNumber: 1,
17225
column: 14,
17226
message: 'Error: Line 1: Invalid regular expression'
17227
},
17228
17229
'a\\u': {
17230
index: 3,
17231
lineNumber: 1,
17232
column: 4,
17233
message: 'Error: Line 1: Unexpected token ILLEGAL'
17234
},
17235
17236
'\\ua': {
17237
index: 3,
17238
lineNumber: 1,
17239
column: 4,
17240
message: 'Error: Line 1: Unexpected token ILLEGAL'
17241
},
17242
17243
'/': {
17244
index: 1,
17245
lineNumber: 1,
17246
column: 2,
17247
message: 'Error: Line 1: Invalid regular expression: missing /'
17248
},
17249
17250
'/test': {
17251
index: 5,
17252
lineNumber: 1,
17253
column: 6,
17254
message: 'Error: Line 1: Invalid regular expression: missing /'
17255
},
17256
17257
'var x = /[z-a]/': {
17258
index: 15,
17259
lineNumber: 1,
17260
column: 16,
17261
message: 'Error: Line 1: Invalid regular expression'
17262
},
17263
17264
'3 = 4': {
17265
index: 1,
17266
lineNumber: 1,
17267
column: 2,
17268
message: 'Error: Line 1: Invalid left-hand side in assignment'
17269
},
17270
17271
'func() = 4': {
17272
index: 6,
17273
lineNumber: 1,
17274
column: 7,
17275
message: 'Error: Line 1: Invalid left-hand side in assignment'
17276
},
17277
17278
'(1 + 1) = 10': {
17279
index: 7,
17280
lineNumber: 1,
17281
column: 8,
17282
message: 'Error: Line 1: Invalid left-hand side in assignment'
17283
},
17284
17285
'1++': {
17286
index: 1,
17287
lineNumber: 1,
17288
column: 2,
17289
message: 'Error: Line 1: Invalid left-hand side in assignment'
17290
},
17291
17292
'1--': {
17293
index: 1,
17294
lineNumber: 1,
17295
column: 2,
17296
message: 'Error: Line 1: Invalid left-hand side in assignment'
17297
},
17298
17299
'++1': {
17300
index: 3,
17301
lineNumber: 1,
17302
column: 4,
17303
message: 'Error: Line 1: Invalid left-hand side in assignment'
17304
},
17305
17306
'--1': {
17307
index: 3,
17308
lineNumber: 1,
17309
column: 4,
17310
message: 'Error: Line 1: Invalid left-hand side in assignment'
17311
},
17312
17313
'for((1 + 1) in list) process(x);': {
17314
index: 11,
17315
lineNumber: 1,
17316
column: 12,
17317
message: 'Error: Line 1: Invalid left-hand side in for-in'
17318
},
17319
17320
'[': {
17321
index: 1,
17322
lineNumber: 1,
17323
column: 2,
17324
message: 'Error: Line 1: Unexpected end of input'
17325
},
17326
17327
'[,': {
17328
index: 2,
17329
lineNumber: 1,
17330
column: 3,
17331
message: 'Error: Line 1: Unexpected end of input'
17332
},
17333
17334
'1 + {': {
17335
index: 5,
17336
lineNumber: 1,
17337
column: 6,
17338
message: 'Error: Line 1: Unexpected end of input'
17339
},
17340
17341
'1 + { t:t ': {
17342
index: 10,
17343
lineNumber: 1,
17344
column: 11,
17345
message: 'Error: Line 1: Unexpected end of input'
17346
},
17347
17348
'1 + { t:t,': {
17349
index: 10,
17350
lineNumber: 1,
17351
column: 11,
17352
message: 'Error: Line 1: Unexpected end of input'
17353
},
17354
17355
'var x = /\n/': {
17356
index: 10,
17357
lineNumber: 1,
17358
column: 11,
17359
message: 'Error: Line 1: Invalid regular expression: missing /'
17360
},
17361
17362
'var x = "\n': {
17363
index: 10,
17364
lineNumber: 1,
17365
column: 11,
17366
message: 'Error: Line 1: Unexpected token ILLEGAL'
17367
},
17368
17369
'var if = 42': {
17370
index: 4,
17371
lineNumber: 1,
17372
column: 5,
17373
message: 'Error: Line 1: Unexpected token if'
17374
},
17375
17376
'i #= 42': {
17377
index: 2,
17378
lineNumber: 1,
17379
column: 3,
17380
message: 'Error: Line 1: Unexpected token ILLEGAL'
17381
},
17382
17383
'i + 2 = 42': {
17384
index: 5,
17385
lineNumber: 1,
17386
column: 6,
17387
message: 'Error: Line 1: Invalid left-hand side in assignment'
17388
},
17389
17390
'+i = 42': {
17391
index: 2,
17392
lineNumber: 1,
17393
column: 3,
17394
message: 'Error: Line 1: Invalid left-hand side in assignment'
17395
},
17396
17397
'1 + (': {
17398
index: 5,
17399
lineNumber: 1,
17400
column: 6,
17401
message: 'Error: Line 1: Unexpected end of input'
17402
},
17403
17404
'\n\n\n{': {
17405
index: 4,
17406
lineNumber: 4,
17407
column: 2,
17408
message: 'Error: Line 4: Unexpected end of input'
17409
},
17410
17411
'\n/* Some multiline\ncomment */\n)': {
17412
index: 30,
17413
lineNumber: 4,
17414
column: 1,
17415
message: 'Error: Line 4: Unexpected token )'
17416
},
17417
17418
'{ set 1 }': {
17419
index: 6,
17420
lineNumber: 1,
17421
column: 7,
17422
message: 'Error: Line 1: Unexpected number'
17423
},
17424
17425
'{ get 2 }': {
17426
index: 6,
17427
lineNumber: 1,
17428
column: 7,
17429
message: 'Error: Line 1: Unexpected number'
17430
},
17431
17432
'({ set: s(if) { } })': {
17433
index: 10,
17434
lineNumber: 1,
17435
column: 11,
17436
message: 'Error: Line 1: Unexpected token if'
17437
},
17438
17439
'({ set s(.) { } })': {
17440
index: 9,
17441
lineNumber: 1,
17442
column: 10,
17443
message: 'Error: Line 1: Unexpected token .'
17444
},
17445
17446
'({ set: s() { } })': {
17447
index: 12,
17448
lineNumber: 1,
17449
column: 13,
17450
message: 'Error: Line 1: Unexpected token {'
17451
},
17452
17453
'({ set: s(a, b) { } })': {
17454
index: 16,
17455
lineNumber: 1,
17456
column: 17,
17457
message: 'Error: Line 1: Unexpected token {'
17458
},
17459
17460
'({ get: g(d) { } })': {
17461
index: 13,
17462
lineNumber: 1,
17463
column: 14,
17464
message: 'Error: Line 1: Unexpected token {'
17465
},
17466
17467
'({ get i() { }, i: 42 })': {
17468
index: 21,
17469
lineNumber: 1,
17470
column: 22,
17471
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17472
},
17473
17474
'({ i: 42, get i() { } })': {
17475
index: 21,
17476
lineNumber: 1,
17477
column: 22,
17478
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17479
},
17480
17481
'({ set i(x) { }, i: 42 })': {
17482
index: 22,
17483
lineNumber: 1,
17484
column: 23,
17485
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17486
},
17487
17488
'({ i: 42, set i(x) { } })': {
17489
index: 22,
17490
lineNumber: 1,
17491
column: 23,
17492
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17493
},
17494
17495
'({ get i() { }, get i() { } })': {
17496
index: 27,
17497
lineNumber: 1,
17498
column: 28,
17499
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
17500
},
17501
17502
'({ set i(x) { }, set i(x) { } })': {
17503
index: 29,
17504
lineNumber: 1,
17505
column: 30,
17506
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
17507
},
17508
17509
'function t(if) { }': {
17510
index: 11,
17511
lineNumber: 1,
17512
column: 12,
17513
message: 'Error: Line 1: Unexpected token if'
17514
},
17515
17516
'function t(true) { }': {
17517
index: 11,
17518
lineNumber: 1,
17519
column: 12,
17520
message: 'Error: Line 1: Unexpected token true'
17521
},
17522
17523
'function t(false) { }': {
17524
index: 11,
17525
lineNumber: 1,
17526
column: 12,
17527
message: 'Error: Line 1: Unexpected token false'
17528
},
17529
17530
'function t(null) { }': {
17531
index: 11,
17532
lineNumber: 1,
17533
column: 12,
17534
message: 'Error: Line 1: Unexpected token null'
17535
},
17536
17537
'function null() { }': {
17538
index: 9,
17539
lineNumber: 1,
17540
column: 10,
17541
message: 'Error: Line 1: Unexpected token null'
17542
},
17543
17544
'function true() { }': {
17545
index: 9,
17546
lineNumber: 1,
17547
column: 10,
17548
message: 'Error: Line 1: Unexpected token true'
17549
},
17550
17551
'function false() { }': {
17552
index: 9,
17553
lineNumber: 1,
17554
column: 10,
17555
message: 'Error: Line 1: Unexpected token false'
17556
},
17557
17558
'function if() { }': {
17559
index: 9,
17560
lineNumber: 1,
17561
column: 10,
17562
message: 'Error: Line 1: Unexpected token if'
17563
},
17564
17565
'a b;': {
17566
index: 2,
17567
lineNumber: 1,
17568
column: 3,
17569
message: 'Error: Line 1: Unexpected identifier'
17570
},
17571
17572
'if.a;': {
17573
index: 2,
17574
lineNumber: 1,
17575
column: 3,
17576
message: 'Error: Line 1: Unexpected token .'
17577
},
17578
17579
'a if;': {
17580
index: 2,
17581
lineNumber: 1,
17582
column: 3,
17583
message: 'Error: Line 1: Unexpected token if'
17584
},
17585
17586
'a class;': {
17587
index: 2,
17588
lineNumber: 1,
17589
column: 3,
17590
message: 'Error: Line 1: Unexpected reserved word'
17591
},
17592
17593
'break\n': {
17594
index: 5,
17595
lineNumber: 1,
17596
column: 6,
17597
message: 'Error: Line 1: Illegal break statement'
17598
},
17599
17600
'break 1;': {
17601
index: 6,
17602
lineNumber: 1,
17603
column: 7,
17604
message: 'Error: Line 1: Unexpected number'
17605
},
17606
17607
'continue\n': {
17608
index: 8,
17609
lineNumber: 1,
17610
column: 9,
17611
message: 'Error: Line 1: Illegal continue statement'
17612
},
17613
17614
'continue 2;': {
17615
index: 9,
17616
lineNumber: 1,
17617
column: 10,
17618
message: 'Error: Line 1: Unexpected number'
17619
},
17620
17621
'throw': {
17622
index: 5,
17623
lineNumber: 1,
17624
column: 6,
17625
message: 'Error: Line 1: Unexpected end of input'
17626
},
17627
17628
'throw;': {
17629
index: 5,
17630
lineNumber: 1,
17631
column: 6,
17632
message: 'Error: Line 1: Unexpected token ;'
17633
},
17634
17635
'throw\n': {
17636
index: 5,
17637
lineNumber: 1,
17638
column: 6,
17639
message: 'Error: Line 1: Illegal newline after throw'
17640
},
17641
17642
'for (var i, i2 in {});': {
17643
index: 15,
17644
lineNumber: 1,
17645
column: 16,
17646
message: 'Error: Line 1: Unexpected token in'
17647
},
17648
17649
'for ((i in {}));': {
17650
index: 14,
17651
lineNumber: 1,
17652
column: 15,
17653
message: 'Error: Line 1: Unexpected token )'
17654
},
17655
17656
'for (i + 1 in {});': {
17657
index: 10,
17658
lineNumber: 1,
17659
column: 11,
17660
message: 'Error: Line 1: Invalid left-hand side in for-in'
17661
},
17662
17663
'for (+i in {});': {
17664
index: 7,
17665
lineNumber: 1,
17666
column: 8,
17667
message: 'Error: Line 1: Invalid left-hand side in for-in'
17668
},
17669
17670
'if(false)': {
17671
index: 9,
17672
lineNumber: 1,
17673
column: 10,
17674
message: 'Error: Line 1: Unexpected end of input'
17675
},
17676
17677
'if(false) doThis(); else': {
17678
index: 24,
17679
lineNumber: 1,
17680
column: 25,
17681
message: 'Error: Line 1: Unexpected end of input'
17682
},
17683
17684
'do': {
17685
index: 2,
17686
lineNumber: 1,
17687
column: 3,
17688
message: 'Error: Line 1: Unexpected end of input'
17689
},
17690
17691
'while(false)': {
17692
index: 12,
17693
lineNumber: 1,
17694
column: 13,
17695
message: 'Error: Line 1: Unexpected end of input'
17696
},
17697
17698
'for(;;)': {
17699
index: 7,
17700
lineNumber: 1,
17701
column: 8,
17702
message: 'Error: Line 1: Unexpected end of input'
17703
},
17704
17705
'with(x)': {
17706
index: 7,
17707
lineNumber: 1,
17708
column: 8,
17709
message: 'Error: Line 1: Unexpected end of input'
17710
},
17711
17712
'try { }': {
17713
index: 7,
17714
lineNumber: 1,
17715
column: 8,
17716
message: 'Error: Line 1: Missing catch or finally after try'
17717
},
17718
17719
'\u203F = 10': {
17720
index: 0,
17721
lineNumber: 1,
17722
column: 1,
17723
message: 'Error: Line 1: Unexpected token ILLEGAL'
17724
},
17725
17726
'const x = 12, y;': {
17727
index: 15,
17728
lineNumber: 1,
17729
column: 16,
17730
message: 'Error: Line 1: Const must be initialized'
17731
},
17732
17733
'const x, y = 12;': {
17734
index: 7,
17735
lineNumber: 1,
17736
column: 8,
17737
message: 'Error: Line 1: Const must be initialized'
17738
},
17739
17740
'const x;': {
17741
index: 7,
17742
lineNumber: 1,
17743
column: 8,
17744
message: 'Error: Line 1: Const must be initialized'
17745
},
17746
17747
'if(true) let a = 1;': {
17748
index: 9,
17749
lineNumber: 1,
17750
column: 10,
17751
message: 'Error: Line 1: Unexpected token let'
17752
},
17753
17754
'if(true) const a = 1;': {
17755
index: 9,
17756
lineNumber: 1,
17757
column: 10,
17758
message: 'Error: Line 1: Unexpected token const'
17759
},
17760
17761
'switch (c) { default: default: }': {
17762
index: 30,
17763
lineNumber: 1,
17764
column: 31,
17765
message: 'Error: Line 1: More than one default clause in switch statement'
17766
},
17767
17768
'new X()."s"': {
17769
index: 8,
17770
lineNumber: 1,
17771
column: 9,
17772
message: 'Error: Line 1: Unexpected string'
17773
},
17774
17775
'/*': {
17776
index: 2,
17777
lineNumber: 1,
17778
column: 3,
17779
message: 'Error: Line 1: Unexpected token ILLEGAL'
17780
},
17781
17782
'/*\n\n\n': {
17783
index: 5,
17784
lineNumber: 4,
17785
column: 1,
17786
message: 'Error: Line 4: Unexpected token ILLEGAL'
17787
},
17788
17789
'/**': {
17790
index: 3,
17791
lineNumber: 1,
17792
column: 4,
17793
message: 'Error: Line 1: Unexpected token ILLEGAL'
17794
},
17795
17796
'/*\n\n*': {
17797
index: 5,
17798
lineNumber: 3,
17799
column: 2,
17800
message: 'Error: Line 3: Unexpected token ILLEGAL'
17801
},
17802
17803
'/*hello': {
17804
index: 7,
17805
lineNumber: 1,
17806
column: 8,
17807
message: 'Error: Line 1: Unexpected token ILLEGAL'
17808
},
17809
17810
'/*hello *': {
17811
index: 10,
17812
lineNumber: 1,
17813
column: 11,
17814
message: 'Error: Line 1: Unexpected token ILLEGAL'
17815
},
17816
17817
'\n]': {
17818
index: 1,
17819
lineNumber: 2,
17820
column: 1,
17821
message: 'Error: Line 2: Unexpected token ]'
17822
},
17823
17824
'\r]': {
17825
index: 1,
17826
lineNumber: 2,
17827
column: 1,
17828
message: 'Error: Line 2: Unexpected token ]'
17829
},
17830
17831
'\r\n]': {
17832
index: 2,
17833
lineNumber: 2,
17834
column: 1,
17835
message: 'Error: Line 2: Unexpected token ]'
17836
},
17837
17838
'\n\r]': {
17839
index: 2,
17840
lineNumber: 3,
17841
column: 1,
17842
message: 'Error: Line 3: Unexpected token ]'
17843
},
17844
17845
'//\r\n]': {
17846
index: 4,
17847
lineNumber: 2,
17848
column: 1,
17849
message: 'Error: Line 2: Unexpected token ]'
17850
},
17851
17852
'//\n\r]': {
17853
index: 4,
17854
lineNumber: 3,
17855
column: 1,
17856
message: 'Error: Line 3: Unexpected token ]'
17857
},
17858
17859
'/a\\\n/': {
17860
index: 4,
17861
lineNumber: 1,
17862
column: 5,
17863
message: 'Error: Line 1: Invalid regular expression: missing /'
17864
},
17865
17866
'//\r \n]': {
17867
index: 5,
17868
lineNumber: 3,
17869
column: 1,
17870
message: 'Error: Line 3: Unexpected token ]'
17871
},
17872
17873
'/*\r\n*/]': {
17874
index: 6,
17875
lineNumber: 2,
17876
column: 3,
17877
message: 'Error: Line 2: Unexpected token ]'
17878
},
17879
17880
'/*\n\r*/]': {
17881
index: 6,
17882
lineNumber: 2,
17883
column: 4,
17884
message: 'Error: Line 2: Unexpected token ]'
17885
},
17886
17887
'/*\r \n*/]': {
17888
index: 7,
17889
lineNumber: 2,
17890
column: 3,
17891
message: 'Error: Line 2: Unexpected token ]'
17892
},
17893
17894
'\\\\': {
17895
index: 1,
17896
lineNumber: 1,
17897
column: 2,
17898
message: 'Error: Line 1: Unexpected token ILLEGAL'
17899
},
17900
17901
'\\u005c': {
17902
index: 6,
17903
lineNumber: 1,
17904
column: 7,
17905
message: 'Error: Line 1: Unexpected token ILLEGAL'
17906
},
17907
17908
17909
'\\x': {
17910
index: 1,
17911
lineNumber: 1,
17912
column: 2,
17913
message: 'Error: Line 1: Unexpected token ILLEGAL'
17914
},
17915
17916
'\\u0000': {
17917
index: 6,
17918
lineNumber: 1,
17919
column: 7,
17920
message: 'Error: Line 1: Unexpected token ILLEGAL'
17921
},
17922
17923
'\u200C = []': {
17924
index: 0,
17925
lineNumber: 1,
17926
column: 1,
17927
message: 'Error: Line 1: Unexpected token ILLEGAL'
17928
},
17929
17930
'\u200D = []': {
17931
index: 0,
17932
lineNumber: 1,
17933
column: 1,
17934
message: 'Error: Line 1: Unexpected token ILLEGAL'
17935
},
17936
17937
'"\\': {
17938
index: 3,
17939
lineNumber: 1,
17940
column: 4,
17941
message: 'Error: Line 1: Unexpected token ILLEGAL'
17942
},
17943
17944
'"\\u': {
17945
index: 3,
17946
lineNumber: 1,
17947
column: 4,
17948
message: 'Error: Line 1: Unexpected token ILLEGAL'
17949
},
17950
17951
'try { } catch() {}': {
17952
index: 14,
17953
lineNumber: 1,
17954
column: 15,
17955
message: 'Error: Line 1: Unexpected token )'
17956
},
17957
17958
'return': {
17959
index: 6,
17960
lineNumber: 1,
17961
column: 7,
17962
message: 'Error: Line 1: Illegal return statement'
17963
},
17964
17965
'break': {
17966
index: 5,
17967
lineNumber: 1,
17968
column: 6,
17969
message: 'Error: Line 1: Illegal break statement'
17970
},
17971
17972
'continue': {
17973
index: 8,
17974
lineNumber: 1,
17975
column: 9,
17976
message: 'Error: Line 1: Illegal continue statement'
17977
},
17978
17979
'switch (x) { default: continue; }': {
17980
index: 31,
17981
lineNumber: 1,
17982
column: 32,
17983
message: 'Error: Line 1: Illegal continue statement'
17984
},
17985
17986
'do { x } *': {
17987
index: 9,
17988
lineNumber: 1,
17989
column: 10,
17990
message: 'Error: Line 1: Unexpected token *'
17991
},
17992
17993
'while (true) { break x; }': {
17994
index: 22,
17995
lineNumber: 1,
17996
column: 23,
17997
message: 'Error: Line 1: Undefined label \'x\''
17998
},
17999
18000
'while (true) { continue x; }': {
18001
index: 25,
18002
lineNumber: 1,
18003
column: 26,
18004
message: 'Error: Line 1: Undefined label \'x\''
18005
},
18006
18007
'x: while (true) { (function () { break x; }); }': {
18008
index: 40,
18009
lineNumber: 1,
18010
column: 41,
18011
message: 'Error: Line 1: Undefined label \'x\''
18012
},
18013
18014
'x: while (true) { (function () { continue x; }); }': {
18015
index: 43,
18016
lineNumber: 1,
18017
column: 44,
18018
message: 'Error: Line 1: Undefined label \'x\''
18019
},
18020
18021
'x: while (true) { (function () { break; }); }': {
18022
index: 39,
18023
lineNumber: 1,
18024
column: 40,
18025
message: 'Error: Line 1: Illegal break statement'
18026
},
18027
18028
'x: while (true) { (function () { continue; }); }': {
18029
index: 42,
18030
lineNumber: 1,
18031
column: 43,
18032
message: 'Error: Line 1: Illegal continue statement'
18033
},
18034
18035
'x: while (true) { x: while (true) { } }': {
18036
index: 20,
18037
lineNumber: 1,
18038
column: 21,
18039
message: 'Error: Line 1: Label \'x\' has already been declared'
18040
},
18041
18042
'(function () { \'use strict\'; delete i; }())': {
18043
index: 37,
18044
lineNumber: 1,
18045
column: 38,
18046
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
18047
},
18048
18049
'(function () { \'use strict\'; with (i); }())': {
18050
index: 28,
18051
lineNumber: 1,
18052
column: 29,
18053
message: 'Error: Line 1: Strict mode code may not include a with statement'
18054
},
18055
18056
'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': {
18057
index: 47,
18058
lineNumber: 1,
18059
column: 48,
18060
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
18061
},
18062
18063
'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': {
18064
index: 73,
18065
lineNumber: 1,
18066
column: 74,
18067
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
18068
},
18069
18070
'function hello() {\'use strict\'; var eval = 10; }': {
18071
index: 40,
18072
lineNumber: 1,
18073
column: 41,
18074
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
18075
},
18076
18077
'function hello() {\'use strict\'; var arguments = 10; }': {
18078
index: 45,
18079
lineNumber: 1,
18080
column: 46,
18081
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
18082
},
18083
18084
'function hello() {\'use strict\'; try { } catch (eval) { } }': {
18085
index: 51,
18086
lineNumber: 1,
18087
column: 52,
18088
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
18089
},
18090
18091
'function hello() {\'use strict\'; try { } catch (arguments) { } }': {
18092
index: 56,
18093
lineNumber: 1,
18094
column: 57,
18095
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
18096
},
18097
18098
'function hello() {\'use strict\'; eval = 10; }': {
18099
index: 32,
18100
lineNumber: 1,
18101
column: 33,
18102
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
18103
},
18104
18105
'function hello() {\'use strict\'; arguments = 10; }': {
18106
index: 32,
18107
lineNumber: 1,
18108
column: 33,
18109
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
18110
},
18111
18112
'function hello() {\'use strict\'; ++eval; }': {
18113
index: 38,
18114
lineNumber: 1,
18115
column: 39,
18116
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
18117
},
18118
18119
'function hello() {\'use strict\'; --eval; }': {
18120
index: 38,
18121
lineNumber: 1,
18122
column: 39,
18123
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
18124
},
18125
18126
'function hello() {\'use strict\'; ++arguments; }': {
18127
index: 43,
18128
lineNumber: 1,
18129
column: 44,
18130
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
18131
},
18132
18133
'function hello() {\'use strict\'; --arguments; }': {
18134
index: 43,
18135
lineNumber: 1,
18136
column: 44,
18137
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
18138
},
18139
18140
'function hello() {\'use strict\'; eval++; }': {
18141
index: 36,
18142
lineNumber: 1,
18143
column: 37,
18144
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
18145
},
18146
18147
'function hello() {\'use strict\'; eval--; }': {
18148
index: 36,
18149
lineNumber: 1,
18150
column: 37,
18151
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
18152
},
18153
18154
'function hello() {\'use strict\'; arguments++; }': {
18155
index: 41,
18156
lineNumber: 1,
18157
column: 42,
18158
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
18159
},
18160
18161
'function hello() {\'use strict\'; arguments--; }': {
18162
index: 41,
18163
lineNumber: 1,
18164
column: 42,
18165
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
18166
},
18167
18168
'function hello() {\'use strict\'; function eval() { } }': {
18169
index: 41,
18170
lineNumber: 1,
18171
column: 42,
18172
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18173
},
18174
18175
'function hello() {\'use strict\'; function arguments() { } }': {
18176
index: 41,
18177
lineNumber: 1,
18178
column: 42,
18179
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18180
},
18181
18182
'function eval() {\'use strict\'; }': {
18183
index: 9,
18184
lineNumber: 1,
18185
column: 10,
18186
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18187
},
18188
18189
'function arguments() {\'use strict\'; }': {
18190
index: 9,
18191
lineNumber: 1,
18192
column: 10,
18193
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18194
},
18195
18196
'function hello() {\'use strict\'; (function eval() { }()) }': {
18197
index: 42,
18198
lineNumber: 1,
18199
column: 43,
18200
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18201
},
18202
18203
'function hello() {\'use strict\'; (function arguments() { }()) }': {
18204
index: 42,
18205
lineNumber: 1,
18206
column: 43,
18207
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18208
},
18209
18210
'(function eval() {\'use strict\'; })()': {
18211
index: 10,
18212
lineNumber: 1,
18213
column: 11,
18214
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18215
},
18216
18217
'(function arguments() {\'use strict\'; })()': {
18218
index: 10,
18219
lineNumber: 1,
18220
column: 11,
18221
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18222
},
18223
18224
'function hello() {\'use strict\'; ({ s: function eval() { } }); }': {
18225
index: 47,
18226
lineNumber: 1,
18227
column: 48,
18228
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18229
},
18230
18231
'(function package() {\'use strict\'; })()': {
18232
index: 10,
18233
lineNumber: 1,
18234
column: 11,
18235
message: 'Error: Line 1: Use of future reserved word in strict mode'
18236
},
18237
18238
'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': {
18239
index: 48,
18240
lineNumber: 1,
18241
column: 49,
18242
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18243
},
18244
18245
'function hello() {\'use strict\'; ({ set s(eval) { } }); }': {
18246
index: 41,
18247
lineNumber: 1,
18248
column: 42,
18249
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18250
},
18251
18252
'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': {
18253
index: 49,
18254
lineNumber: 1,
18255
column: 50,
18256
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18257
},
18258
18259
'function hello(eval) {\'use strict\';}': {
18260
index: 15,
18261
lineNumber: 1,
18262
column: 16,
18263
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18264
},
18265
18266
'function hello(arguments) {\'use strict\';}': {
18267
index: 15,
18268
lineNumber: 1,
18269
column: 16,
18270
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18271
},
18272
18273
'function hello() { \'use strict\'; function inner(eval) {} }': {
18274
index: 48,
18275
lineNumber: 1,
18276
column: 49,
18277
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18278
},
18279
18280
'function hello() { \'use strict\'; function inner(arguments) {} }': {
18281
index: 48,
18282
lineNumber: 1,
18283
column: 49,
18284
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18285
},
18286
18287
' "\\1"; \'use strict\';': {
18288
index: 1,
18289
lineNumber: 1,
18290
column: 2,
18291
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18292
},
18293
18294
'function hello() { \'use strict\'; "\\1"; }': {
18295
index: 33,
18296
lineNumber: 1,
18297
column: 34,
18298
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18299
},
18300
18301
'function hello() { \'use strict\'; 021; }': {
18302
index: 33,
18303
lineNumber: 1,
18304
column: 34,
18305
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18306
},
18307
18308
'function hello() { \'use strict\'; ({ "\\1": 42 }); }': {
18309
index: 36,
18310
lineNumber: 1,
18311
column: 37,
18312
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18313
},
18314
18315
'function hello() { \'use strict\'; ({ 021: 42 }); }': {
18316
index: 36,
18317
lineNumber: 1,
18318
column: 37,
18319
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18320
},
18321
18322
'function hello() { "octal directive\\1"; "use strict"; }': {
18323
index: 19,
18324
lineNumber: 1,
18325
column: 20,
18326
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18327
},
18328
18329
'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': {
18330
index: 19,
18331
lineNumber: 1,
18332
column: 20,
18333
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18334
},
18335
18336
'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': {
18337
index: 52,
18338
lineNumber: 1,
18339
column: 53,
18340
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
18341
},
18342
18343
'function hello() { "use strict"; var implements; }': {
18344
index: 37,
18345
lineNumber: 1,
18346
column: 38,
18347
message: 'Error: Line 1: Use of future reserved word in strict mode'
18348
},
18349
18350
'function hello() { "use strict"; var interface; }': {
18351
index: 37,
18352
lineNumber: 1,
18353
column: 38,
18354
message: 'Error: Line 1: Use of future reserved word in strict mode'
18355
},
18356
18357
'function hello() { "use strict"; var package; }': {
18358
index: 37,
18359
lineNumber: 1,
18360
column: 38,
18361
message: 'Error: Line 1: Use of future reserved word in strict mode'
18362
},
18363
18364
'function hello() { "use strict"; var private; }': {
18365
index: 37,
18366
lineNumber: 1,
18367
column: 38,
18368
message: 'Error: Line 1: Use of future reserved word in strict mode'
18369
},
18370
18371
'function hello() { "use strict"; var protected; }': {
18372
index: 37,
18373
lineNumber: 1,
18374
column: 38,
18375
message: 'Error: Line 1: Use of future reserved word in strict mode'
18376
},
18377
18378
'function hello() { "use strict"; var public; }': {
18379
index: 37,
18380
lineNumber: 1,
18381
column: 38,
18382
message: 'Error: Line 1: Use of future reserved word in strict mode'
18383
},
18384
18385
'function hello() { "use strict"; var static; }': {
18386
index: 37,
18387
lineNumber: 1,
18388
column: 38,
18389
message: 'Error: Line 1: Use of future reserved word in strict mode'
18390
},
18391
18392
'function hello() { "use strict"; var yield; }': {
18393
index: 37,
18394
lineNumber: 1,
18395
column: 38,
18396
message: 'Error: Line 1: Use of future reserved word in strict mode'
18397
},
18398
18399
'function hello() { "use strict"; var let; }': {
18400
index: 37,
18401
lineNumber: 1,
18402
column: 38,
18403
message: 'Error: Line 1: Use of future reserved word in strict mode'
18404
},
18405
18406
'function hello(static) { "use strict"; }': {
18407
index: 15,
18408
lineNumber: 1,
18409
column: 16,
18410
message: 'Error: Line 1: Use of future reserved word in strict mode'
18411
},
18412
18413
'function static() { "use strict"; }': {
18414
index: 9,
18415
lineNumber: 1,
18416
column: 10,
18417
message: 'Error: Line 1: Use of future reserved word in strict mode'
18418
},
18419
18420
'function eval(a) { "use strict"; }': {
18421
index: 9,
18422
lineNumber: 1,
18423
column: 10,
18424
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18425
},
18426
18427
'function arguments(a) { "use strict"; }': {
18428
index: 9,
18429
lineNumber: 1,
18430
column: 10,
18431
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18432
},
18433
18434
'var yield': {
18435
"type": "VariableDeclaration",
18436
"declarations": [
18437
{
18438
"type": "VariableDeclarator",
18439
"id": {
18440
"type": "Identifier",
18441
"name": "yield",
18442
"range": [
18443
4,
18444
9
18445
],
18446
"loc": {
18447
"start": {
18448
"line": 1,
18449
"column": 4
18450
},
18451
"end": {
18452
"line": 1,
18453
"column": 9
18454
}
18455
}
18456
},
18457
"init": null,
18458
"range": [
18459
4,
18460
9
18461
],
18462
"loc": {
18463
"start": {
18464
"line": 1,
18465
"column": 4
18466
},
18467
"end": {
18468
"line": 1,
18469
"column": 9
18470
}
18471
}
18472
}
18473
],
18474
"kind": "var",
18475
"range": [
18476
0,
18477
9
18478
],
18479
"loc": {
18480
"start": {
18481
"line": 1,
18482
"column": 0
18483
},
18484
"end": {
18485
"line": 1,
18486
"column": 9
18487
}
18488
}
18489
},
18490
18491
'var let': {
18492
index: 4,
18493
lineNumber: 1,
18494
column: 5,
18495
message: 'Error: Line 1: Unexpected token let'
18496
},
18497
18498
'"use strict"; function static() { }': {
18499
index: 23,
18500
lineNumber: 1,
18501
column: 24,
18502
message: 'Error: Line 1: Use of future reserved word in strict mode'
18503
},
18504
18505
'function a(t, t) { "use strict"; }': {
18506
index: 14,
18507
lineNumber: 1,
18508
column: 15,
18509
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18510
},
18511
18512
'function a(eval) { "use strict"; }': {
18513
index: 11,
18514
lineNumber: 1,
18515
column: 12,
18516
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18517
},
18518
18519
'function a(package) { "use strict"; }': {
18520
index: 11,
18521
lineNumber: 1,
18522
column: 12,
18523
message: 'Error: Line 1: Use of future reserved word in strict mode'
18524
},
18525
18526
'function a() { "use strict"; function b(t, t) { }; }': {
18527
index: 43,
18528
lineNumber: 1,
18529
column: 44,
18530
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18531
},
18532
18533
'(function a(t, t) { "use strict"; })': {
18534
index: 15,
18535
lineNumber: 1,
18536
column: 16,
18537
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18538
},
18539
18540
'function a() { "use strict"; (function b(t, t) { }); }': {
18541
index: 44,
18542
lineNumber: 1,
18543
column: 45,
18544
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18545
},
18546
18547
'(function a(eval) { "use strict"; })': {
18548
index: 12,
18549
lineNumber: 1,
18550
column: 13,
18551
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18552
},
18553
18554
'(function a(package) { "use strict"; })': {
18555
index: 12,
18556
lineNumber: 1,
18557
column: 13,
18558
message: 'Error: Line 1: Use of future reserved word in strict mode'
18559
},
18560
18561
'__proto__: __proto__: 42;': {
18562
index: 21,
18563
lineNumber: 1,
18564
column: 22,
18565
message: 'Error: Line 1: Label \'__proto__\' has already been declared'
18566
},
18567
18568
'"use strict"; function t(__proto__, __proto__) { }': {
18569
index: 36,
18570
lineNumber: 1,
18571
column: 37,
18572
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18573
},
18574
18575
'"use strict"; x = { __proto__: 42, __proto__: 43 }': {
18576
index: 48,
18577
lineNumber: 1,
18578
column: 49,
18579
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
18580
},
18581
18582
'"use strict"; x = { get __proto__() { }, __proto__: 43 }': {
18583
index: 54,
18584
lineNumber: 1,
18585
column: 55,
18586
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
18587
},
18588
18589
'var': {
18590
index: 3,
18591
lineNumber: 1,
18592
column: 4,
18593
message: 'Error: Line 1: Unexpected end of input'
18594
},
18595
18596
'let': {
18597
index: 3,
18598
lineNumber: 1,
18599
column: 4,
18600
message: 'Error: Line 1: Unexpected end of input'
18601
},
18602
18603
'const': {
18604
index: 5,
18605
lineNumber: 1,
18606
column: 6,
18607
message: 'Error: Line 1: Unexpected end of input'
18608
},
18609
18610
'{ ; ; ': {
18611
index: 8,
18612
lineNumber: 1,
18613
column: 9,
18614
message: 'Error: Line 1: Unexpected end of input'
18615
},
18616
18617
'function t() { ; ; ': {
18618
index: 21,
18619
lineNumber: 1,
18620
column: 22,
18621
message: 'Error: Line 1: Unexpected end of input'
18622
}
18623
18624
},
18625
18626
'Tokenize': {
18627
'tokenize(/42/)': [
18628
{
18629
"type": "Identifier",
18630
"value": "tokenize",
18631
"range": [
18632
0,
18633
8
18634
],
18635
"loc": {
18636
"start": {
18637
"line": 1,
18638
"column": 0
18639
},
18640
"end": {
18641
"line": 1,
18642
"column": 8
18643
}
18644
}
18645
},
18646
{
18647
"type": "Punctuator",
18648
"value": "(",
18649
"range": [
18650
8,
18651
9
18652
],
18653
"loc": {
18654
"start": {
18655
"line": 1,
18656
"column": 8
18657
},
18658
"end": {
18659
"line": 1,
18660
"column": 9
18661
}
18662
}
18663
},
18664
{
18665
"type": "Punctuator",
18666
"value": ")",
18667
"range": [
18668
13,
18669
14
18670
],
18671
"loc": {
18672
"start": {
18673
"line": 1,
18674
"column": 13
18675
},
18676
"end": {
18677
"line": 1,
18678
"column": 14
18679
}
18680
}
18681
},
18682
{
18683
"type": "RegularExpression",
18684
"value": "/42/",
18685
"regex": {
18686
"pattern": "42",
18687
"flags": ""
18688
},
18689
"range": [
18690
9,
18691
13
18692
],
18693
"loc": {
18694
"start": {
18695
"line": 1,
18696
"column": 9
18697
},
18698
"end": {
18699
"line": 1,
18700
"column": 13
18701
}
18702
}
18703
},
18704
{
18705
"type": "Punctuator",
18706
"value": ")",
18707
"range": [
18708
13,
18709
14
18710
],
18711
"loc": {
18712
"start": {
18713
"line": 1,
18714
"column": 13
18715
},
18716
"end": {
18717
"line": 1,
18718
"column": 14
18719
}
18720
}
18721
}
18722
],
18723
18724
'if (false) { /42/ }': [
18725
{
18726
"type": "Keyword",
18727
"value": "if",
18728
"range": [
18729
0,
18730
2
18731
],
18732
"loc": {
18733
"start": {
18734
"line": 1,
18735
"column": 0
18736
},
18737
"end": {
18738
"line": 1,
18739
"column": 2
18740
}
18741
}
18742
},
18743
{
18744
"type": "Punctuator",
18745
"value": "(",
18746
"range": [
18747
3,
18748
4
18749
],
18750
"loc": {
18751
"start": {
18752
"line": 1,
18753
"column": 3
18754
},
18755
"end": {
18756
"line": 1,
18757
"column": 4
18758
}
18759
}
18760
},
18761
{
18762
"type": "Boolean",
18763
"value": "false",
18764
"range": [
18765
4,
18766
9
18767
],
18768
"loc": {
18769
"start": {
18770
"line": 1,
18771
"column": 4
18772
},
18773
"end": {
18774
"line": 1,
18775
"column": 9
18776
}
18777
}
18778
},
18779
{
18780
"type": "Punctuator",
18781
"value": ")",
18782
"range": [
18783
9,
18784
10
18785
],
18786
"loc": {
18787
"start": {
18788
"line": 1,
18789
"column": 9
18790
},
18791
"end": {
18792
"line": 1,
18793
"column": 10
18794
}
18795
}
18796
},
18797
{
18798
"type": "Punctuator",
18799
"value": "{",
18800
"range": [
18801
11,
18802
12
18803
],
18804
"loc": {
18805
"start": {
18806
"line": 1,
18807
"column": 11
18808
},
18809
"end": {
18810
"line": 1,
18811
"column": 12
18812
}
18813
}
18814
},
18815
{
18816
"type": "Punctuator",
18817
"value": "}",
18818
"range": [
18819
18,
18820
19
18821
],
18822
"loc": {
18823
"start": {
18824
"line": 1,
18825
"column": 18
18826
},
18827
"end": {
18828
"line": 1,
18829
"column": 19
18830
}
18831
}
18832
},
18833
{
18834
"type": "RegularExpression",
18835
"value": "/42/",
18836
"regex": {
18837
"pattern": "42",
18838
"flags": ""
18839
},
18840
"range": [
18841
13,
18842
17
18843
],
18844
"loc": {
18845
"start": {
18846
"line": 1,
18847
"column": 13
18848
},
18849
"end": {
18850
"line": 1,
18851
"column": 17
18852
}
18853
}
18854
},
18855
{
18856
"type": "Punctuator",
18857
"value": "}",
18858
"range": [
18859
18,
18860
19
18861
],
18862
"loc": {
18863
"start": {
18864
"line": 1,
18865
"column": 18
18866
},
18867
"end": {
18868
"line": 1,
18869
"column": 19
18870
}
18871
}
18872
}
18873
],
18874
18875
'with (false) /42/': [
18876
{
18877
"type": "Keyword",
18878
"value": "with",
18879
"range": [
18880
0,
18881
4
18882
],
18883
"loc": {
18884
"start": {
18885
"line": 1,
18886
"column": 0
18887
},
18888
"end": {
18889
"line": 1,
18890
"column": 4
18891
}
18892
}
18893
},
18894
{
18895
"type": "Punctuator",
18896
"value": "(",
18897
"range": [
18898
5,
18899
6
18900
],
18901
"loc": {
18902
"start": {
18903
"line": 1,
18904
"column": 5
18905
},
18906
"end": {
18907
"line": 1,
18908
"column": 6
18909
}
18910
}
18911
},
18912
{
18913
"type": "Boolean",
18914
"value": "false",
18915
"range": [
18916
6,
18917
11
18918
],
18919
"loc": {
18920
"start": {
18921
"line": 1,
18922
"column": 6
18923
},
18924
"end": {
18925
"line": 1,
18926
"column": 11
18927
}
18928
}
18929
},
18930
{
18931
"type": "Punctuator",
18932
"value": ")",
18933
"range": [
18934
11,
18935
12
18936
],
18937
"loc": {
18938
"start": {
18939
"line": 1,
18940
"column": 11
18941
},
18942
"end": {
18943
"line": 1,
18944
"column": 12
18945
}
18946
}
18947
},
18948
{
18949
"type": "RegularExpression",
18950
"value": "/42/",
18951
"regex": {
18952
"pattern": "42",
18953
"flags": ""
18954
},
18955
"range": [
18956
13,
18957
17
18958
],
18959
"loc": {
18960
"start": {
18961
"line": 1,
18962
"column": 13
18963
},
18964
"end": {
18965
"line": 1,
18966
"column": 17
18967
}
18968
}
18969
}
18970
],
18971
18972
'(false) /42/': [
18973
{
18974
"type": "Punctuator",
18975
"value": "(",
18976
"range": [
18977
0,
18978
1
18979
],
18980
"loc": {
18981
"start": {
18982
"line": 1,
18983
"column": 0
18984
},
18985
"end": {
18986
"line": 1,
18987
"column": 1
18988
}
18989
}
18990
},
18991
{
18992
"type": "Boolean",
18993
"value": "false",
18994
"range": [
18995
1,
18996
6
18997
],
18998
"loc": {
18999
"start": {
19000
"line": 1,
19001
"column": 1
19002
},
19003
"end": {
19004
"line": 1,
19005
"column": 6
19006
}
19007
}
19008
},
19009
{
19010
"type": "Punctuator",
19011
"value": ")",
19012
"range": [
19013
6,
19014
7
19015
],
19016
"loc": {
19017
"start": {
19018
"line": 1,
19019
"column": 6
19020
},
19021
"end": {
19022
"line": 1,
19023
"column": 7
19024
}
19025
}
19026
},
19027
{
19028
"type": "Punctuator",
19029
"value": "/",
19030
"range": [
19031
8,
19032
9
19033
],
19034
"loc": {
19035
"start": {
19036
"line": 1,
19037
"column": 8
19038
},
19039
"end": {
19040
"line": 1,
19041
"column": 9
19042
}
19043
}
19044
},
19045
{
19046
"type": "Numeric",
19047
"value": "42",
19048
"range": [
19049
9,
19050
11
19051
],
19052
"loc": {
19053
"start": {
19054
"line": 1,
19055
"column": 9
19056
},
19057
"end": {
19058
"line": 1,
19059
"column": 11
19060
}
19061
}
19062
},
19063
{
19064
"type": "Punctuator",
19065
"value": "/",
19066
"range": [
19067
11,
19068
12
19069
],
19070
"loc": {
19071
"start": {
19072
"line": 1,
19073
"column": 11
19074
},
19075
"end": {
19076
"line": 1,
19077
"column": 12
19078
}
19079
}
19080
}
19081
],
19082
19083
'function f(){} /42/': [
19084
{
19085
"type": "Keyword",
19086
"value": "function",
19087
"range": [
19088
0,
19089
8
19090
],
19091
"loc": {
19092
"start": {
19093
"line": 1,
19094
"column": 0
19095
},
19096
"end": {
19097
"line": 1,
19098
"column": 8
19099
}
19100
}
19101
},
19102
{
19103
"type": "Identifier",
19104
"value": "f",
19105
"range": [
19106
9,
19107
10
19108
],
19109
"loc": {
19110
"start": {
19111
"line": 1,
19112
"column": 9
19113
},
19114
"end": {
19115
"line": 1,
19116
"column": 10
19117
}
19118
}
19119
},
19120
{
19121
"type": "Punctuator",
19122
"value": "(",
19123
"range": [
19124
10,
19125
11
19126
],
19127
"loc": {
19128
"start": {
19129
"line": 1,
19130
"column": 10
19131
},
19132
"end": {
19133
"line": 1,
19134
"column": 11
19135
}
19136
}
19137
},
19138
{
19139
"type": "Punctuator",
19140
"value": ")",
19141
"range": [
19142
11,
19143
12
19144
],
19145
"loc": {
19146
"start": {
19147
"line": 1,
19148
"column": 11
19149
},
19150
"end": {
19151
"line": 1,
19152
"column": 12
19153
}
19154
}
19155
},
19156
{
19157
"type": "Punctuator",
19158
"value": "{",
19159
"range": [
19160
12,
19161
13
19162
],
19163
"loc": {
19164
"start": {
19165
"line": 1,
19166
"column": 12
19167
},
19168
"end": {
19169
"line": 1,
19170
"column": 13
19171
}
19172
}
19173
},
19174
{
19175
"type": "Punctuator",
19176
"value": "}",
19177
"range": [
19178
13,
19179
14
19180
],
19181
"loc": {
19182
"start": {
19183
"line": 1,
19184
"column": 13
19185
},
19186
"end": {
19187
"line": 1,
19188
"column": 14
19189
}
19190
}
19191
},
19192
{
19193
"type": "RegularExpression",
19194
"value": "/42/",
19195
"regex": {
19196
"pattern": "42",
19197
"flags": ""
19198
},
19199
"range": [
19200
15,
19201
19
19202
],
19203
"loc": {
19204
"start": {
19205
"line": 1,
19206
"column": 15
19207
},
19208
"end": {
19209
"line": 1,
19210
"column": 19
19211
}
19212
}
19213
}
19214
],
19215
19216
'function(){} /42': [
19217
{
19218
"type": "Keyword",
19219
"value": "function",
19220
"range": [
19221
0,
19222
8
19223
],
19224
"loc": {
19225
"start": {
19226
"line": 1,
19227
"column": 0
19228
},
19229
"end": {
19230
"line": 1,
19231
"column": 8
19232
}
19233
}
19234
},
19235
{
19236
"type": "Punctuator",
19237
"value": "(",
19238
"range": [
19239
8,
19240
9
19241
],
19242
"loc": {
19243
"start": {
19244
"line": 1,
19245
"column": 8
19246
},
19247
"end": {
19248
"line": 1,
19249
"column": 9
19250
}
19251
}
19252
},
19253
{
19254
"type": "Punctuator",
19255
"value": ")",
19256
"range": [
19257
9,
19258
10
19259
],
19260
"loc": {
19261
"start": {
19262
"line": 1,
19263
"column": 9
19264
},
19265
"end": {
19266
"line": 1,
19267
"column": 10
19268
}
19269
}
19270
},
19271
{
19272
"type": "Punctuator",
19273
"value": "{",
19274
"range": [
19275
10,
19276
11
19277
],
19278
"loc": {
19279
"start": {
19280
"line": 1,
19281
"column": 10
19282
},
19283
"end": {
19284
"line": 1,
19285
"column": 11
19286
}
19287
}
19288
},
19289
{
19290
"type": "Punctuator",
19291
"value": "}",
19292
"range": [
19293
11,
19294
12
19295
],
19296
"loc": {
19297
"start": {
19298
"line": 1,
19299
"column": 11
19300
},
19301
"end": {
19302
"line": 1,
19303
"column": 12
19304
}
19305
}
19306
},
19307
{
19308
"type": "Punctuator",
19309
"value": "/",
19310
"range": [
19311
13,
19312
14
19313
],
19314
"loc": {
19315
"start": {
19316
"line": 1,
19317
"column": 13
19318
},
19319
"end": {
19320
"line": 1,
19321
"column": 14
19322
}
19323
}
19324
},
19325
{
19326
"type": "Numeric",
19327
"value": "42",
19328
"range": [
19329
14,
19330
16
19331
],
19332
"loc": {
19333
"start": {
19334
"line": 1,
19335
"column": 14
19336
},
19337
"end": {
19338
"line": 1,
19339
"column": 16
19340
}
19341
}
19342
}
19343
],
19344
19345
'{} /42': [
19346
{
19347
"type": "Punctuator",
19348
"value": "{",
19349
"range": [
19350
0,
19351
1
19352
],
19353
"loc": {
19354
"start": {
19355
"line": 1,
19356
"column": 0
19357
},
19358
"end": {
19359
"line": 1,
19360
"column": 1
19361
}
19362
}
19363
},
19364
{
19365
"type": "Punctuator",
19366
"value": "}",
19367
"range": [
19368
1,
19369
2
19370
],
19371
"loc": {
19372
"start": {
19373
"line": 1,
19374
"column": 1
19375
},
19376
"end": {
19377
"line": 1,
19378
"column": 2
19379
}
19380
}
19381
},
19382
{
19383
"type": "Punctuator",
19384
"value": "/",
19385
"range": [
19386
3,
19387
4
19388
],
19389
"loc": {
19390
"start": {
19391
"line": 1,
19392
"column": 3
19393
},
19394
"end": {
19395
"line": 1,
19396
"column": 4
19397
}
19398
}
19399
},
19400
{
19401
"type": "Numeric",
19402
"value": "42",
19403
"range": [
19404
4,
19405
6
19406
],
19407
"loc": {
19408
"start": {
19409
"line": 1,
19410
"column": 4
19411
},
19412
"end": {
19413
"line": 1,
19414
"column": 6
19415
}
19416
}
19417
}
19418
],
19419
19420
'[function(){} /42]': [
19421
{
19422
"type": "Punctuator",
19423
"value": "[",
19424
"range": [
19425
0,
19426
1
19427
],
19428
"loc": {
19429
"start": {
19430
"line": 1,
19431
"column": 0
19432
},
19433
"end": {
19434
"line": 1,
19435
"column": 1
19436
}
19437
}
19438
},
19439
{
19440
"type": "Keyword",
19441
"value": "function",
19442
"range": [
19443
1,
19444
9
19445
],
19446
"loc": {
19447
"start": {
19448
"line": 1,
19449
"column": 1
19450
},
19451
"end": {
19452
"line": 1,
19453
"column": 9
19454
}
19455
}
19456
},
19457
{
19458
"type": "Punctuator",
19459
"value": "(",
19460
"range": [
19461
9,
19462
10
19463
],
19464
"loc": {
19465
"start": {
19466
"line": 1,
19467
"column": 9
19468
},
19469
"end": {
19470
"line": 1,
19471
"column": 10
19472
}
19473
}
19474
},
19475
{
19476
"type": "Punctuator",
19477
"value": ")",
19478
"range": [
19479
10,
19480
11
19481
],
19482
"loc": {
19483
"start": {
19484
"line": 1,
19485
"column": 10
19486
},
19487
"end": {
19488
"line": 1,
19489
"column": 11
19490
}
19491
}
19492
},
19493
{
19494
"type": "Punctuator",
19495
"value": "{",
19496
"range": [
19497
11,
19498
12
19499
],
19500
"loc": {
19501
"start": {
19502
"line": 1,
19503
"column": 11
19504
},
19505
"end": {
19506
"line": 1,
19507
"column": 12
19508
}
19509
}
19510
},
19511
{
19512
"type": "Punctuator",
19513
"value": "}",
19514
"range": [
19515
12,
19516
13
19517
],
19518
"loc": {
19519
"start": {
19520
"line": 1,
19521
"column": 12
19522
},
19523
"end": {
19524
"line": 1,
19525
"column": 13
19526
}
19527
}
19528
},
19529
{
19530
"type": "Punctuator",
19531
"value": "/",
19532
"range": [
19533
14,
19534
15
19535
],
19536
"loc": {
19537
"start": {
19538
"line": 1,
19539
"column": 14
19540
},
19541
"end": {
19542
"line": 1,
19543
"column": 15
19544
}
19545
}
19546
},
19547
{
19548
"type": "Numeric",
19549
"value": "42",
19550
"range": [
19551
15,
19552
17
19553
],
19554
"loc": {
19555
"start": {
19556
"line": 1,
19557
"column": 15
19558
},
19559
"end": {
19560
"line": 1,
19561
"column": 17
19562
}
19563
}
19564
},
19565
{
19566
"type": "Punctuator",
19567
"value": "]",
19568
"range": [
19569
17,
19570
18
19571
],
19572
"loc": {
19573
"start": {
19574
"line": 1,
19575
"column": 17
19576
},
19577
"end": {
19578
"line": 1,
19579
"column": 18
19580
}
19581
}
19582
}
19583
],
19584
19585
';function f(){} /42/': [
19586
{
19587
"type": "Punctuator",
19588
"value": ";",
19589
"range": [
19590
0,
19591
1
19592
],
19593
"loc": {
19594
"start": {
19595
"line": 1,
19596
"column": 0
19597
},
19598
"end": {
19599
"line": 1,
19600
"column": 1
19601
}
19602
}
19603
},
19604
{
19605
"type": "Keyword",
19606
"value": "function",
19607
"range": [
19608
1,
19609
9
19610
],
19611
"loc": {
19612
"start": {
19613
"line": 1,
19614
"column": 1
19615
},
19616
"end": {
19617
"line": 1,
19618
"column": 9
19619
}
19620
}
19621
},
19622
{
19623
"type": "Identifier",
19624
"value": "f",
19625
"range": [
19626
10,
19627
11
19628
],
19629
"loc": {
19630
"start": {
19631
"line": 1,
19632
"column": 10
19633
},
19634
"end": {
19635
"line": 1,
19636
"column": 11
19637
}
19638
}
19639
},
19640
{
19641
"type": "Punctuator",
19642
"value": "(",
19643
"range": [
19644
11,
19645
12
19646
],
19647
"loc": {
19648
"start": {
19649
"line": 1,
19650
"column": 11
19651
},
19652
"end": {
19653
"line": 1,
19654
"column": 12
19655
}
19656
}
19657
},
19658
{
19659
"type": "Punctuator",
19660
"value": ")",
19661
"range": [
19662
12,
19663
13
19664
],
19665
"loc": {
19666
"start": {
19667
"line": 1,
19668
"column": 12
19669
},
19670
"end": {
19671
"line": 1,
19672
"column": 13
19673
}
19674
}
19675
},
19676
{
19677
"type": "Punctuator",
19678
"value": "{",
19679
"range": [
19680
13,
19681
14
19682
],
19683
"loc": {
19684
"start": {
19685
"line": 1,
19686
"column": 13
19687
},
19688
"end": {
19689
"line": 1,
19690
"column": 14
19691
}
19692
}
19693
},
19694
{
19695
"type": "Punctuator",
19696
"value": "}",
19697
"range": [
19698
14,
19699
15
19700
],
19701
"loc": {
19702
"start": {
19703
"line": 1,
19704
"column": 14
19705
},
19706
"end": {
19707
"line": 1,
19708
"column": 15
19709
}
19710
}
19711
},
19712
{
19713
"type": "RegularExpression",
19714
"value": "/42/",
19715
"regex": {
19716
"pattern": "42",
19717
"flags": ""
19718
},
19719
"range": [
19720
16,
19721
20
19722
],
19723
"loc": {
19724
"start": {
19725
"line": 1,
19726
"column": 16
19727
},
19728
"end": {
19729
"line": 1,
19730
"column": 20
19731
}
19732
}
19733
}
19734
],
19735
19736
'void /42/': [
19737
{
19738
"type": "Keyword",
19739
"value": "void",
19740
"range": [
19741
0,
19742
4
19743
],
19744
"loc": {
19745
"start": {
19746
"line": 1,
19747
"column": 0
19748
},
19749
"end": {
19750
"line": 1,
19751
"column": 4
19752
}
19753
}
19754
},
19755
{
19756
"type": "RegularExpression",
19757
"value": "/42/",
19758
"regex": {
19759
"pattern": "42",
19760
"flags": ""
19761
},
19762
"range": [
19763
5,
19764
9
19765
],
19766
"loc": {
19767
"start": {
19768
"line": 1,
19769
"column": 5
19770
},
19771
"end": {
19772
"line": 1,
19773
"column": 9
19774
}
19775
}
19776
}
19777
],
19778
19779
'/42/': [
19780
{
19781
"type": "RegularExpression",
19782
"value": "/42/",
19783
"regex": {
19784
"pattern": "42",
19785
"flags": ""
19786
},
19787
"range": [
19788
0,
19789
4
19790
],
19791
"loc": {
19792
"start": {
19793
"line": 1,
19794
"column": 0
19795
},
19796
"end": {
19797
"line": 1,
19798
"column": 4
19799
}
19800
}
19801
}
19802
],
19803
19804
'foo[/42]': [
19805
{
19806
"type": "Identifier",
19807
"value": "foo",
19808
"range": [
19809
0,
19810
3
19811
],
19812
"loc": {
19813
"start": {
19814
"line": 1,
19815
"column": 0
19816
},
19817
"end": {
19818
"line": 1,
19819
"column": 3
19820
}
19821
}
19822
},
19823
{
19824
"type": "Punctuator",
19825
"value": "[",
19826
"range": [
19827
3,
19828
4
19829
],
19830
"loc": {
19831
"start": {
19832
"line": 1,
19833
"column": 3
19834
},
19835
"end": {
19836
"line": 1,
19837
"column": 4
19838
}
19839
}
19840
}
19841
],
19842
19843
'': [],
19844
19845
'/42': {
19846
tokenize: true,
19847
index: 3,
19848
lineNumber: 1,
19849
column: 4,
19850
message: 'Error: Line 1: Invalid regular expression: missing /'
19851
},
19852
19853
'foo[/42': {
19854
tokenize: true,
19855
index: 7,
19856
lineNumber: 1,
19857
column: 8,
19858
message: 'Error: Line 1: Invalid regular expression: missing /'
19859
}
19860
19861
},
19862
19863
'API': {
19864
'parse()': {
19865
call: 'parse',
19866
args: [],
19867
result: {
19868
type: 'Program',
19869
body: [{
19870
type: 'ExpressionStatement',
19871
expression: {
19872
type: 'Identifier',
19873
name: 'undefined'
19874
}
19875
}]
19876
}
19877
},
19878
19879
'parse(null)': {
19880
call: 'parse',
19881
args: [null],
19882
result: {
19883
type: 'Program',
19884
body: [{
19885
type: 'ExpressionStatement',
19886
expression: {
19887
type: 'Literal',
19888
value: null,
19889
raw: 'null'
19890
}
19891
}]
19892
}
19893
},
19894
19895
'parse(42)': {
19896
call: 'parse',
19897
args: [42],
19898
result: {
19899
type: 'Program',
19900
body: [{
19901
type: 'ExpressionStatement',
19902
expression: {
19903
type: 'Literal',
19904
value: 42,
19905
raw: '42'
19906
}
19907
}]
19908
}
19909
},
19910
19911
'parse(true)': {
19912
call: 'parse',
19913
args: [true],
19914
result: {
19915
type: 'Program',
19916
body: [{
19917
type: 'ExpressionStatement',
19918
expression: {
19919
type: 'Literal',
19920
value: true,
19921
raw: 'true'
19922
}
19923
}]
19924
}
19925
},
19926
19927
'parse(undefined)': {
19928
call: 'parse',
19929
args: [void 0],
19930
result: {
19931
type: 'Program',
19932
body: [{
19933
type: 'ExpressionStatement',
19934
expression: {
19935
type: 'Identifier',
19936
name: 'undefined'
19937
}
19938
}]
19939
}
19940
},
19941
19942
'parse(new String("test"))': {
19943
call: 'parse',
19944
args: [new String('test')],
19945
result: {
19946
type: 'Program',
19947
body: [{
19948
type: 'ExpressionStatement',
19949
expression: {
19950
type: 'Identifier',
19951
name: 'test'
19952
}
19953
}]
19954
}
19955
},
19956
19957
'parse(new Number(42))': {
19958
call: 'parse',
19959
args: [new Number(42)],
19960
result: {
19961
type: 'Program',
19962
body: [{
19963
type: 'ExpressionStatement',
19964
expression: {
19965
type: 'Literal',
19966
value: 42,
19967
raw: '42'
19968
}
19969
}]
19970
}
19971
},
19972
19973
'parse(new Boolean(true))': {
19974
call: 'parse',
19975
args: [new Boolean(true)],
19976
result: {
19977
type: 'Program',
19978
body: [{
19979
type: 'ExpressionStatement',
19980
expression: {
19981
type: 'Literal',
19982
value: true,
19983
raw: 'true'
19984
}
19985
}]
19986
}
19987
},
19988
19989
'Syntax': {
19990
property: 'Syntax',
19991
result: {
19992
AnyTypeAnnotation: 'AnyTypeAnnotation',
19993
ArrayExpression: 'ArrayExpression',
19994
ArrayPattern: 'ArrayPattern',
19995
ArrayTypeAnnotation: 'ArrayTypeAnnotation',
19996
ArrowFunctionExpression: 'ArrowFunctionExpression',
19997
AssignmentExpression: 'AssignmentExpression',
19998
BinaryExpression: 'BinaryExpression',
19999
BlockStatement: 'BlockStatement',
20000
BooleanTypeAnnotation: 'BooleanTypeAnnotation',
20001
BreakStatement: 'BreakStatement',
20002
CallExpression: 'CallExpression',
20003
CatchClause: 'CatchClause',
20004
ClassBody: 'ClassBody',
20005
ClassDeclaration: 'ClassDeclaration',
20006
ClassExpression: 'ClassExpression',
20007
ClassImplements: 'ClassImplements',
20008
ClassProperty: 'ClassProperty',
20009
ComprehensionBlock: 'ComprehensionBlock',
20010
ComprehensionExpression: 'ComprehensionExpression',
20011
ConditionalExpression: 'ConditionalExpression',
20012
ContinueStatement: 'ContinueStatement',
20013
DebuggerStatement: 'DebuggerStatement',
20014
DeclareClass: 'DeclareClass',
20015
DeclareFunction: 'DeclareFunction',
20016
DeclareModule: 'DeclareModule',
20017
DeclareVariable: 'DeclareVariable',
20018
DoWhileStatement: 'DoWhileStatement',
20019
EmptyStatement: 'EmptyStatement',
20020
ExportDeclaration: 'ExportDeclaration',
20021
ExportBatchSpecifier: 'ExportBatchSpecifier',
20022
ExportSpecifier: 'ExportSpecifier',
20023
ExpressionStatement: 'ExpressionStatement',
20024
ForInStatement: 'ForInStatement',
20025
ForOfStatement: 'ForOfStatement',
20026
ForStatement: 'ForStatement',
20027
FunctionDeclaration: 'FunctionDeclaration',
20028
FunctionExpression: 'FunctionExpression',
20029
FunctionTypeAnnotation: 'FunctionTypeAnnotation',
20030
FunctionTypeParam: 'FunctionTypeParam',
20031
GenericTypeAnnotation: 'GenericTypeAnnotation',
20032
Identifier: 'Identifier',
20033
IfStatement: 'IfStatement',
20034
ImportDeclaration: 'ImportDeclaration',
20035
ImportDefaultSpecifier: "ImportDefaultSpecifier",
20036
ImportNamespaceSpecifier: "ImportNamespaceSpecifier",
20037
ImportSpecifier: 'ImportSpecifier',
20038
InterfaceDeclaration: 'InterfaceDeclaration',
20039
InterfaceExtends: 'InterfaceExtends',
20040
IntersectionTypeAnnotation: 'IntersectionTypeAnnotation',
20041
LabeledStatement: 'LabeledStatement',
20042
Literal: 'Literal',
20043
LogicalExpression: 'LogicalExpression',
20044
MemberExpression: 'MemberExpression',
20045
MethodDefinition: 'MethodDefinition',
20046
ModuleSpecifier: 'ModuleSpecifier',
20047
NewExpression: 'NewExpression',
20048
NullableTypeAnnotation: 'NullableTypeAnnotation',
20049
NumberTypeAnnotation: 'NumberTypeAnnotation',
20050
ObjectExpression: 'ObjectExpression',
20051
ObjectPattern: 'ObjectPattern',
20052
ObjectTypeAnnotation: 'ObjectTypeAnnotation',
20053
ObjectTypeCallProperty: 'ObjectTypeCallProperty',
20054
ObjectTypeIndexer: 'ObjectTypeIndexer',
20055
ObjectTypeProperty: 'ObjectTypeProperty',
20056
Program: 'Program',
20057
Property: 'Property',
20058
QualifiedTypeIdentifier: 'QualifiedTypeIdentifier',
20059
ReturnStatement: 'ReturnStatement',
20060
SequenceExpression: 'SequenceExpression',
20061
SpreadElement: 'SpreadElement',
20062
SpreadProperty: 'SpreadProperty',
20063
StringLiteralTypeAnnotation: 'StringLiteralTypeAnnotation',
20064
StringTypeAnnotation: 'StringTypeAnnotation',
20065
SwitchCase: 'SwitchCase',
20066
SwitchStatement: 'SwitchStatement',
20067
TaggedTemplateExpression: 'TaggedTemplateExpression',
20068
TemplateElement: 'TemplateElement',
20069
TemplateLiteral: 'TemplateLiteral',
20070
ThisExpression: 'ThisExpression',
20071
ThrowStatement: 'ThrowStatement',
20072
TupleTypeAnnotation: 'TupleTypeAnnotation',
20073
TryStatement: 'TryStatement',
20074
TypeAlias: 'TypeAlias',
20075
TypeAnnotation: 'TypeAnnotation',
20076
TypeofTypeAnnotation: 'TypeofTypeAnnotation',
20077
TypeParameterDeclaration: 'TypeParameterDeclaration',
20078
TypeParameterInstantiation: 'TypeParameterInstantiation',
20079
UnaryExpression: 'UnaryExpression',
20080
UnionTypeAnnotation: 'UnionTypeAnnotation',
20081
UpdateExpression: 'UpdateExpression',
20082
VariableDeclaration: 'VariableDeclaration',
20083
VariableDeclarator: 'VariableDeclarator',
20084
VoidTypeAnnotation: 'VoidTypeAnnotation',
20085
WhileStatement: 'WhileStatement',
20086
WithStatement: 'WithStatement',
20087
XJSIdentifier: 'XJSIdentifier',
20088
XJSNamespacedName: 'XJSNamespacedName',
20089
XJSMemberExpression: "XJSMemberExpression",
20090
XJSEmptyExpression: "XJSEmptyExpression",
20091
XJSExpressionContainer: "XJSExpressionContainer",
20092
XJSElement: 'XJSElement',
20093
XJSClosingElement: 'XJSClosingElement',
20094
XJSOpeningElement: 'XJSOpeningElement',
20095
XJSAttribute: "XJSAttribute",
20096
XJSSpreadAttribute: 'XJSSpreadAttribute',
20097
XJSText: 'XJSText',
20098
YieldExpression: 'YieldExpression',
20099
AwaitExpression: 'AwaitExpression'
20100
}
20101
},
20102
20103
'tokenize()': {
20104
call: 'tokenize',
20105
args: [],
20106
result: [{
20107
type: 'Identifier',
20108
value: 'undefined'
20109
}]
20110
},
20111
20112
'tokenize(null)': {
20113
call: 'tokenize',
20114
args: [null],
20115
result: [{
20116
type: 'Null',
20117
value: 'null'
20118
}]
20119
},
20120
20121
'tokenize(42)': {
20122
call: 'tokenize',
20123
args: [42],
20124
result: [{
20125
type: 'Numeric',
20126
value: '42'
20127
}]
20128
},
20129
20130
'tokenize(true)': {
20131
call: 'tokenize',
20132
args: [true],
20133
result: [{
20134
type: 'Boolean',
20135
value: 'true'
20136
}]
20137
},
20138
20139
'tokenize(undefined)': {
20140
call: 'tokenize',
20141
args: [void 0],
20142
result: [{
20143
type: 'Identifier',
20144
value: 'undefined'
20145
}]
20146
},
20147
20148
'tokenize(new String("test"))': {
20149
call: 'tokenize',
20150
args: [new String('test')],
20151
result: [{
20152
type: 'Identifier',
20153
value: 'test'
20154
}]
20155
},
20156
20157
'tokenize(new Number(42))': {
20158
call: 'tokenize',
20159
args: [new Number(42)],
20160
result: [{
20161
type: 'Numeric',
20162
value: '42'
20163
}]
20164
},
20165
20166
'tokenize(new Boolean(true))': {
20167
call: 'tokenize',
20168
args: [new Boolean(true)],
20169
result: [{
20170
type: 'Boolean',
20171
value: 'true'
20172
}]
20173
},
20174
20175
},
20176
20177
'Tolerant parse': {
20178
'return': {
20179
type: 'Program',
20180
body: [{
20181
type: 'ReturnStatement',
20182
'argument': null,
20183
range: [0, 6],
20184
loc: {
20185
start: { line: 1, column: 0 },
20186
end: { line: 1, column: 6 }
20187
}
20188
}],
20189
range: [0, 6],
20190
loc: {
20191
start: { line: 1, column: 0 },
20192
end: { line: 1, column: 6 }
20193
},
20194
errors: [{
20195
index: 6,
20196
lineNumber: 1,
20197
column: 7,
20198
message: 'Error: Line 1: Illegal return statement'
20199
}]
20200
},
20201
20202
'(function () { \'use strict\'; with (i); }())': {
20203
type: 'Program',
20204
body: [{
20205
type: 'ExpressionStatement',
20206
expression: {
20207
type: 'CallExpression',
20208
callee: {
20209
type: 'FunctionExpression',
20210
id: null,
20211
params: [],
20212
defaults: [],
20213
body: {
20214
type: 'BlockStatement',
20215
body: [{
20216
type: 'ExpressionStatement',
20217
expression: {
20218
type: 'Literal',
20219
value: 'use strict',
20220
raw: '\'use strict\'',
20221
range: [15, 27],
20222
loc: {
20223
start: { line: 1, column: 15 },
20224
end: { line: 1, column: 27 }
20225
}
20226
},
20227
range: [15, 28],
20228
loc: {
20229
start: { line: 1, column: 15 },
20230
end: { line: 1, column: 28 }
20231
}
20232
}, {
20233
type: 'WithStatement',
20234
object: {
20235
type: 'Identifier',
20236
name: 'i',
20237
range: [35, 36],
20238
loc: {
20239
start: { line: 1, column: 35 },
20240
end: { line: 1, column: 36 }
20241
}
20242
},
20243
body: {
20244
type: 'EmptyStatement',
20245
range: [37, 38],
20246
loc: {
20247
start: { line: 1, column: 37 },
20248
end: { line: 1, column: 38 }
20249
}
20250
},
20251
range: [29, 38],
20252
loc: {
20253
start: { line: 1, column: 29 },
20254
end: { line: 1, column: 38 }
20255
}
20256
}],
20257
range: [13, 40],
20258
loc: {
20259
start: { line: 1, column: 13 },
20260
end: { line: 1, column: 40 }
20261
}
20262
},
20263
rest: null,
20264
generator: false,
20265
expression: false,
20266
range: [1, 40],
20267
loc: {
20268
start: { line: 1, column: 1 },
20269
end: { line: 1, column: 40 }
20270
}
20271
},
20272
'arguments': [],
20273
range: [1, 42],
20274
loc: {
20275
start: { line: 1, column: 1 },
20276
end: { line: 1, column: 42 }
20277
}
20278
},
20279
range: [0, 43],
20280
loc: {
20281
start: { line: 1, column: 0 },
20282
end: { line: 1, column: 43 }
20283
}
20284
}],
20285
range: [0, 43],
20286
loc: {
20287
start: { line: 1, column: 0 },
20288
end: { line: 1, column: 43 }
20289
},
20290
errors: [{
20291
index: 29,
20292
lineNumber: 1,
20293
column: 30,
20294
message: 'Error: Line 1: Strict mode code may not include a with statement'
20295
}]
20296
},
20297
20298
'(function () { \'use strict\'; 021 }())': {
20299
type: 'Program',
20300
body: [{
20301
type: 'ExpressionStatement',
20302
expression: {
20303
type: 'CallExpression',
20304
callee: {
20305
type: 'FunctionExpression',
20306
id: null,
20307
params: [],
20308
defaults: [],
20309
body: {
20310
type: 'BlockStatement',
20311
body: [{
20312
type: 'ExpressionStatement',
20313
expression: {
20314
type: 'Literal',
20315
value: 'use strict',
20316
raw: '\'use strict\'',
20317
range: [15, 27],
20318
loc: {
20319
start: { line: 1, column: 15 },
20320
end: { line: 1, column: 27 }
20321
}
20322
},
20323
range: [15, 28],
20324
loc: {
20325
start: { line: 1, column: 15 },
20326
end: { line: 1, column: 28 }
20327
}
20328
}, {
20329
type: 'ExpressionStatement',
20330
expression: {
20331
type: 'Literal',
20332
value: 17,
20333
raw: "021",
20334
range: [29, 32],
20335
loc: {
20336
start: { line: 1, column: 29 },
20337
end: { line: 1, column: 32 }
20338
}
20339
},
20340
range: [29, 33],
20341
loc: {
20342
start: { line: 1, column: 29 },
20343
end: { line: 1, column: 33 }
20344
}
20345
}],
20346
range: [13, 34],
20347
loc: {
20348
start: { line: 1, column: 13 },
20349
end: { line: 1, column: 34 }
20350
}
20351
},
20352
rest: null,
20353
generator: false,
20354
expression: false,
20355
range: [1, 34],
20356
loc: {
20357
start: { line: 1, column: 1 },
20358
end: { line: 1, column: 34 }
20359
}
20360
},
20361
'arguments': [],
20362
range: [1, 36],
20363
loc: {
20364
start: { line: 1, column: 1 },
20365
end: { line: 1, column: 36 }
20366
}
20367
},
20368
range: [0, 37],
20369
loc: {
20370
start: { line: 1, column: 0 },
20371
end: { line: 1, column: 37 }
20372
}
20373
}],
20374
range: [0, 37],
20375
loc: {
20376
start: { line: 1, column: 0 },
20377
end: { line: 1, column: 37 }
20378
},
20379
errors: [{
20380
index: 29,
20381
lineNumber: 1,
20382
column: 30,
20383
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20384
}]
20385
},
20386
20387
'"use strict"; delete x': {
20388
type: 'Program',
20389
body: [{
20390
type: 'ExpressionStatement',
20391
expression: {
20392
type: 'Literal',
20393
value: 'use strict',
20394
raw: '"use strict"',
20395
range: [0, 12],
20396
loc: {
20397
start: { line: 1, column: 0 },
20398
end: { line: 1, column: 12 }
20399
}
20400
},
20401
range: [0, 13],
20402
loc: {
20403
start: { line: 1, column: 0 },
20404
end: { line: 1, column: 13 }
20405
}
20406
}, {
20407
type: 'ExpressionStatement',
20408
expression: {
20409
type: 'UnaryExpression',
20410
operator: 'delete',
20411
argument: {
20412
type: 'Identifier',
20413
name: 'x',
20414
range: [21, 22],
20415
loc: {
20416
start: { line: 1, column: 21 },
20417
end: { line: 1, column: 22 }
20418
}
20419
},
20420
prefix: true,
20421
range: [14, 22],
20422
loc: {
20423
start: { line: 1, column: 14 },
20424
end: { line: 1, column: 22 }
20425
}
20426
},
20427
range: [14, 22],
20428
loc: {
20429
start: { line: 1, column: 14 },
20430
end: { line: 1, column: 22 }
20431
}
20432
}],
20433
range: [0, 22],
20434
loc: {
20435
start: { line: 1, column: 0 },
20436
end: { line: 1, column: 22 }
20437
},
20438
errors: [{
20439
index: 22,
20440
lineNumber: 1,
20441
column: 23,
20442
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
20443
}]
20444
},
20445
20446
'"use strict"; try {} catch (eval) {}': {
20447
type: 'Program',
20448
body: [{
20449
type: 'ExpressionStatement',
20450
expression: {
20451
type: 'Literal',
20452
value: 'use strict',
20453
raw: '"use strict"',
20454
range: [0, 12],
20455
loc: {
20456
start: { line: 1, column: 0 },
20457
end: { line: 1, column: 12 }
20458
}
20459
},
20460
range: [0, 13],
20461
loc: {
20462
start: { line: 1, column: 0 },
20463
end: { line: 1, column: 13 }
20464
}
20465
}, {
20466
type: 'TryStatement',
20467
block: {
20468
type: 'BlockStatement',
20469
body: [],
20470
range: [18, 20],
20471
loc: {
20472
start: { line: 1, column: 18 },
20473
end: { line: 1, column: 20 }
20474
}
20475
},
20476
guardedHandlers: [],
20477
handlers: [{
20478
type: 'CatchClause',
20479
param: {
20480
type: 'Identifier',
20481
name: 'eval',
20482
range: [28, 32],
20483
loc: {
20484
start: { line: 1, column: 28 },
20485
end: { line: 1, column: 32 }
20486
}
20487
},
20488
body: {
20489
type: 'BlockStatement',
20490
body: [],
20491
range: [34, 36],
20492
loc: {
20493
start: { line: 1, column: 34 },
20494
end: { line: 1, column: 36 }
20495
}
20496
},
20497
range: [21, 36],
20498
loc: {
20499
start: { line: 1, column: 21 },
20500
end: { line: 1, column: 36 }
20501
}
20502
}],
20503
finalizer: null,
20504
range: [14, 36],
20505
loc: {
20506
start: { line: 1, column: 14 },
20507
end: { line: 1, column: 36 }
20508
}
20509
}],
20510
range: [0, 36],
20511
loc: {
20512
start: { line: 1, column: 0 },
20513
end: { line: 1, column: 36 }
20514
},
20515
errors: [{
20516
index: 32,
20517
lineNumber: 1,
20518
column: 33,
20519
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20520
}]
20521
},
20522
20523
'"use strict"; try {} catch (arguments) {}': {
20524
type: 'Program',
20525
body: [{
20526
type: 'ExpressionStatement',
20527
expression: {
20528
type: 'Literal',
20529
value: 'use strict',
20530
raw: '"use strict"',
20531
range: [0, 12],
20532
loc: {
20533
start: { line: 1, column: 0 },
20534
end: { line: 1, column: 12 }
20535
}
20536
},
20537
range: [0, 13],
20538
loc: {
20539
start: { line: 1, column: 0 },
20540
end: { line: 1, column: 13 }
20541
}
20542
}, {
20543
type: 'TryStatement',
20544
block: {
20545
type: 'BlockStatement',
20546
body: [],
20547
range: [18, 20],
20548
loc: {
20549
start: { line: 1, column: 18 },
20550
end: { line: 1, column: 20 }
20551
}
20552
},
20553
guardedHandlers: [],
20554
handlers: [{
20555
type: 'CatchClause',
20556
param: {
20557
type: 'Identifier',
20558
name: 'arguments',
20559
range: [28, 37],
20560
loc: {
20561
start: { line: 1, column: 28 },
20562
end: { line: 1, column: 37 }
20563
}
20564
},
20565
body: {
20566
type: 'BlockStatement',
20567
body: [],
20568
range: [39, 41],
20569
loc: {
20570
start: { line: 1, column: 39 },
20571
end: { line: 1, column: 41 }
20572
}
20573
},
20574
range: [21, 41],
20575
loc: {
20576
start: { line: 1, column: 21 },
20577
end: { line: 1, column: 41 }
20578
}
20579
}],
20580
finalizer: null,
20581
range: [14, 41],
20582
loc: {
20583
start: { line: 1, column: 14 },
20584
end: { line: 1, column: 41 }
20585
}
20586
}],
20587
range: [0, 41],
20588
loc: {
20589
start: { line: 1, column: 0 },
20590
end: { line: 1, column: 41 }
20591
},
20592
errors: [{
20593
index: 37,
20594
lineNumber: 1,
20595
column: 38,
20596
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20597
}]
20598
},
20599
20600
'"use strict"; var eval;': {
20601
type: 'Program',
20602
body: [{
20603
type: 'ExpressionStatement',
20604
expression: {
20605
type: 'Literal',
20606
value: 'use strict',
20607
raw: '"use strict"',
20608
range: [0, 12],
20609
loc: {
20610
start: { line: 1, column: 0 },
20611
end: { line: 1, column: 12 }
20612
}
20613
},
20614
range: [0, 13],
20615
loc: {
20616
start: { line: 1, column: 0 },
20617
end: { line: 1, column: 13 }
20618
}
20619
}, {
20620
type: 'VariableDeclaration',
20621
declarations: [{
20622
type: 'VariableDeclarator',
20623
id: {
20624
type: 'Identifier',
20625
name: 'eval',
20626
range: [18, 22],
20627
loc: {
20628
start: { line: 1, column: 18 },
20629
end: { line: 1, column: 22 }
20630
}
20631
},
20632
init: null,
20633
range: [18, 22],
20634
loc: {
20635
start: { line: 1, column: 18 },
20636
end: { line: 1, column: 22 }
20637
}
20638
}],
20639
kind: 'var',
20640
range: [14, 23],
20641
loc: {
20642
start: { line: 1, column: 14 },
20643
end: { line: 1, column: 23 }
20644
}
20645
}],
20646
range: [0, 23],
20647
loc: {
20648
start: { line: 1, column: 0 },
20649
end: { line: 1, column: 23 }
20650
},
20651
errors: [{
20652
index: 22,
20653
lineNumber: 1,
20654
column: 23,
20655
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20656
}]
20657
},
20658
20659
'"use strict"; var arguments;': {
20660
type: 'Program',
20661
body: [{
20662
type: 'ExpressionStatement',
20663
expression: {
20664
type: 'Literal',
20665
value: 'use strict',
20666
raw: '"use strict"',
20667
range: [0, 12],
20668
loc: {
20669
start: { line: 1, column: 0 },
20670
end: { line: 1, column: 12 }
20671
}
20672
},
20673
range: [0, 13],
20674
loc: {
20675
start: { line: 1, column: 0 },
20676
end: { line: 1, column: 13 }
20677
}
20678
}, {
20679
type: 'VariableDeclaration',
20680
declarations: [{
20681
type: 'VariableDeclarator',
20682
id: {
20683
type: 'Identifier',
20684
name: 'arguments',
20685
range: [18, 27],
20686
loc: {
20687
start: { line: 1, column: 18 },
20688
end: { line: 1, column: 27 }
20689
}
20690
},
20691
init: null,
20692
range: [18, 27],
20693
loc: {
20694
start: { line: 1, column: 18 },
20695
end: { line: 1, column: 27 }
20696
}
20697
}],
20698
kind: 'var',
20699
range: [14, 28],
20700
loc: {
20701
start: { line: 1, column: 14 },
20702
end: { line: 1, column: 28 }
20703
}
20704
}],
20705
range: [0, 28],
20706
loc: {
20707
start: { line: 1, column: 0 },
20708
end: { line: 1, column: 28 }
20709
},
20710
errors: [{
20711
index: 27,
20712
lineNumber: 1,
20713
column: 28,
20714
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20715
}]
20716
},
20717
20718
'"use strict"; eval = 0;': {
20719
type: 'Program',
20720
body: [{
20721
type: 'ExpressionStatement',
20722
expression: {
20723
type: 'Literal',
20724
value: 'use strict',
20725
raw: '"use strict"',
20726
range: [0, 12],
20727
loc: {
20728
start: { line: 1, column: 0 },
20729
end: { line: 1, column: 12 }
20730
}
20731
},
20732
range: [0, 13],
20733
loc: {
20734
start: { line: 1, column: 0 },
20735
end: { line: 1, column: 13 }
20736
}
20737
}, {
20738
type: 'ExpressionStatement',
20739
expression: {
20740
type: 'AssignmentExpression',
20741
operator: '=',
20742
left: {
20743
type: 'Identifier',
20744
name: 'eval',
20745
range: [14, 18],
20746
loc: {
20747
start: { line: 1, column: 14 },
20748
end: { line: 1, column: 18 }
20749
}
20750
},
20751
right: {
20752
type: 'Literal',
20753
value: 0,
20754
raw: '0',
20755
range: [21, 22],
20756
loc: {
20757
start: { line: 1, column: 21 },
20758
end: { line: 1, column: 22 }
20759
}
20760
},
20761
range: [14, 22],
20762
loc: {
20763
start: { line: 1, column: 14 },
20764
end: { line: 1, column: 22 }
20765
}
20766
},
20767
range: [14, 23],
20768
loc: {
20769
start: { line: 1, column: 14 },
20770
end: { line: 1, column: 23 }
20771
}
20772
}],
20773
range: [0, 23],
20774
loc: {
20775
start: { line: 1, column: 0 },
20776
end: { line: 1, column: 23 }
20777
},
20778
errors: [{
20779
index: 14,
20780
lineNumber: 1,
20781
column: 15,
20782
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20783
}]
20784
},
20785
20786
'"use strict"; eval++;': {
20787
type: 'Program',
20788
body: [{
20789
type: 'ExpressionStatement',
20790
expression: {
20791
type: 'Literal',
20792
value: 'use strict',
20793
raw: '"use strict"',
20794
range: [0, 12],
20795
loc: {
20796
start: { line: 1, column: 0 },
20797
end: { line: 1, column: 12 }
20798
}
20799
},
20800
range: [0, 13],
20801
loc: {
20802
start: { line: 1, column: 0 },
20803
end: { line: 1, column: 13 }
20804
}
20805
}, {
20806
type: 'ExpressionStatement',
20807
expression: {
20808
type: 'UpdateExpression',
20809
operator: '++',
20810
argument: {
20811
type: 'Identifier',
20812
name: 'eval',
20813
range: [14, 18],
20814
loc: {
20815
start: { line: 1, column: 14 },
20816
end: { line: 1, column: 18 }
20817
}
20818
},
20819
prefix: false,
20820
range: [14, 20],
20821
loc: {
20822
start: { line: 1, column: 14 },
20823
end: { line: 1, column: 20 }
20824
}
20825
},
20826
range: [14, 21],
20827
loc: {
20828
start: { line: 1, column: 14 },
20829
end: { line: 1, column: 21 }
20830
}
20831
}],
20832
range: [0, 21],
20833
loc: {
20834
start: { line: 1, column: 0 },
20835
end: { line: 1, column: 21 }
20836
},
20837
errors: [{
20838
index: 18,
20839
lineNumber: 1,
20840
column: 19,
20841
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20842
}]
20843
},
20844
20845
'"use strict"; --eval;': {
20846
type: 'Program',
20847
body: [{
20848
type: 'ExpressionStatement',
20849
expression: {
20850
type: 'Literal',
20851
value: 'use strict',
20852
raw: '"use strict"',
20853
range: [0, 12],
20854
loc: {
20855
start: { line: 1, column: 0 },
20856
end: { line: 1, column: 12 }
20857
}
20858
},
20859
range: [0, 13],
20860
loc: {
20861
start: { line: 1, column: 0 },
20862
end: { line: 1, column: 13 }
20863
}
20864
}, {
20865
type: 'ExpressionStatement',
20866
expression: {
20867
type: 'UpdateExpression',
20868
operator: '--',
20869
argument: {
20870
type: 'Identifier',
20871
name: 'eval',
20872
range: [16, 20],
20873
loc: {
20874
start: { line: 1, column: 16 },
20875
end: { line: 1, column: 20 }
20876
}
20877
},
20878
prefix: true,
20879
range: [14, 20],
20880
loc: {
20881
start: { line: 1, column: 14 },
20882
end: { line: 1, column: 20 }
20883
}
20884
},
20885
range: [14, 21],
20886
loc: {
20887
start: { line: 1, column: 14 },
20888
end: { line: 1, column: 21 }
20889
}
20890
}],
20891
range: [0, 21],
20892
loc: {
20893
start: { line: 1, column: 0 },
20894
end: { line: 1, column: 21 }
20895
},
20896
errors: [{
20897
index: 20,
20898
lineNumber: 1,
20899
column: 21,
20900
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20901
}]
20902
},
20903
20904
'"use strict"; arguments = 0;': {
20905
type: 'Program',
20906
body: [{
20907
type: 'ExpressionStatement',
20908
expression: {
20909
type: 'Literal',
20910
value: 'use strict',
20911
raw: '"use strict"',
20912
range: [0, 12],
20913
loc: {
20914
start: { line: 1, column: 0 },
20915
end: { line: 1, column: 12 }
20916
}
20917
},
20918
range: [0, 13],
20919
loc: {
20920
start: { line: 1, column: 0 },
20921
end: { line: 1, column: 13 }
20922
}
20923
}, {
20924
type: 'ExpressionStatement',
20925
expression: {
20926
type: 'AssignmentExpression',
20927
operator: '=',
20928
left: {
20929
type: 'Identifier',
20930
name: 'arguments',
20931
range: [14, 23],
20932
loc: {
20933
start: { line: 1, column: 14 },
20934
end: { line: 1, column: 23 }
20935
}
20936
},
20937
right: {
20938
type: 'Literal',
20939
value: 0,
20940
raw: '0',
20941
range: [26, 27],
20942
loc: {
20943
start: { line: 1, column: 26 },
20944
end: { line: 1, column: 27 }
20945
}
20946
},
20947
range: [14, 27],
20948
loc: {
20949
start: { line: 1, column: 14 },
20950
end: { line: 1, column: 27 }
20951
}
20952
},
20953
range: [14, 28],
20954
loc: {
20955
start: { line: 1, column: 14 },
20956
end: { line: 1, column: 28 }
20957
}
20958
}],
20959
range: [0, 28],
20960
loc: {
20961
start: { line: 1, column: 0 },
20962
end: { line: 1, column: 28 }
20963
},
20964
errors: [{
20965
index: 14,
20966
lineNumber: 1,
20967
column: 15,
20968
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20969
}]
20970
},
20971
20972
'"use strict"; arguments--;': {
20973
type: 'Program',
20974
body: [{
20975
type: 'ExpressionStatement',
20976
expression: {
20977
type: 'Literal',
20978
value: 'use strict',
20979
raw: '"use strict"',
20980
range: [0, 12],
20981
loc: {
20982
start: { line: 1, column: 0 },
20983
end: { line: 1, column: 12 }
20984
}
20985
},
20986
range: [0, 13],
20987
loc: {
20988
start: { line: 1, column: 0 },
20989
end: { line: 1, column: 13 }
20990
}
20991
}, {
20992
type: 'ExpressionStatement',
20993
expression: {
20994
type: 'UpdateExpression',
20995
operator: '--',
20996
argument: {
20997
type: 'Identifier',
20998
name: 'arguments',
20999
range: [14, 23],
21000
loc: {
21001
start: { line: 1, column: 14 },
21002
end: { line: 1, column: 23 }
21003
}
21004
},
21005
prefix: false,
21006
range: [14, 25],
21007
loc: {
21008
start: { line: 1, column: 14 },
21009
end: { line: 1, column: 25 }
21010
}
21011
},
21012
range: [14, 26],
21013
loc: {
21014
start: { line: 1, column: 14 },
21015
end: { line: 1, column: 26 }
21016
}
21017
}],
21018
range: [0, 26],
21019
loc: {
21020
start: { line: 1, column: 0 },
21021
end: { line: 1, column: 26 }
21022
},
21023
errors: [{
21024
index: 23,
21025
lineNumber: 1,
21026
column: 24,
21027
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
21028
}]
21029
},
21030
21031
'"use strict"; ++arguments;': {
21032
type: 'Program',
21033
body: [{
21034
type: 'ExpressionStatement',
21035
expression: {
21036
type: 'Literal',
21037
value: 'use strict',
21038
raw: '"use strict"',
21039
range: [0, 12],
21040
loc: {
21041
start: { line: 1, column: 0 },
21042
end: { line: 1, column: 12 }
21043
}
21044
},
21045
range: [0, 13],
21046
loc: {
21047
start: { line: 1, column: 0 },
21048
end: { line: 1, column: 13 }
21049
}
21050
}, {
21051
type: 'ExpressionStatement',
21052
expression: {
21053
type: 'UpdateExpression',
21054
operator: '++',
21055
argument: {
21056
type: 'Identifier',
21057
name: 'arguments',
21058
range: [16, 25],
21059
loc: {
21060
start: { line: 1, column: 16 },
21061
end: { line: 1, column: 25 }
21062
}
21063
},
21064
prefix: true,
21065
range: [14, 25],
21066
loc: {
21067
start: { line: 1, column: 14 },
21068
end: { line: 1, column: 25 }
21069
}
21070
},
21071
range: [14, 26],
21072
loc: {
21073
start: { line: 1, column: 14 },
21074
end: { line: 1, column: 26 }
21075
}
21076
}],
21077
range: [0, 26],
21078
loc: {
21079
start: { line: 1, column: 0 },
21080
end: { line: 1, column: 26 }
21081
},
21082
errors: [{
21083
index: 25,
21084
lineNumber: 1,
21085
column: 26,
21086
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
21087
}]
21088
},
21089
21090
21091
'"use strict";x={y:1,y:1}': {
21092
type: 'Program',
21093
body: [{
21094
type: 'ExpressionStatement',
21095
expression: {
21096
type: 'Literal',
21097
value: 'use strict',
21098
raw: '"use strict"',
21099
range: [0, 12],
21100
loc: {
21101
start: { line: 1, column: 0 },
21102
end: { line: 1, column: 12 }
21103
}
21104
},
21105
range: [0, 13],
21106
loc: {
21107
start: { line: 1, column: 0 },
21108
end: { line: 1, column: 13 }
21109
}
21110
}, {
21111
type: 'ExpressionStatement',
21112
expression: {
21113
type: 'AssignmentExpression',
21114
operator: '=',
21115
left: {
21116
type: 'Identifier',
21117
name: 'x',
21118
range: [13, 14],
21119
loc: {
21120
start: { line: 1, column: 13 },
21121
end: { line: 1, column: 14 }
21122
}
21123
},
21124
right: {
21125
type: 'ObjectExpression',
21126
properties: [{
21127
type: 'Property',
21128
key: {
21129
type: 'Identifier',
21130
name: 'y',
21131
range: [16, 17],
21132
loc: {
21133
start: { line: 1, column: 16 },
21134
end: { line: 1, column: 17 }
21135
}
21136
},
21137
value: {
21138
type: 'Literal',
21139
value: 1,
21140
raw: '1',
21141
range: [18, 19],
21142
loc: {
21143
start: { line: 1, column: 18 },
21144
end: { line: 1, column: 19 }
21145
}
21146
},
21147
kind: 'init',
21148
method: false,
21149
shorthand: false,
21150
computed: false,
21151
range: [16, 19],
21152
loc: {
21153
start: { line: 1, column: 16 },
21154
end: { line: 1, column: 19 }
21155
}
21156
}, {
21157
type: 'Property',
21158
key: {
21159
type: 'Identifier',
21160
name: 'y',
21161
range: [20, 21],
21162
loc: {
21163
start: { line: 1, column: 20 },
21164
end: { line: 1, column: 21 }
21165
}
21166
},
21167
value: {
21168
type: 'Literal',
21169
value: 1,
21170
raw: '1',
21171
range: [22, 23],
21172
loc: {
21173
start: { line: 1, column: 22 },
21174
end: { line: 1, column: 23 }
21175
}
21176
},
21177
kind: 'init',
21178
method: false,
21179
shorthand: false,
21180
computed: false,
21181
range: [20, 23],
21182
loc: {
21183
start: { line: 1, column: 20 },
21184
end: { line: 1, column: 23 }
21185
}
21186
}],
21187
range: [15, 24],
21188
loc: {
21189
start: { line: 1, column: 15 },
21190
end: { line: 1, column: 24 }
21191
}
21192
},
21193
range: [13, 24],
21194
loc: {
21195
start: { line: 1, column: 13 },
21196
end: { line: 1, column: 24 }
21197
}
21198
},
21199
range: [13, 24],
21200
loc: {
21201
start: { line: 1, column: 13 },
21202
end: { line: 1, column: 24 }
21203
}
21204
}],
21205
range: [0, 24],
21206
loc: {
21207
start: { line: 1, column: 0 },
21208
end: { line: 1, column: 24 }
21209
},
21210
errors: [{
21211
index: 23,
21212
lineNumber: 1,
21213
column: 24,
21214
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
21215
}]
21216
},
21217
21218
'"use strict"; function eval() {};': {
21219
type: 'Program',
21220
body: [{
21221
type: 'ExpressionStatement',
21222
expression: {
21223
type: 'Literal',
21224
value: 'use strict',
21225
raw: '"use strict"',
21226
range: [0, 12],
21227
loc: {
21228
start: { line: 1, column: 0 },
21229
end: { line: 1, column: 12 }
21230
}
21231
},
21232
range: [0, 13],
21233
loc: {
21234
start: { line: 1, column: 0 },
21235
end: { line: 1, column: 13 }
21236
}
21237
}, {
21238
type: 'FunctionDeclaration',
21239
id: {
21240
type: 'Identifier',
21241
name: 'eval',
21242
range: [23, 27],
21243
loc: {
21244
start: { line: 1, column: 23 },
21245
end: { line: 1, column: 27 }
21246
}
21247
},
21248
params: [],
21249
defaults: [],
21250
body: {
21251
type: 'BlockStatement',
21252
body: [],
21253
range: [30, 32],
21254
loc: {
21255
start: { line: 1, column: 30 },
21256
end: { line: 1, column: 32 }
21257
}
21258
},
21259
rest: null,
21260
generator: false,
21261
expression: false,
21262
range: [14, 32],
21263
loc: {
21264
start: { line: 1, column: 14 },
21265
end: { line: 1, column: 32 }
21266
}
21267
}, {
21268
type: 'EmptyStatement',
21269
range: [32, 33],
21270
loc: {
21271
start: { line: 1, column: 32 },
21272
end: { line: 1, column: 33 }
21273
}
21274
}],
21275
range: [0, 33],
21276
loc: {
21277
start: { line: 1, column: 0 },
21278
end: { line: 1, column: 33 }
21279
},
21280
errors: [{
21281
index: 23,
21282
lineNumber: 1,
21283
column: 24,
21284
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21285
}]
21286
},
21287
21288
'"use strict"; function arguments() {};': {
21289
type: 'Program',
21290
body: [{
21291
type: 'ExpressionStatement',
21292
expression: {
21293
type: 'Literal',
21294
value: 'use strict',
21295
raw: '"use strict"',
21296
range: [0, 12],
21297
loc: {
21298
start: { line: 1, column: 0 },
21299
end: { line: 1, column: 12 }
21300
}
21301
},
21302
range: [0, 13],
21303
loc: {
21304
start: { line: 1, column: 0 },
21305
end: { line: 1, column: 13 }
21306
}
21307
}, {
21308
type: 'FunctionDeclaration',
21309
id: {
21310
type: 'Identifier',
21311
name: 'arguments',
21312
range: [23, 32],
21313
loc: {
21314
start: { line: 1, column: 23 },
21315
end: { line: 1, column: 32 }
21316
}
21317
},
21318
params: [],
21319
defaults: [],
21320
body: {
21321
type: 'BlockStatement',
21322
body: [],
21323
range: [35, 37],
21324
loc: {
21325
start: { line: 1, column: 35 },
21326
end: { line: 1, column: 37 }
21327
}
21328
},
21329
rest: null,
21330
generator: false,
21331
expression: false,
21332
range: [14, 37],
21333
loc: {
21334
start: { line: 1, column: 14 },
21335
end: { line: 1, column: 37 }
21336
}
21337
}, {
21338
type: 'EmptyStatement',
21339
range: [37, 38],
21340
loc: {
21341
start: { line: 1, column: 37 },
21342
end: { line: 1, column: 38 }
21343
}
21344
}],
21345
range: [0, 38],
21346
loc: {
21347
start: { line: 1, column: 0 },
21348
end: { line: 1, column: 38 }
21349
},
21350
errors: [{
21351
index: 23,
21352
lineNumber: 1,
21353
column: 24,
21354
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21355
}]
21356
},
21357
21358
'"use strict"; function interface() {};': {
21359
type: 'Program',
21360
body: [{
21361
type: 'ExpressionStatement',
21362
expression: {
21363
type: 'Literal',
21364
value: 'use strict',
21365
raw: '"use strict"',
21366
range: [0, 12],
21367
loc: {
21368
start: { line: 1, column: 0 },
21369
end: { line: 1, column: 12 }
21370
}
21371
},
21372
range: [0, 13],
21373
loc: {
21374
start: { line: 1, column: 0 },
21375
end: { line: 1, column: 13 }
21376
}
21377
}, {
21378
type: 'FunctionDeclaration',
21379
id: {
21380
type: 'Identifier',
21381
name: 'interface',
21382
range: [23, 32],
21383
loc: {
21384
start: { line: 1, column: 23 },
21385
end: { line: 1, column: 32 }
21386
}
21387
},
21388
params: [],
21389
defaults: [],
21390
body: {
21391
type: 'BlockStatement',
21392
body: [],
21393
range: [35, 37],
21394
loc: {
21395
start: { line: 1, column: 35 },
21396
end: { line: 1, column: 37 }
21397
}
21398
},
21399
rest: null,
21400
generator: false,
21401
expression: false,
21402
range: [14, 37],
21403
loc: {
21404
start: { line: 1, column: 14 },
21405
end: { line: 1, column: 37 }
21406
}
21407
}, {
21408
type: 'EmptyStatement',
21409
range: [37, 38],
21410
loc: {
21411
start: { line: 1, column: 37 },
21412
end: { line: 1, column: 38 }
21413
}
21414
}],
21415
range: [0, 38],
21416
loc: {
21417
start: { line: 1, column: 0 },
21418
end: { line: 1, column: 38 }
21419
},
21420
errors: [{
21421
index: 23,
21422
lineNumber: 1,
21423
column: 24,
21424
message: 'Error: Line 1: Use of future reserved word in strict mode'
21425
}]
21426
},
21427
21428
'"use strict"; (function eval() {});': {
21429
type: 'Program',
21430
body: [{
21431
type: 'ExpressionStatement',
21432
expression: {
21433
type: 'Literal',
21434
value: 'use strict',
21435
raw: '"use strict"',
21436
range: [0, 12],
21437
loc: {
21438
start: { line: 1, column: 0 },
21439
end: { line: 1, column: 12 }
21440
}
21441
},
21442
range: [0, 13],
21443
loc: {
21444
start: { line: 1, column: 0 },
21445
end: { line: 1, column: 13 }
21446
}
21447
}, {
21448
type: 'ExpressionStatement',
21449
expression: {
21450
type: 'FunctionExpression',
21451
id: {
21452
type: 'Identifier',
21453
name: 'eval',
21454
range: [24, 28],
21455
loc: {
21456
start: { line: 1, column: 24 },
21457
end: { line: 1, column: 28 }
21458
}
21459
},
21460
params: [],
21461
defaults: [],
21462
body: {
21463
type: 'BlockStatement',
21464
body: [],
21465
range: [31, 33],
21466
loc: {
21467
start: { line: 1, column: 31 },
21468
end: { line: 1, column: 33 }
21469
}
21470
},
21471
rest: null,
21472
generator: false,
21473
expression: false,
21474
range: [15, 33],
21475
loc: {
21476
start: { line: 1, column: 15 },
21477
end: { line: 1, column: 33 }
21478
}
21479
},
21480
range: [14, 35],
21481
loc: {
21482
start: { line: 1, column: 14 },
21483
end: { line: 1, column: 35 }
21484
}
21485
}],
21486
range: [0, 35],
21487
loc: {
21488
start: { line: 1, column: 0 },
21489
end: { line: 1, column: 35 }
21490
},
21491
errors: [{
21492
index: 24,
21493
lineNumber: 1,
21494
column: 25,
21495
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21496
}]
21497
},
21498
21499
'"use strict"; (function arguments() {});': {
21500
type: 'Program',
21501
body: [{
21502
type: 'ExpressionStatement',
21503
expression: {
21504
type: 'Literal',
21505
value: 'use strict',
21506
raw: '"use strict"',
21507
range: [0, 12],
21508
loc: {
21509
start: { line: 1, column: 0 },
21510
end: { line: 1, column: 12 }
21511
}
21512
},
21513
range: [0, 13],
21514
loc: {
21515
start: { line: 1, column: 0 },
21516
end: { line: 1, column: 13 }
21517
}
21518
}, {
21519
type: 'ExpressionStatement',
21520
expression: {
21521
type: 'FunctionExpression',
21522
id: {
21523
type: 'Identifier',
21524
name: 'arguments',
21525
range: [24, 33],
21526
loc: {
21527
start: { line: 1, column: 24 },
21528
end: { line: 1, column: 33 }
21529
}
21530
},
21531
params: [],
21532
defaults: [],
21533
body: {
21534
type: 'BlockStatement',
21535
body: [],
21536
range: [36, 38],
21537
loc: {
21538
start: { line: 1, column: 36 },
21539
end: { line: 1, column: 38 }
21540
}
21541
},
21542
rest: null,
21543
generator: false,
21544
expression: false,
21545
range: [15, 38],
21546
loc: {
21547
start: { line: 1, column: 15 },
21548
end: { line: 1, column: 38 }
21549
}
21550
},
21551
range: [14, 40],
21552
loc: {
21553
start: { line: 1, column: 14 },
21554
end: { line: 1, column: 40 }
21555
}
21556
}],
21557
range: [0, 40],
21558
loc: {
21559
start: { line: 1, column: 0 },
21560
end: { line: 1, column: 40 }
21561
},
21562
errors: [{
21563
index: 24,
21564
lineNumber: 1,
21565
column: 25,
21566
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21567
}]
21568
},
21569
21570
'"use strict"; (function interface() {});': {
21571
type: 'Program',
21572
body: [{
21573
type: 'ExpressionStatement',
21574
expression: {
21575
type: 'Literal',
21576
value: 'use strict',
21577
raw: '"use strict"',
21578
range: [0, 12],
21579
loc: {
21580
start: { line: 1, column: 0 },
21581
end: { line: 1, column: 12 }
21582
}
21583
},
21584
range: [0, 13],
21585
loc: {
21586
start: { line: 1, column: 0 },
21587
end: { line: 1, column: 13 }
21588
}
21589
}, {
21590
type: 'ExpressionStatement',
21591
expression: {
21592
type: 'FunctionExpression',
21593
id: {
21594
type: 'Identifier',
21595
name: 'interface',
21596
range: [24, 33],
21597
loc: {
21598
start: { line: 1, column: 24 },
21599
end: { line: 1, column: 33 }
21600
}
21601
},
21602
params: [],
21603
defaults: [],
21604
body: {
21605
type: 'BlockStatement',
21606
body: [],
21607
range: [36, 38],
21608
loc: {
21609
start: { line: 1, column: 36 },
21610
end: { line: 1, column: 38 }
21611
}
21612
},
21613
rest: null,
21614
generator: false,
21615
expression: false,
21616
range: [15, 38],
21617
loc: {
21618
start: { line: 1, column: 15 },
21619
end: { line: 1, column: 38 }
21620
}
21621
},
21622
range: [14, 40],
21623
loc: {
21624
start: { line: 1, column: 14 },
21625
end: { line: 1, column: 40 }
21626
}
21627
}],
21628
range: [0, 40],
21629
loc: {
21630
start: { line: 1, column: 0 },
21631
end: { line: 1, column: 40 }
21632
},
21633
errors: [{
21634
index: 24,
21635
lineNumber: 1,
21636
column: 25,
21637
message: 'Error: Line 1: Use of future reserved word in strict mode'
21638
}]
21639
},
21640
21641
'"use strict"; function f(eval) {};': {
21642
type: 'Program',
21643
body: [{
21644
type: 'ExpressionStatement',
21645
expression: {
21646
type: 'Literal',
21647
value: 'use strict',
21648
raw: '"use strict"',
21649
range: [0, 12],
21650
loc: {
21651
start: { line: 1, column: 0 },
21652
end: { line: 1, column: 12 }
21653
}
21654
},
21655
range: [0, 13],
21656
loc: {
21657
start: { line: 1, column: 0 },
21658
end: { line: 1, column: 13 }
21659
}
21660
}, {
21661
type: 'FunctionDeclaration',
21662
id: {
21663
type: 'Identifier',
21664
name: 'f',
21665
range: [23, 24],
21666
loc: {
21667
start: { line: 1, column: 23 },
21668
end: { line: 1, column: 24 }
21669
}
21670
},
21671
params: [{
21672
type: 'Identifier',
21673
name: 'eval',
21674
range: [25, 29],
21675
loc: {
21676
start: { line: 1, column: 25 },
21677
end: { line: 1, column: 29 }
21678
}
21679
}],
21680
defaults: [],
21681
body: {
21682
type: 'BlockStatement',
21683
body: [],
21684
range: [31, 33],
21685
loc: {
21686
start: { line: 1, column: 31 },
21687
end: { line: 1, column: 33 }
21688
}
21689
},
21690
rest: null,
21691
generator: false,
21692
expression: false,
21693
range: [14, 33],
21694
loc: {
21695
start: { line: 1, column: 14 },
21696
end: { line: 1, column: 33 }
21697
}
21698
}, {
21699
type: 'EmptyStatement',
21700
range: [33, 34],
21701
loc: {
21702
start: { line: 1, column: 33 },
21703
end: { line: 1, column: 34 }
21704
}
21705
}],
21706
range: [0, 34],
21707
loc: {
21708
start: { line: 1, column: 0 },
21709
end: { line: 1, column: 34 }
21710
},
21711
errors: [{
21712
index: 25,
21713
lineNumber: 1,
21714
column: 26,
21715
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21716
}]
21717
},
21718
21719
'"use strict"; function f(arguments) {};': {
21720
type: 'Program',
21721
body: [{
21722
type: 'ExpressionStatement',
21723
expression: {
21724
type: 'Literal',
21725
value: 'use strict',
21726
raw: '"use strict"',
21727
range: [0, 12],
21728
loc: {
21729
start: { line: 1, column: 0 },
21730
end: { line: 1, column: 12 }
21731
}
21732
},
21733
range: [0, 13],
21734
loc: {
21735
start: { line: 1, column: 0 },
21736
end: { line: 1, column: 13 }
21737
}
21738
}, {
21739
type: 'FunctionDeclaration',
21740
id: {
21741
type: 'Identifier',
21742
name: 'f',
21743
range: [23, 24],
21744
loc: {
21745
start: { line: 1, column: 23 },
21746
end: { line: 1, column: 24 }
21747
}
21748
},
21749
params: [{
21750
type: 'Identifier',
21751
name: 'arguments',
21752
range: [25, 34],
21753
loc: {
21754
start: { line: 1, column: 25 },
21755
end: { line: 1, column: 34 }
21756
}
21757
}],
21758
defaults: [],
21759
body: {
21760
type: 'BlockStatement',
21761
body: [],
21762
range: [36, 38],
21763
loc: {
21764
start: { line: 1, column: 36 },
21765
end: { line: 1, column: 38 }
21766
}
21767
},
21768
rest: null,
21769
generator: false,
21770
expression: false,
21771
range: [14, 38],
21772
loc: {
21773
start: { line: 1, column: 14 },
21774
end: { line: 1, column: 38 }
21775
}
21776
}, {
21777
type: 'EmptyStatement',
21778
range: [38, 39],
21779
loc: {
21780
start: { line: 1, column: 38 },
21781
end: { line: 1, column: 39 }
21782
}
21783
}],
21784
range: [0, 39],
21785
loc: {
21786
start: { line: 1, column: 0 },
21787
end: { line: 1, column: 39 }
21788
},
21789
errors: [{
21790
index: 25,
21791
lineNumber: 1,
21792
column: 26,
21793
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21794
}]
21795
},
21796
21797
'"use strict"; function f(foo, foo) {};': {
21798
type: 'Program',
21799
body: [{
21800
type: 'ExpressionStatement',
21801
expression: {
21802
type: 'Literal',
21803
value: 'use strict',
21804
raw: '"use strict"',
21805
range: [0, 12],
21806
loc: {
21807
start: { line: 1, column: 0 },
21808
end: { line: 1, column: 12 }
21809
}
21810
},
21811
range: [0, 13],
21812
loc: {
21813
start: { line: 1, column: 0 },
21814
end: { line: 1, column: 13 }
21815
}
21816
}, {
21817
type: 'FunctionDeclaration',
21818
id: {
21819
type: 'Identifier',
21820
name: 'f',
21821
range: [23, 24],
21822
loc: {
21823
start: { line: 1, column: 23 },
21824
end: { line: 1, column: 24 }
21825
}
21826
},
21827
params: [{
21828
type: 'Identifier',
21829
name: 'foo',
21830
range: [25, 28],
21831
loc: {
21832
start: { line: 1, column: 25 },
21833
end: { line: 1, column: 28 }
21834
}
21835
}, {
21836
type: 'Identifier',
21837
name: 'foo',
21838
range: [31, 34],
21839
loc: {
21840
start: { line: 1, column: 31 },
21841
end: { line: 1, column: 34 }
21842
}
21843
}],
21844
defaults: [],
21845
body: {
21846
type: 'BlockStatement',
21847
body: [],
21848
range: [36, 38],
21849
loc: {
21850
start: { line: 1, column: 36 },
21851
end: { line: 1, column: 38 }
21852
}
21853
},
21854
rest: null,
21855
generator: false,
21856
expression: false,
21857
range: [14, 38],
21858
loc: {
21859
start: { line: 1, column: 14 },
21860
end: { line: 1, column: 38 }
21861
}
21862
}, {
21863
type: 'EmptyStatement',
21864
range: [38, 39],
21865
loc: {
21866
start: { line: 1, column: 38 },
21867
end: { line: 1, column: 39 }
21868
}
21869
}],
21870
range: [0, 39],
21871
loc: {
21872
start: { line: 1, column: 0 },
21873
end: { line: 1, column: 39 }
21874
},
21875
errors: [{
21876
index: 31,
21877
lineNumber: 1,
21878
column: 32,
21879
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
21880
}]
21881
},
21882
21883
'"use strict"; (function f(eval) {});': {
21884
type: 'Program',
21885
body: [{
21886
type: 'ExpressionStatement',
21887
expression: {
21888
type: 'Literal',
21889
value: 'use strict',
21890
raw: '"use strict"',
21891
range: [0, 12],
21892
loc: {
21893
start: { line: 1, column: 0 },
21894
end: { line: 1, column: 12 }
21895
}
21896
},
21897
range: [0, 13],
21898
loc: {
21899
start: { line: 1, column: 0 },
21900
end: { line: 1, column: 13 }
21901
}
21902
}, {
21903
type: 'ExpressionStatement',
21904
expression: {
21905
type: 'FunctionExpression',
21906
id: {
21907
type: 'Identifier',
21908
name: 'f',
21909
range: [24, 25],
21910
loc: {
21911
start: { line: 1, column: 24 },
21912
end: { line: 1, column: 25 }
21913
}
21914
},
21915
params: [{
21916
type: 'Identifier',
21917
name: 'eval',
21918
range: [26, 30],
21919
loc: {
21920
start: { line: 1, column: 26 },
21921
end: { line: 1, column: 30 }
21922
}
21923
}],
21924
defaults: [],
21925
body: {
21926
type: 'BlockStatement',
21927
body: [],
21928
range: [32, 34],
21929
loc: {
21930
start: { line: 1, column: 32 },
21931
end: { line: 1, column: 34 }
21932
}
21933
},
21934
rest: null,
21935
generator: false,
21936
expression: false,
21937
range: [15, 34],
21938
loc: {
21939
start: { line: 1, column: 15 },
21940
end: { line: 1, column: 34 }
21941
}
21942
},
21943
range: [14, 36],
21944
loc: {
21945
start: { line: 1, column: 14 },
21946
end: { line: 1, column: 36 }
21947
}
21948
}],
21949
range: [0, 36],
21950
loc: {
21951
start: { line: 1, column: 0 },
21952
end: { line: 1, column: 36 }
21953
},
21954
errors: [{
21955
index: 26,
21956
lineNumber: 1,
21957
column: 27,
21958
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21959
}]
21960
},
21961
21962
21963
'"use strict"; (function f(arguments) {});': {
21964
type: 'Program',
21965
body: [{
21966
type: 'ExpressionStatement',
21967
expression: {
21968
type: 'Literal',
21969
value: 'use strict',
21970
raw: '"use strict"',
21971
range: [0, 12],
21972
loc: {
21973
start: { line: 1, column: 0 },
21974
end: { line: 1, column: 12 }
21975
}
21976
},
21977
range: [0, 13],
21978
loc: {
21979
start: { line: 1, column: 0 },
21980
end: { line: 1, column: 13 }
21981
}
21982
}, {
21983
type: 'ExpressionStatement',
21984
expression: {
21985
type: 'FunctionExpression',
21986
id: {
21987
type: 'Identifier',
21988
name: 'f',
21989
range: [24, 25],
21990
loc: {
21991
start: { line: 1, column: 24 },
21992
end: { line: 1, column: 25 }
21993
}
21994
},
21995
params: [{
21996
type: 'Identifier',
21997
name: 'arguments',
21998
range: [26, 35],
21999
loc: {
22000
start: { line: 1, column: 26 },
22001
end: { line: 1, column: 35 }
22002
}
22003
}],
22004
defaults: [],
22005
body: {
22006
type: 'BlockStatement',
22007
body: [],
22008
range: [37, 39],
22009
loc: {
22010
start: { line: 1, column: 37 },
22011
end: { line: 1, column: 39 }
22012
}
22013
},
22014
rest: null,
22015
generator: false,
22016
expression: false,
22017
range: [15, 39],
22018
loc: {
22019
start: { line: 1, column: 15 },
22020
end: { line: 1, column: 39 }
22021
}
22022
},
22023
range: [14, 41],
22024
loc: {
22025
start: { line: 1, column: 14 },
22026
end: { line: 1, column: 41 }
22027
}
22028
}],
22029
range: [0, 41],
22030
loc: {
22031
start: { line: 1, column: 0 },
22032
end: { line: 1, column: 41 }
22033
},
22034
errors: [{
22035
index: 26,
22036
lineNumber: 1,
22037
column: 27,
22038
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22039
}]
22040
},
22041
22042
'"use strict"; (function f(foo, foo) {});': {
22043
type: 'Program',
22044
body: [{
22045
type: 'ExpressionStatement',
22046
expression: {
22047
type: 'Literal',
22048
value: 'use strict',
22049
raw: '"use strict"',
22050
range: [0, 12],
22051
loc: {
22052
start: { line: 1, column: 0 },
22053
end: { line: 1, column: 12 }
22054
}
22055
},
22056
range: [0, 13],
22057
loc: {
22058
start: { line: 1, column: 0 },
22059
end: { line: 1, column: 13 }
22060
}
22061
}, {
22062
type: 'ExpressionStatement',
22063
expression: {
22064
type: 'FunctionExpression',
22065
id: {
22066
type: 'Identifier',
22067
name: 'f',
22068
range: [24, 25],
22069
loc: {
22070
start: { line: 1, column: 24 },
22071
end: { line: 1, column: 25 }
22072
}
22073
},
22074
params: [{
22075
type: 'Identifier',
22076
name: 'foo',
22077
range: [26, 29],
22078
loc: {
22079
start: { line: 1, column: 26 },
22080
end: { line: 1, column: 29 }
22081
}
22082
}, {
22083
type: 'Identifier',
22084
name: 'foo',
22085
range: [32, 35],
22086
loc: {
22087
start: { line: 1, column: 32 },
22088
end: { line: 1, column: 35 }
22089
}
22090
}],
22091
defaults: [],
22092
body: {
22093
type: 'BlockStatement',
22094
body: [],
22095
range: [37, 39],
22096
loc: {
22097
start: { line: 1, column: 37 },
22098
end: { line: 1, column: 39 }
22099
}
22100
},
22101
rest: null,
22102
generator: false,
22103
expression: false,
22104
range: [15, 39],
22105
loc: {
22106
start: { line: 1, column: 15 },
22107
end: { line: 1, column: 39 }
22108
}
22109
},
22110
range: [14, 41],
22111
loc: {
22112
start: { line: 1, column: 14 },
22113
end: { line: 1, column: 41 }
22114
}
22115
}],
22116
range: [0, 41],
22117
loc: {
22118
start: { line: 1, column: 0 },
22119
end: { line: 1, column: 41 }
22120
},
22121
errors: [{
22122
index: 32,
22123
lineNumber: 1,
22124
column: 33,
22125
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
22126
}]
22127
},
22128
22129
'"use strict"; x = { set f(eval) {} }' : {
22130
type: 'Program',
22131
body: [{
22132
type: 'ExpressionStatement',
22133
expression: {
22134
type: 'Literal',
22135
value: 'use strict',
22136
raw: '"use strict"',
22137
range: [0, 12],
22138
loc: {
22139
start: { line: 1, column: 0 },
22140
end: { line: 1, column: 12 }
22141
}
22142
},
22143
range: [0, 13],
22144
loc: {
22145
start: { line: 1, column: 0 },
22146
end: { line: 1, column: 13 }
22147
}
22148
}, {
22149
type: 'ExpressionStatement',
22150
expression: {
22151
type: 'AssignmentExpression',
22152
operator: '=',
22153
left: {
22154
type: 'Identifier',
22155
name: 'x',
22156
range: [14, 15],
22157
loc: {
22158
start: { line: 1, column: 14 },
22159
end: { line: 1, column: 15 }
22160
}
22161
},
22162
right: {
22163
type: 'ObjectExpression',
22164
properties: [{
22165
type: 'Property',
22166
key: {
22167
type: 'Identifier',
22168
name: 'f',
22169
range: [24, 25],
22170
loc: {
22171
start: { line: 1, column: 24 },
22172
end: { line: 1, column: 25 }
22173
}
22174
},
22175
value : {
22176
type: 'FunctionExpression',
22177
id: null,
22178
params: [{
22179
type: 'Identifier',
22180
name: 'eval',
22181
range: [26, 30],
22182
loc: {
22183
start: { line: 1, column: 26 },
22184
end: { line: 1, column: 30 }
22185
}
22186
}],
22187
defaults: [],
22188
body: {
22189
type: 'BlockStatement',
22190
body: [],
22191
range: [32, 34],
22192
loc: {
22193
start: { line: 1, column: 32 },
22194
end: { line: 1, column: 34 }
22195
}
22196
},
22197
rest: null,
22198
generator: false,
22199
expression: false,
22200
range: [32, 34],
22201
loc: {
22202
start: { line: 1, column: 32 },
22203
end: { line: 1, column: 34 }
22204
}
22205
},
22206
kind: 'set',
22207
method: false,
22208
shorthand: false,
22209
computed: false,
22210
range: [20, 34],
22211
loc: {
22212
start: { line: 1, column: 20 },
22213
end: { line: 1, column: 34 }
22214
}
22215
}],
22216
range: [18, 36],
22217
loc: {
22218
start: { line: 1, column: 18 },
22219
end: { line: 1, column: 36 }
22220
}
22221
},
22222
range: [14, 36],
22223
loc: {
22224
start: { line: 1, column: 14 },
22225
end: { line: 1, column: 36 }
22226
}
22227
},
22228
range: [14, 36],
22229
loc: {
22230
start: { line: 1, column: 14 },
22231
end: { line: 1, column: 36 }
22232
}
22233
}],
22234
range: [0, 36],
22235
loc: {
22236
start: { line: 1, column: 0 },
22237
end: { line: 1, column: 36 }
22238
},
22239
errors: [{
22240
index: 26,
22241
lineNumber: 1,
22242
column: 27,
22243
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
22244
}]
22245
},
22246
22247
'function hello() { "octal directive\\1"; "use strict"; }': {
22248
type: 'Program',
22249
body: [{
22250
type: 'FunctionDeclaration',
22251
id: {
22252
type: 'Identifier',
22253
name: 'hello',
22254
range: [9, 14],
22255
loc: {
22256
start: { line: 1, column: 9 },
22257
end: { line: 1, column: 14 }
22258
}
22259
},
22260
params: [],
22261
defaults: [],
22262
body: {
22263
type: 'BlockStatement',
22264
body: [{
22265
type: 'ExpressionStatement',
22266
expression: {
22267
type: 'Literal',
22268
value: 'octal directive\u0001',
22269
raw: '"octal directive\\1"',
22270
range: [19, 38],
22271
loc: {
22272
start: { line: 1, column: 19 },
22273
end: { line: 1, column: 38 }
22274
}
22275
},
22276
range: [19, 39],
22277
loc: {
22278
start: { line: 1, column: 19 },
22279
end: { line: 1, column: 39 }
22280
}
22281
}, {
22282
type: 'ExpressionStatement',
22283
expression: {
22284
type: 'Literal',
22285
value: 'use strict',
22286
raw: '"use strict"',
22287
range: [40, 52],
22288
loc: {
22289
start: { line: 1, column: 40 },
22290
end: { line: 1, column: 52 }
22291
}
22292
},
22293
range: [40, 53],
22294
loc: {
22295
start: { line: 1, column: 40 },
22296
end: { line: 1, column: 53 }
22297
}
22298
}],
22299
range: [17, 55],
22300
loc: {
22301
start: { line: 1, column: 17 },
22302
end: { line: 1, column: 55 }
22303
}
22304
},
22305
rest: null,
22306
generator: false,
22307
expression: false,
22308
range: [0, 55],
22309
loc: {
22310
start: { line: 1, column: 0 },
22311
end: { line: 1, column: 55 }
22312
}
22313
}],
22314
range: [0, 55],
22315
loc: {
22316
start: { line: 1, column: 0 },
22317
end: { line: 1, column: 55 }
22318
},
22319
errors: [{
22320
index: 19,
22321
lineNumber: 1,
22322
column: 20,
22323
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
22324
}]
22325
},
22326
22327
'"\\1"; \'use strict\';': {
22328
type: 'Program',
22329
body: [{
22330
type: 'ExpressionStatement',
22331
expression: {
22332
type: 'Literal',
22333
value: '\u0001',
22334
raw: '"\\1"',
22335
range: [0, 4],
22336
loc: {
22337
start: { line: 1, column: 0 },
22338
end: { line: 1, column: 4 }
22339
}
22340
},
22341
range: [0, 5],
22342
loc: {
22343
start: { line: 1, column: 0 },
22344
end: { line: 1, column: 5 }
22345
}
22346
}, {
22347
type: 'ExpressionStatement',
22348
expression: {
22349
type: 'Literal',
22350
value: 'use strict',
22351
raw: '\'use strict\'',
22352
range: [6, 18],
22353
loc: {
22354
start: { line: 1, column: 6 },
22355
end: { line: 1, column: 18 }
22356
}
22357
},
22358
range: [6, 19],
22359
loc: {
22360
start: { line: 1, column: 6 },
22361
end: { line: 1, column: 19 }
22362
}
22363
}],
22364
range: [0, 19],
22365
loc: {
22366
start: { line: 1, column: 0 },
22367
end: { line: 1, column: 19 }
22368
},
22369
errors: [{
22370
index: 0,
22371
lineNumber: 1,
22372
column: 1,
22373
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
22374
}]
22375
},
22376
22377
'"use strict"; var x = { 014: 3}': {
22378
type: 'Program',
22379
body: [{
22380
type: 'ExpressionStatement',
22381
expression: {
22382
type: 'Literal',
22383
value: 'use strict',
22384
raw: '"use strict"',
22385
range: [0, 12],
22386
loc: {
22387
start: { line: 1, column: 0 },
22388
end: { line: 1, column: 12 }
22389
}
22390
},
22391
range: [0, 13],
22392
loc: {
22393
start: { line: 1, column: 0 },
22394
end: { line: 1, column: 13 }
22395
}
22396
}, {
22397
type: 'VariableDeclaration',
22398
declarations: [{
22399
type: 'VariableDeclarator',
22400
id: {
22401
type: 'Identifier',
22402
name: 'x',
22403
range: [18, 19],
22404
loc: {
22405
start: { line: 1, column: 18 },
22406
end: { line: 1, column: 19 }
22407
}
22408
},
22409
init: {
22410
type: 'ObjectExpression',
22411
properties: [{
22412
type: 'Property',
22413
key: {
22414
type: 'Literal',
22415
value: 12,
22416
raw: '014',
22417
range: [24, 27],
22418
loc: {
22419
start: { line: 1, column: 24 },
22420
end: { line: 1, column: 27 }
22421
}
22422
},
22423
value: {
22424
type: 'Literal',
22425
value: 3,
22426
raw: '3',
22427
range: [29, 30],
22428
loc: {
22429
start: { line: 1, column: 29 },
22430
end: { line: 1, column: 30 }
22431
}
22432
},
22433
kind: 'init',
22434
method: false,
22435
shorthand: false,
22436
computed: false,
22437
range: [24, 30],
22438
loc: {
22439
start: { line: 1, column: 24 },
22440
end: { line: 1, column: 30 }
22441
}
22442
}],
22443
range: [22, 31],
22444
loc: {
22445
start: { line: 1, column: 22 },
22446
end: { line: 1, column: 31 }
22447
}
22448
},
22449
range: [18, 31],
22450
loc: {
22451
start: { line: 1, column: 18 },
22452
end: { line: 1, column: 31 }
22453
}
22454
}],
22455
kind: 'var',
22456
range: [14, 31],
22457
loc: {
22458
start: { line: 1, column: 14 },
22459
end: { line: 1, column: 31 }
22460
}
22461
}],
22462
range: [0, 31],
22463
loc: {
22464
start: { line: 1, column: 0 },
22465
end: { line: 1, column: 31 }
22466
},
22467
errors: [{
22468
index: 24,
22469
lineNumber: 1,
22470
column: 25,
22471
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
22472
}]
22473
},
22474
22475
'"use strict"; var x = { get i() {}, get i() {} }': {
22476
type: 'Program',
22477
body: [{
22478
type: 'ExpressionStatement',
22479
expression: {
22480
type: 'Literal',
22481
value: 'use strict',
22482
raw: '"use strict"',
22483
range: [0, 12],
22484
loc: {
22485
start: { line: 1, column: 0 },
22486
end: { line: 1, column: 12 }
22487
}
22488
},
22489
range: [0, 13],
22490
loc: {
22491
start: { line: 1, column: 0 },
22492
end: { line: 1, column: 13 }
22493
}
22494
}, {
22495
type: 'VariableDeclaration',
22496
declarations: [{
22497
type: 'VariableDeclarator',
22498
id: {
22499
type: 'Identifier',
22500
name: 'x',
22501
range: [18, 19],
22502
loc: {
22503
start: { line: 1, column: 18 },
22504
end: { line: 1, column: 19 }
22505
}
22506
},
22507
init: {
22508
type: 'ObjectExpression',
22509
properties: [{
22510
type: 'Property',
22511
key: {
22512
type: 'Identifier',
22513
name: 'i',
22514
range: [28, 29],
22515
loc: {
22516
start: { line: 1, column: 28 },
22517
end: { line: 1, column: 29 }
22518
}
22519
},
22520
value: {
22521
type: 'FunctionExpression',
22522
id: null,
22523
params: [],
22524
defaults: [],
22525
body: {
22526
type: 'BlockStatement',
22527
body: [],
22528
range: [32, 34],
22529
loc: {
22530
start: { line: 1, column: 32 },
22531
end: { line: 1, column: 34 }
22532
}
22533
},
22534
rest: null,
22535
generator: false,
22536
expression: false,
22537
range: [32, 34],
22538
loc: {
22539
start: { line: 1, column: 32 },
22540
end: { line: 1, column: 34 }
22541
}
22542
},
22543
kind: 'get',
22544
method: false,
22545
shorthand: false,
22546
computed: false,
22547
range: [24, 34],
22548
loc: {
22549
start: { line: 1, column: 24 },
22550
end: { line: 1, column: 34 }
22551
}
22552
}, {
22553
type: 'Property',
22554
key: {
22555
type: 'Identifier',
22556
name: 'i',
22557
range: [40, 41],
22558
loc: {
22559
start: { line: 1, column: 40 },
22560
end: { line: 1, column: 41 }
22561
}
22562
},
22563
value: {
22564
type: 'FunctionExpression',
22565
id: null,
22566
params: [],
22567
defaults: [],
22568
body: {
22569
type: 'BlockStatement',
22570
body: [],
22571
range: [44, 46],
22572
loc: {
22573
start: { line: 1, column: 44 },
22574
end: { line: 1, column: 46 }
22575
}
22576
},
22577
rest: null,
22578
generator: false,
22579
expression: false,
22580
range: [44, 46],
22581
loc: {
22582
start: { line: 1, column: 44 },
22583
end: { line: 1, column: 46 }
22584
}
22585
},
22586
kind: 'get',
22587
method: false,
22588
shorthand: false,
22589
computed: false,
22590
range: [36, 46],
22591
loc: {
22592
start: { line: 1, column: 36 },
22593
end: { line: 1, column: 46 }
22594
}
22595
}],
22596
range: [22, 48],
22597
loc: {
22598
start: { line: 1, column: 22 },
22599
end: { line: 1, column: 48 }
22600
}
22601
},
22602
range: [18, 48],
22603
loc: {
22604
start: { line: 1, column: 18 },
22605
end: { line: 1, column: 48 }
22606
}
22607
}],
22608
kind: 'var',
22609
range: [14, 48],
22610
loc: {
22611
start: { line: 1, column: 14 },
22612
end: { line: 1, column: 48 }
22613
}
22614
}],
22615
range: [0, 48],
22616
loc: {
22617
start: { line: 1, column: 0 },
22618
end: { line: 1, column: 48 }
22619
},
22620
errors: [{
22621
index: 46,
22622
lineNumber: 1,
22623
column: 47,
22624
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
22625
}]
22626
},
22627
22628
'"use strict"; var x = { i: 42, get i() {} }': {
22629
type: 'Program',
22630
body: [{
22631
type: 'ExpressionStatement',
22632
expression: {
22633
type: 'Literal',
22634
value: 'use strict',
22635
raw: '"use strict"',
22636
range: [0, 12],
22637
loc: {
22638
start: { line: 1, column: 0 },
22639
end: { line: 1, column: 12 }
22640
}
22641
},
22642
range: [0, 13],
22643
loc: {
22644
start: { line: 1, column: 0 },
22645
end: { line: 1, column: 13 }
22646
}
22647
}, {
22648
type: 'VariableDeclaration',
22649
declarations: [{
22650
type: 'VariableDeclarator',
22651
id: {
22652
type: 'Identifier',
22653
name: 'x',
22654
range: [18, 19],
22655
loc: {
22656
start: { line: 1, column: 18 },
22657
end: { line: 1, column: 19 }
22658
}
22659
},
22660
init: {
22661
type: 'ObjectExpression',
22662
properties: [{
22663
type: 'Property',
22664
key: {
22665
type: 'Identifier',
22666
name: 'i',
22667
range: [24, 25],
22668
loc: {
22669
start: { line: 1, column: 24 },
22670
end: { line: 1, column: 25 }
22671
}
22672
},
22673
value: {
22674
type: 'Literal',
22675
value: 42,
22676
raw: '42',
22677
range: [27, 29],
22678
loc: {
22679
start: { line: 1, column: 27 },
22680
end: { line: 1, column: 29 }
22681
}
22682
},
22683
kind: 'init',
22684
method: false,
22685
shorthand: false,
22686
computed: false,
22687
range: [24, 29],
22688
loc: {
22689
start: { line: 1, column: 24 },
22690
end: { line: 1, column: 29 }
22691
}
22692
}, {
22693
type: 'Property',
22694
key: {
22695
type: 'Identifier',
22696
name: 'i',
22697
range: [35, 36],
22698
loc: {
22699
start: { line: 1, column: 35 },
22700
end: { line: 1, column: 36 }
22701
}
22702
},
22703
value: {
22704
type: 'FunctionExpression',
22705
id: null,
22706
params: [],
22707
defaults: [],
22708
body: {
22709
type: 'BlockStatement',
22710
body: [],
22711
range: [39, 41],
22712
loc: {
22713
start: { line: 1, column: 39 },
22714
end: { line: 1, column: 41 }
22715
}
22716
},
22717
rest: null,
22718
generator: false,
22719
expression: false,
22720
range: [39, 41],
22721
loc: {
22722
start: { line: 1, column: 39 },
22723
end: { line: 1, column: 41 }
22724
}
22725
},
22726
kind: 'get',
22727
method: false,
22728
shorthand: false,
22729
computed: false,
22730
range: [31, 41],
22731
loc: {
22732
start: { line: 1, column: 31 },
22733
end: { line: 1, column: 41 }
22734
}
22735
}],
22736
range: [22, 43],
22737
loc: {
22738
start: { line: 1, column: 22 },
22739
end: { line: 1, column: 43 }
22740
}
22741
},
22742
range: [18, 43],
22743
loc: {
22744
start: { line: 1, column: 18 },
22745
end: { line: 1, column: 43 }
22746
}
22747
}],
22748
kind: 'var',
22749
range: [14, 43],
22750
loc: {
22751
start: { line: 1, column: 14 },
22752
end: { line: 1, column: 43 }
22753
}
22754
}],
22755
range: [0, 43],
22756
loc: {
22757
start: { line: 1, column: 0 },
22758
end: { line: 1, column: 43 }
22759
},
22760
errors: [{
22761
index: 41,
22762
lineNumber: 1,
22763
column: 42,
22764
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22765
}]
22766
},
22767
22768
'"use strict"; var x = { set i(x) {}, i: 42 }': {
22769
type: 'Program',
22770
body: [{
22771
type: 'ExpressionStatement',
22772
expression: {
22773
type: 'Literal',
22774
value: 'use strict',
22775
raw: '"use strict"',
22776
range: [0, 12],
22777
loc: {
22778
start: { line: 1, column: 0 },
22779
end: { line: 1, column: 12 }
22780
}
22781
},
22782
range: [0, 13],
22783
loc: {
22784
start: { line: 1, column: 0 },
22785
end: { line: 1, column: 13 }
22786
}
22787
}, {
22788
type: 'VariableDeclaration',
22789
declarations: [{
22790
type: 'VariableDeclarator',
22791
id: {
22792
type: 'Identifier',
22793
name: 'x',
22794
range: [18, 19],
22795
loc: {
22796
start: { line: 1, column: 18 },
22797
end: { line: 1, column: 19 }
22798
}
22799
},
22800
init: {
22801
type: 'ObjectExpression',
22802
properties: [{
22803
type: 'Property',
22804
key: {
22805
type: 'Identifier',
22806
name: 'i',
22807
range: [28, 29],
22808
loc: {
22809
start: { line: 1, column: 28 },
22810
end: { line: 1, column: 29 }
22811
}
22812
},
22813
value: {
22814
type: 'FunctionExpression',
22815
id: null,
22816
params: [{
22817
type: 'Identifier',
22818
name: 'x',
22819
range: [30, 31],
22820
loc: {
22821
start: { line: 1, column: 30 },
22822
end: { line: 1, column: 31 }
22823
}
22824
}],
22825
defaults: [],
22826
body: {
22827
type: 'BlockStatement',
22828
body: [],
22829
range: [33, 35],
22830
loc: {
22831
start: { line: 1, column: 33 },
22832
end: { line: 1, column: 35 }
22833
}
22834
},
22835
rest: null,
22836
generator: false,
22837
expression: false,
22838
range: [33, 35],
22839
loc: {
22840
start: { line: 1, column: 33 },
22841
end: { line: 1, column: 35 }
22842
}
22843
},
22844
kind: 'set',
22845
method: false,
22846
shorthand: false,
22847
computed: false,
22848
range: [24, 35],
22849
loc: {
22850
start: { line: 1, column: 24 },
22851
end: { line: 1, column: 35 }
22852
}
22853
}, {
22854
type: 'Property',
22855
key: {
22856
type: 'Identifier',
22857
name: 'i',
22858
range: [37, 38],
22859
loc: {
22860
start: { line: 1, column: 37 },
22861
end: { line: 1, column: 38 }
22862
}
22863
},
22864
value: {
22865
type: 'Literal',
22866
value: 42,
22867
raw: '42',
22868
range: [40, 42],
22869
loc: {
22870
start: { line: 1, column: 40 },
22871
end: { line: 1, column: 42 }
22872
}
22873
},
22874
kind: 'init',
22875
method: false,
22876
shorthand: false,
22877
computed: false,
22878
range: [37, 42],
22879
loc: {
22880
start: { line: 1, column: 37 },
22881
end: { line: 1, column: 42 }
22882
}
22883
}],
22884
range: [22, 44],
22885
loc: {
22886
start: { line: 1, column: 22 },
22887
end: { line: 1, column: 44 }
22888
}
22889
},
22890
range: [18, 44],
22891
loc: {
22892
start: { line: 1, column: 18 },
22893
end: { line: 1, column: 44 }
22894
}
22895
}],
22896
kind: 'var',
22897
range: [14, 44],
22898
loc: {
22899
start: { line: 1, column: 14 },
22900
end: { line: 1, column: 44 }
22901
}
22902
}],
22903
range: [0, 44],
22904
loc: {
22905
start: { line: 1, column: 0 },
22906
end: { line: 1, column: 44 }
22907
},
22908
errors: [{
22909
index: 42,
22910
lineNumber: 1,
22911
column: 43,
22912
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22913
}]
22914
22915
22916
}
22917
22918
22919
},
22920
};
22921
22922