Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80621 views
1
/*
2
Copyright (C) 2013 Mathias Bynens <[email protected]>
3
Copyright (C) 2012 Ariya Hidayat <[email protected]>
4
Copyright (C) 2012 Joost-Wim Boekesteijn <[email protected]>
5
Copyright (C) 2012 Yusuke Suzuki <[email protected]>
6
Copyright (C) 2012 Arpad Borsos <[email protected]>
7
Copyright (C) 2011 Ariya Hidayat <[email protected]>
8
Copyright (C) 2011 Yusuke Suzuki <[email protected]>
9
Copyright (C) 2011 Arpad Borsos <[email protected]>
10
11
Redistribution and use in source and binary forms, with or without
12
modification, are permitted provided that the following conditions are met:
13
14
* Redistributions of source code must retain the above copyright
15
notice, this list of conditions and the following disclaimer.
16
* Redistributions in binary form must reproduce the above copyright
17
notice, this list of conditions and the following disclaimer in the
18
documentation and/or other materials provided with the distribution.
19
20
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
24
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
var testFixture = {
33
34
'Primary Expression': {
35
36
'this\n': {
37
type: 'Program',
38
body: [{
39
type: 'ExpressionStatement',
40
expression: {
41
type: 'ThisExpression',
42
range: [0, 4],
43
loc: {
44
start: { line: 1, column: 0 },
45
end: { line: 1, column: 4 }
46
}
47
},
48
range: [0, 4],
49
loc: {
50
start: { line: 1, column: 0 },
51
end: { line: 1, column: 4 }
52
}
53
}],
54
range: [0, 4],
55
loc: {
56
start: { line: 1, column: 0 },
57
end: { line: 1, column: 4 }
58
},
59
tokens: [{
60
type: 'Keyword',
61
value: 'this',
62
range: [0, 4],
63
loc: {
64
start: { line: 1, column: 0 },
65
end: { line: 1, column: 4 }
66
}
67
}]
68
},
69
70
'null\n': {
71
type: 'Program',
72
body: [{
73
type: 'ExpressionStatement',
74
expression: {
75
type: 'Literal',
76
value: null,
77
raw: 'null',
78
range: [0, 4],
79
loc: {
80
start: { line: 1, column: 0 },
81
end: { line: 1, column: 4 }
82
}
83
},
84
range: [0, 4],
85
loc: {
86
start: { line: 1, column: 0 },
87
end: { line: 1, column: 4 }
88
}
89
}],
90
range: [0, 4],
91
loc: {
92
start: { line: 1, column: 0 },
93
end: { line: 1, column: 4 }
94
},
95
tokens: [{
96
type: 'Null',
97
value: 'null',
98
range: [0, 4],
99
loc: {
100
start: { line: 1, column: 0 },
101
end: { line: 1, column: 4 }
102
}
103
}]
104
},
105
106
'\n 42\n\n': {
107
type: 'Program',
108
body: [{
109
type: 'ExpressionStatement',
110
expression: {
111
type: 'Literal',
112
value: 42,
113
raw: '42',
114
range: [5, 7],
115
loc: {
116
start: { line: 2, column: 4 },
117
end: { line: 2, column: 6 }
118
}
119
},
120
range: [5, 7],
121
loc: {
122
start: { line: 2, column: 4 },
123
end: { line: 2, column: 6 }
124
}
125
}],
126
range: [5, 7],
127
loc: {
128
start: { line: 2, column: 4 },
129
end: { line: 2, column: 6 }
130
},
131
tokens: [{
132
type: 'Numeric',
133
value: '42',
134
range: [5, 7],
135
loc: {
136
start: { line: 2, column: 4 },
137
end: { line: 2, column: 6 }
138
}
139
}]
140
},
141
142
'(1 + 2 ) * 3': {
143
type: 'ExpressionStatement',
144
expression: {
145
type: 'BinaryExpression',
146
operator: '*',
147
left: {
148
type: 'BinaryExpression',
149
operator: '+',
150
left: {
151
type: 'Literal',
152
value: 1,
153
raw: '1',
154
range: [1, 2],
155
loc: {
156
start: { line: 1, column: 1 },
157
end: { line: 1, column: 2 }
158
}
159
},
160
right: {
161
type: 'Literal',
162
value: 2,
163
raw: '2',
164
range: [5, 6],
165
loc: {
166
start: { line: 1, column: 5 },
167
end: { line: 1, column: 6 }
168
}
169
},
170
range: [1, 6],
171
loc: {
172
start: { line: 1, column: 1 },
173
end: { line: 1, column: 6 }
174
}
175
},
176
right: {
177
type: 'Literal',
178
value: 3,
179
raw: '3',
180
range: [11, 12],
181
loc: {
182
start: { line: 1, column: 11 },
183
end: { line: 1, column: 12 }
184
}
185
},
186
range: [0, 12],
187
loc: {
188
start: { line: 1, column: 0 },
189
end: { line: 1, column: 12 }
190
}
191
},
192
range: [0, 12],
193
loc: {
194
start: { line: 1, column: 0 },
195
end: { line: 1, column: 12 }
196
}
197
}
198
199
},
200
201
'Grouping Operator': {
202
203
'(1) + (2 ) + 3': {
204
type: 'ExpressionStatement',
205
expression: {
206
type: 'BinaryExpression',
207
operator: '+',
208
left: {
209
type: 'BinaryExpression',
210
operator: '+',
211
left: {
212
type: 'Literal',
213
value: 1,
214
raw: '1',
215
range: [1, 2],
216
loc: {
217
start: { line: 1, column: 1 },
218
end: { line: 1, column: 2 }
219
}
220
},
221
right: {
222
type: 'Literal',
223
value: 2,
224
raw: '2',
225
range: [7, 8],
226
loc: {
227
start: { line: 1, column: 7 },
228
end: { line: 1, column: 8 }
229
}
230
},
231
range: [0, 11],
232
loc: {
233
start: { line: 1, column: 0 },
234
end: { line: 1, column: 11 }
235
}
236
},
237
right: {
238
type: 'Literal',
239
value: 3,
240
raw: '3',
241
range: [14, 15],
242
loc: {
243
start: { line: 1, column: 14 },
244
end: { line: 1, column: 15 }
245
}
246
},
247
range: [0, 15],
248
loc: {
249
start: { line: 1, column: 0 },
250
end: { line: 1, column: 15 }
251
}
252
},
253
range: [0, 15],
254
loc: {
255
start: { line: 1, column: 0 },
256
end: { line: 1, column: 15 }
257
}
258
},
259
260
'4 + 5 << (6)': {
261
type: 'ExpressionStatement',
262
expression: {
263
type: 'BinaryExpression',
264
operator: '<<',
265
left: {
266
type: 'BinaryExpression',
267
operator: '+',
268
left: {
269
type: 'Literal',
270
value: 4,
271
raw: '4',
272
range: [0, 1],
273
loc: {
274
start: { line: 1, column: 0 },
275
end: { line: 1, column: 1 }
276
}
277
},
278
right: {
279
type: 'Literal',
280
value: 5,
281
raw: '5',
282
range: [4, 5],
283
loc: {
284
start: { line: 1, column: 4 },
285
end: { line: 1, column: 5 }
286
}
287
},
288
range: [0, 5],
289
loc: {
290
start: { line: 1, column: 0 },
291
end: { line: 1, column: 5 }
292
}
293
},
294
right: {
295
type: 'Literal',
296
value: 6,
297
raw: '6',
298
range: [10, 11],
299
loc: {
300
start: { line: 1, column: 10 },
301
end: { line: 1, column: 11 }
302
}
303
},
304
range: [0, 12],
305
loc: {
306
start: { line: 1, column: 0 },
307
end: { line: 1, column: 12 }
308
}
309
},
310
range: [0, 12],
311
loc: {
312
start: { line: 1, column: 0 },
313
end: { line: 1, column: 12 }
314
}
315
}
316
317
},
318
319
'Array Initializer': {
320
321
'x = []': {
322
type: 'Program',
323
body: [{
324
type: 'ExpressionStatement',
325
expression: {
326
type: 'AssignmentExpression',
327
operator: '=',
328
left: {
329
type: 'Identifier',
330
name: 'x',
331
range: [0, 1],
332
loc: {
333
start: { line: 1, column: 0 },
334
end: { line: 1, column: 1 }
335
}
336
},
337
right: {
338
type: 'ArrayExpression',
339
elements: [],
340
range: [4, 6],
341
loc: {
342
start: { line: 1, column: 4 },
343
end: { line: 1, column: 6 }
344
}
345
},
346
range: [0, 6],
347
loc: {
348
start: { line: 1, column: 0 },
349
end: { line: 1, column: 6 }
350
}
351
},
352
range: [0, 6],
353
loc: {
354
start: { line: 1, column: 0 },
355
end: { line: 1, column: 6 }
356
}
357
}],
358
range: [0, 6],
359
loc: {
360
start: { line: 1, column: 0 },
361
end: { line: 1, column: 6 }
362
},
363
tokens: [{
364
type: 'Identifier',
365
value: 'x',
366
range: [0, 1],
367
loc: {
368
start: { line: 1, column: 0 },
369
end: { line: 1, column: 1 }
370
}
371
}, {
372
type: 'Punctuator',
373
value: '=',
374
range: [2, 3],
375
loc: {
376
start: { line: 1, column: 2 },
377
end: { line: 1, column: 3 }
378
}
379
}, {
380
type: 'Punctuator',
381
value: '[',
382
range: [4, 5],
383
loc: {
384
start: { line: 1, column: 4 },
385
end: { line: 1, column: 5 }
386
}
387
}, {
388
type: 'Punctuator',
389
value: ']',
390
range: [5, 6],
391
loc: {
392
start: { line: 1, column: 5 },
393
end: { line: 1, column: 6 }
394
}
395
}]
396
},
397
398
'x = [ ]': {
399
type: 'ExpressionStatement',
400
expression: {
401
type: 'AssignmentExpression',
402
operator: '=',
403
left: {
404
type: 'Identifier',
405
name: 'x',
406
range: [0, 1],
407
loc: {
408
start: { line: 1, column: 0 },
409
end: { line: 1, column: 1 }
410
}
411
},
412
right: {
413
type: 'ArrayExpression',
414
elements: [],
415
range: [4, 7],
416
loc: {
417
start: { line: 1, column: 4 },
418
end: { line: 1, column: 7 }
419
}
420
},
421
range: [0, 7],
422
loc: {
423
start: { line: 1, column: 0 },
424
end: { line: 1, column: 7 }
425
}
426
},
427
range: [0, 7],
428
loc: {
429
start: { line: 1, column: 0 },
430
end: { line: 1, column: 7 }
431
}
432
},
433
434
'x = [ 42 ]': {
435
type: 'ExpressionStatement',
436
expression: {
437
type: 'AssignmentExpression',
438
operator: '=',
439
left: {
440
type: 'Identifier',
441
name: 'x',
442
range: [0, 1],
443
loc: {
444
start: { line: 1, column: 0 },
445
end: { line: 1, column: 1 }
446
}
447
},
448
right: {
449
type: 'ArrayExpression',
450
elements: [{
451
type: 'Literal',
452
value: 42,
453
raw: '42',
454
range: [6, 8],
455
loc: {
456
start: { line: 1, column: 6 },
457
end: { line: 1, column: 8 }
458
}
459
}],
460
range: [4, 10],
461
loc: {
462
start: { line: 1, column: 4 },
463
end: { line: 1, column: 10 }
464
}
465
},
466
range: [0, 10],
467
loc: {
468
start: { line: 1, column: 0 },
469
end: { line: 1, column: 10 }
470
}
471
},
472
range: [0, 10],
473
loc: {
474
start: { line: 1, column: 0 },
475
end: { line: 1, column: 10 }
476
}
477
},
478
479
'x = [ 42, ]': {
480
type: 'ExpressionStatement',
481
expression: {
482
type: 'AssignmentExpression',
483
operator: '=',
484
left: {
485
type: 'Identifier',
486
name: 'x',
487
range: [0, 1],
488
loc: {
489
start: { line: 1, column: 0 },
490
end: { line: 1, column: 1 }
491
}
492
},
493
right: {
494
type: 'ArrayExpression',
495
elements: [{
496
type: 'Literal',
497
value: 42,
498
raw: '42',
499
range: [6, 8],
500
loc: {
501
start: { line: 1, column: 6 },
502
end: { line: 1, column: 8 }
503
}
504
}],
505
range: [4, 11],
506
loc: {
507
start: { line: 1, column: 4 },
508
end: { line: 1, column: 11 }
509
}
510
},
511
range: [0, 11],
512
loc: {
513
start: { line: 1, column: 0 },
514
end: { line: 1, column: 11 }
515
}
516
},
517
range: [0, 11],
518
loc: {
519
start: { line: 1, column: 0 },
520
end: { line: 1, column: 11 }
521
}
522
},
523
524
'x = [ ,, 42 ]': {
525
type: 'ExpressionStatement',
526
expression: {
527
type: 'AssignmentExpression',
528
operator: '=',
529
left: {
530
type: 'Identifier',
531
name: 'x',
532
range: [0, 1],
533
loc: {
534
start: { line: 1, column: 0 },
535
end: { line: 1, column: 1 }
536
}
537
},
538
right: {
539
type: 'ArrayExpression',
540
elements: [
541
null,
542
null,
543
{
544
type: 'Literal',
545
value: 42,
546
raw: '42',
547
range: [9, 11],
548
loc: {
549
start: { line: 1, column: 9 },
550
end: { line: 1, column: 11 }
551
}
552
}],
553
range: [4, 13],
554
loc: {
555
start: { line: 1, column: 4 },
556
end: { line: 1, column: 13 }
557
}
558
},
559
range: [0, 13],
560
loc: {
561
start: { line: 1, column: 0 },
562
end: { line: 1, column: 13 }
563
}
564
},
565
range: [0, 13],
566
loc: {
567
start: { line: 1, column: 0 },
568
end: { line: 1, column: 13 }
569
}
570
},
571
572
'x = [ 1, 2, 3, ]': {
573
type: 'ExpressionStatement',
574
expression: {
575
type: 'AssignmentExpression',
576
operator: '=',
577
left: {
578
type: 'Identifier',
579
name: 'x',
580
range: [0, 1],
581
loc: {
582
start: { line: 1, column: 0 },
583
end: { line: 1, column: 1 }
584
}
585
},
586
right: {
587
type: 'ArrayExpression',
588
elements: [{
589
type: 'Literal',
590
value: 1,
591
raw: '1',
592
range: [6, 7],
593
loc: {
594
start: { line: 1, column: 6 },
595
end: { line: 1, column: 7 }
596
}
597
}, {
598
type: 'Literal',
599
value: 2,
600
raw: '2',
601
range: [9, 10],
602
loc: {
603
start: { line: 1, column: 9 },
604
end: { line: 1, column: 10 }
605
}
606
}, {
607
type: 'Literal',
608
value: 3,
609
raw: '3',
610
range: [12, 13],
611
loc: {
612
start: { line: 1, column: 12 },
613
end: { line: 1, column: 13 }
614
}
615
}],
616
range: [4, 16],
617
loc: {
618
start: { line: 1, column: 4 },
619
end: { line: 1, column: 16 }
620
}
621
},
622
range: [0, 16],
623
loc: {
624
start: { line: 1, column: 0 },
625
end: { line: 1, column: 16 }
626
}
627
},
628
range: [0, 16],
629
loc: {
630
start: { line: 1, column: 0 },
631
end: { line: 1, column: 16 }
632
}
633
},
634
635
'x = [ 1, 2,, 3, ]': {
636
type: 'ExpressionStatement',
637
expression: {
638
type: 'AssignmentExpression',
639
operator: '=',
640
left: {
641
type: 'Identifier',
642
name: 'x',
643
range: [0, 1],
644
loc: {
645
start: { line: 1, column: 0 },
646
end: { line: 1, column: 1 }
647
}
648
},
649
right: {
650
type: 'ArrayExpression',
651
elements: [{
652
type: 'Literal',
653
value: 1,
654
raw: '1',
655
range: [6, 7],
656
loc: {
657
start: { line: 1, column: 6 },
658
end: { line: 1, column: 7 }
659
}
660
}, {
661
type: 'Literal',
662
value: 2,
663
raw: '2',
664
range: [9, 10],
665
loc: {
666
start: { line: 1, column: 9 },
667
end: { line: 1, column: 10 }
668
}
669
}, null, {
670
type: 'Literal',
671
value: 3,
672
raw: '3',
673
range: [13, 14],
674
loc: {
675
start: { line: 1, column: 13 },
676
end: { line: 1, column: 14 }
677
}
678
}],
679
range: [4, 17],
680
loc: {
681
start: { line: 1, column: 4 },
682
end: { line: 1, column: 17 }
683
}
684
},
685
range: [0, 17],
686
loc: {
687
start: { line: 1, column: 0 },
688
end: { line: 1, column: 17 }
689
}
690
},
691
range: [0, 17],
692
loc: {
693
start: { line: 1, column: 0 },
694
end: { line: 1, column: 17 }
695
}
696
},
697
698
'日本語 = []': {
699
type: 'ExpressionStatement',
700
expression: {
701
type: 'AssignmentExpression',
702
operator: '=',
703
left: {
704
type: 'Identifier',
705
name: '日本語',
706
range: [0, 3],
707
loc: {
708
start: { line: 1, column: 0 },
709
end: { line: 1, column: 3 }
710
}
711
},
712
right: {
713
type: 'ArrayExpression',
714
elements: [],
715
range: [6, 8],
716
loc: {
717
start: { line: 1, column: 6 },
718
end: { line: 1, column: 8 }
719
}
720
},
721
range: [0, 8],
722
loc: {
723
start: { line: 1, column: 0 },
724
end: { line: 1, column: 8 }
725
}
726
},
727
range: [0, 8],
728
loc: {
729
start: { line: 1, column: 0 },
730
end: { line: 1, column: 8 }
731
}
732
},
733
734
'T\u203F = []': {
735
type: 'ExpressionStatement',
736
expression: {
737
type: 'AssignmentExpression',
738
operator: '=',
739
left: {
740
type: 'Identifier',
741
name: 'T\u203F',
742
range: [0, 2],
743
loc: {
744
start: { line: 1, column: 0 },
745
end: { line: 1, column: 2 }
746
}
747
},
748
right: {
749
type: 'ArrayExpression',
750
elements: [],
751
range: [5, 7],
752
loc: {
753
start: { line: 1, column: 5 },
754
end: { line: 1, column: 7 }
755
}
756
},
757
range: [0, 7],
758
loc: {
759
start: { line: 1, column: 0 },
760
end: { line: 1, column: 7 }
761
}
762
},
763
range: [0, 7],
764
loc: {
765
start: { line: 1, column: 0 },
766
end: { line: 1, column: 7 }
767
}
768
},
769
770
'T\u200C = []': {
771
type: 'ExpressionStatement',
772
expression: {
773
type: 'AssignmentExpression',
774
operator: '=',
775
left: {
776
type: 'Identifier',
777
name: 'T\u200C',
778
range: [0, 2],
779
loc: {
780
start: { line: 1, column: 0 },
781
end: { line: 1, column: 2 }
782
}
783
},
784
right: {
785
type: 'ArrayExpression',
786
elements: [],
787
range: [5, 7],
788
loc: {
789
start: { line: 1, column: 5 },
790
end: { line: 1, column: 7 }
791
}
792
},
793
range: [0, 7],
794
loc: {
795
start: { line: 1, column: 0 },
796
end: { line: 1, column: 7 }
797
}
798
},
799
range: [0, 7],
800
loc: {
801
start: { line: 1, column: 0 },
802
end: { line: 1, column: 7 }
803
}
804
},
805
806
'T\u200D = []': {
807
type: 'ExpressionStatement',
808
expression: {
809
type: 'AssignmentExpression',
810
operator: '=',
811
left: {
812
type: 'Identifier',
813
name: 'T\u200D',
814
range: [0, 2],
815
loc: {
816
start: { line: 1, column: 0 },
817
end: { line: 1, column: 2 }
818
}
819
},
820
right: {
821
type: 'ArrayExpression',
822
elements: [],
823
range: [5, 7],
824
loc: {
825
start: { line: 1, column: 5 },
826
end: { line: 1, column: 7 }
827
}
828
},
829
range: [0, 7],
830
loc: {
831
start: { line: 1, column: 0 },
832
end: { line: 1, column: 7 }
833
}
834
},
835
range: [0, 7],
836
loc: {
837
start: { line: 1, column: 0 },
838
end: { line: 1, column: 7 }
839
}
840
},
841
842
'\u2163\u2161 = []': {
843
type: 'ExpressionStatement',
844
expression: {
845
type: 'AssignmentExpression',
846
operator: '=',
847
left: {
848
type: 'Identifier',
849
name: '\u2163\u2161',
850
range: [0, 2],
851
loc: {
852
start: { line: 1, column: 0 },
853
end: { line: 1, column: 2 }
854
}
855
},
856
right: {
857
type: 'ArrayExpression',
858
elements: [],
859
range: [5, 7],
860
loc: {
861
start: { line: 1, column: 5 },
862
end: { line: 1, column: 7 }
863
}
864
},
865
range: [0, 7],
866
loc: {
867
start: { line: 1, column: 0 },
868
end: { line: 1, column: 7 }
869
}
870
},
871
range: [0, 7],
872
loc: {
873
start: { line: 1, column: 0 },
874
end: { line: 1, column: 7 }
875
}
876
},
877
878
'\u2163\u2161\u200A=\u2009[]': {
879
type: 'ExpressionStatement',
880
expression: {
881
type: 'AssignmentExpression',
882
operator: '=',
883
left: {
884
type: 'Identifier',
885
name: '\u2163\u2161',
886
range: [0, 2],
887
loc: {
888
start: { line: 1, column: 0 },
889
end: { line: 1, column: 2 }
890
}
891
},
892
right: {
893
type: 'ArrayExpression',
894
elements: [],
895
range: [5, 7],
896
loc: {
897
start: { line: 1, column: 5 },
898
end: { line: 1, column: 7 }
899
}
900
},
901
range: [0, 7],
902
loc: {
903
start: { line: 1, column: 0 },
904
end: { line: 1, column: 7 }
905
}
906
},
907
range: [0, 7],
908
loc: {
909
start: { line: 1, column: 0 },
910
end: { line: 1, column: 7 }
911
}
912
}
913
914
},
915
916
'Object Initializer': {
917
918
'x = {}': {
919
type: 'ExpressionStatement',
920
expression: {
921
type: 'AssignmentExpression',
922
operator: '=',
923
left: {
924
type: 'Identifier',
925
name: 'x',
926
range: [0, 1],
927
loc: {
928
start: { line: 1, column: 0 },
929
end: { line: 1, column: 1 }
930
}
931
},
932
right: {
933
type: 'ObjectExpression',
934
properties: [],
935
range: [4, 6],
936
loc: {
937
start: { line: 1, column: 4 },
938
end: { line: 1, column: 6 }
939
}
940
},
941
range: [0, 6],
942
loc: {
943
start: { line: 1, column: 0 },
944
end: { line: 1, column: 6 }
945
}
946
},
947
range: [0, 6],
948
loc: {
949
start: { line: 1, column: 0 },
950
end: { line: 1, column: 6 }
951
}
952
},
953
954
'x = { }': {
955
type: 'ExpressionStatement',
956
expression: {
957
type: 'AssignmentExpression',
958
operator: '=',
959
left: {
960
type: 'Identifier',
961
name: 'x',
962
range: [0, 1],
963
loc: {
964
start: { line: 1, column: 0 },
965
end: { line: 1, column: 1 }
966
}
967
},
968
right: {
969
type: 'ObjectExpression',
970
properties: [],
971
range: [4, 7],
972
loc: {
973
start: { line: 1, column: 4 },
974
end: { line: 1, column: 7 }
975
}
976
},
977
range: [0, 7],
978
loc: {
979
start: { line: 1, column: 0 },
980
end: { line: 1, column: 7 }
981
}
982
},
983
range: [0, 7],
984
loc: {
985
start: { line: 1, column: 0 },
986
end: { line: 1, column: 7 }
987
}
988
},
989
990
'x = { answer: 42 }': {
991
type: 'ExpressionStatement',
992
expression: {
993
type: 'AssignmentExpression',
994
operator: '=',
995
left: {
996
type: 'Identifier',
997
name: 'x',
998
range: [0, 1],
999
loc: {
1000
start: { line: 1, column: 0 },
1001
end: { line: 1, column: 1 }
1002
}
1003
},
1004
right: {
1005
type: 'ObjectExpression',
1006
properties: [{
1007
type: 'Property',
1008
key: {
1009
type: 'Identifier',
1010
name: 'answer',
1011
range: [6, 12],
1012
loc: {
1013
start: { line: 1, column: 6 },
1014
end: { line: 1, column: 12 }
1015
}
1016
},
1017
value: {
1018
type: 'Literal',
1019
value: 42,
1020
raw: '42',
1021
range: [14, 16],
1022
loc: {
1023
start: { line: 1, column: 14 },
1024
end: { line: 1, column: 16 }
1025
}
1026
},
1027
kind: 'init',
1028
range: [6, 16],
1029
loc: {
1030
start: { line: 1, column: 6 },
1031
end: { line: 1, column: 16 }
1032
}
1033
}],
1034
range: [4, 18],
1035
loc: {
1036
start: { line: 1, column: 4 },
1037
end: { line: 1, column: 18 }
1038
}
1039
},
1040
range: [0, 18],
1041
loc: {
1042
start: { line: 1, column: 0 },
1043
end: { line: 1, column: 18 }
1044
}
1045
},
1046
range: [0, 18],
1047
loc: {
1048
start: { line: 1, column: 0 },
1049
end: { line: 1, column: 18 }
1050
}
1051
},
1052
1053
'x = { if: 42 }': {
1054
type: 'ExpressionStatement',
1055
expression: {
1056
type: 'AssignmentExpression',
1057
operator: '=',
1058
left: {
1059
type: 'Identifier',
1060
name: 'x',
1061
range: [0, 1],
1062
loc: {
1063
start: { line: 1, column: 0 },
1064
end: { line: 1, column: 1 }
1065
}
1066
},
1067
right: {
1068
type: 'ObjectExpression',
1069
properties: [{
1070
type: 'Property',
1071
key: {
1072
type: 'Identifier',
1073
name: 'if',
1074
range: [6, 8],
1075
loc: {
1076
start: { line: 1, column: 6 },
1077
end: { line: 1, column: 8 }
1078
}
1079
},
1080
value: {
1081
type: 'Literal',
1082
value: 42,
1083
raw: '42',
1084
range: [10, 12],
1085
loc: {
1086
start: { line: 1, column: 10 },
1087
end: { line: 1, column: 12 }
1088
}
1089
},
1090
kind: 'init',
1091
range: [6, 12],
1092
loc: {
1093
start: { line: 1, column: 6 },
1094
end: { line: 1, column: 12 }
1095
}
1096
}],
1097
range: [4, 14],
1098
loc: {
1099
start: { line: 1, column: 4 },
1100
end: { line: 1, column: 14 }
1101
}
1102
},
1103
range: [0, 14],
1104
loc: {
1105
start: { line: 1, column: 0 },
1106
end: { line: 1, column: 14 }
1107
}
1108
},
1109
range: [0, 14],
1110
loc: {
1111
start: { line: 1, column: 0 },
1112
end: { line: 1, column: 14 }
1113
}
1114
},
1115
1116
'x = { true: 42 }': {
1117
type: 'ExpressionStatement',
1118
expression: {
1119
type: 'AssignmentExpression',
1120
operator: '=',
1121
left: {
1122
type: 'Identifier',
1123
name: 'x',
1124
range: [0, 1],
1125
loc: {
1126
start: { line: 1, column: 0 },
1127
end: { line: 1, column: 1 }
1128
}
1129
},
1130
right: {
1131
type: 'ObjectExpression',
1132
properties: [{
1133
type: 'Property',
1134
key: {
1135
type: 'Identifier',
1136
name: 'true',
1137
range: [6, 10],
1138
loc: {
1139
start: { line: 1, column: 6 },
1140
end: { line: 1, column: 10 }
1141
}
1142
},
1143
value: {
1144
type: 'Literal',
1145
value: 42,
1146
raw: '42',
1147
range: [12, 14],
1148
loc: {
1149
start: { line: 1, column: 12 },
1150
end: { line: 1, column: 14 }
1151
}
1152
},
1153
kind: 'init',
1154
range: [6, 14],
1155
loc: {
1156
start: { line: 1, column: 6 },
1157
end: { line: 1, column: 14 }
1158
}
1159
}],
1160
range: [4, 16],
1161
loc: {
1162
start: { line: 1, column: 4 },
1163
end: { line: 1, column: 16 }
1164
}
1165
},
1166
range: [0, 16],
1167
loc: {
1168
start: { line: 1, column: 0 },
1169
end: { line: 1, column: 16 }
1170
}
1171
},
1172
range: [0, 16],
1173
loc: {
1174
start: { line: 1, column: 0 },
1175
end: { line: 1, column: 16 }
1176
}
1177
},
1178
1179
'x = { false: 42 }': {
1180
type: 'ExpressionStatement',
1181
expression: {
1182
type: 'AssignmentExpression',
1183
operator: '=',
1184
left: {
1185
type: 'Identifier',
1186
name: 'x',
1187
range: [0, 1],
1188
loc: {
1189
start: { line: 1, column: 0 },
1190
end: { line: 1, column: 1 }
1191
}
1192
},
1193
right: {
1194
type: 'ObjectExpression',
1195
properties: [{
1196
type: 'Property',
1197
key: {
1198
type: 'Identifier',
1199
name: 'false',
1200
range: [6, 11],
1201
loc: {
1202
start: { line: 1, column: 6 },
1203
end: { line: 1, column: 11 }
1204
}
1205
},
1206
value: {
1207
type: 'Literal',
1208
value: 42,
1209
raw: '42',
1210
range: [13, 15],
1211
loc: {
1212
start: { line: 1, column: 13 },
1213
end: { line: 1, column: 15 }
1214
}
1215
},
1216
kind: 'init',
1217
range: [6, 15],
1218
loc: {
1219
start: { line: 1, column: 6 },
1220
end: { line: 1, column: 15 }
1221
}
1222
}],
1223
range: [4, 17],
1224
loc: {
1225
start: { line: 1, column: 4 },
1226
end: { line: 1, column: 17 }
1227
}
1228
},
1229
range: [0, 17],
1230
loc: {
1231
start: { line: 1, column: 0 },
1232
end: { line: 1, column: 17 }
1233
}
1234
},
1235
range: [0, 17],
1236
loc: {
1237
start: { line: 1, column: 0 },
1238
end: { line: 1, column: 17 }
1239
}
1240
},
1241
1242
'x = { null: 42 }': {
1243
type: 'ExpressionStatement',
1244
expression: {
1245
type: 'AssignmentExpression',
1246
operator: '=',
1247
left: {
1248
type: 'Identifier',
1249
name: 'x',
1250
range: [0, 1],
1251
loc: {
1252
start: { line: 1, column: 0 },
1253
end: { line: 1, column: 1 }
1254
}
1255
},
1256
right: {
1257
type: 'ObjectExpression',
1258
properties: [{
1259
type: 'Property',
1260
key: {
1261
type: 'Identifier',
1262
name: 'null',
1263
range: [6, 10],
1264
loc: {
1265
start: { line: 1, column: 6 },
1266
end: { line: 1, column: 10 }
1267
}
1268
},
1269
value: {
1270
type: 'Literal',
1271
value: 42,
1272
raw: '42',
1273
range: [12, 14],
1274
loc: {
1275
start: { line: 1, column: 12 },
1276
end: { line: 1, column: 14 }
1277
}
1278
},
1279
kind: 'init',
1280
range: [6, 14],
1281
loc: {
1282
start: { line: 1, column: 6 },
1283
end: { line: 1, column: 14 }
1284
}
1285
}],
1286
range: [4, 16],
1287
loc: {
1288
start: { line: 1, column: 4 },
1289
end: { line: 1, column: 16 }
1290
}
1291
},
1292
range: [0, 16],
1293
loc: {
1294
start: { line: 1, column: 0 },
1295
end: { line: 1, column: 16 }
1296
}
1297
},
1298
range: [0, 16],
1299
loc: {
1300
start: { line: 1, column: 0 },
1301
end: { line: 1, column: 16 }
1302
}
1303
},
1304
1305
'x = { "answer": 42 }': {
1306
type: 'ExpressionStatement',
1307
expression: {
1308
type: 'AssignmentExpression',
1309
operator: '=',
1310
left: {
1311
type: 'Identifier',
1312
name: 'x',
1313
range: [0, 1],
1314
loc: {
1315
start: { line: 1, column: 0 },
1316
end: { line: 1, column: 1 }
1317
}
1318
},
1319
right: {
1320
type: 'ObjectExpression',
1321
properties: [{
1322
type: 'Property',
1323
key: {
1324
type: 'Literal',
1325
value: 'answer',
1326
raw: '"answer"',
1327
range: [6, 14],
1328
loc: {
1329
start: { line: 1, column: 6 },
1330
end: { line: 1, column: 14 }
1331
}
1332
},
1333
value: {
1334
type: 'Literal',
1335
value: 42,
1336
raw: '42',
1337
range: [16, 18],
1338
loc: {
1339
start: { line: 1, column: 16 },
1340
end: { line: 1, column: 18 }
1341
}
1342
},
1343
kind: 'init',
1344
range: [6, 18],
1345
loc: {
1346
start: { line: 1, column: 6 },
1347
end: { line: 1, column: 18 }
1348
}
1349
}],
1350
range: [4, 20],
1351
loc: {
1352
start: { line: 1, column: 4 },
1353
end: { line: 1, column: 20 }
1354
}
1355
},
1356
range: [0, 20],
1357
loc: {
1358
start: { line: 1, column: 0 },
1359
end: { line: 1, column: 20 }
1360
}
1361
},
1362
range: [0, 20],
1363
loc: {
1364
start: { line: 1, column: 0 },
1365
end: { line: 1, column: 20 }
1366
}
1367
},
1368
1369
'x = { x: 1, x: 2 }': {
1370
type: 'ExpressionStatement',
1371
expression: {
1372
type: 'AssignmentExpression',
1373
operator: '=',
1374
left: {
1375
type: 'Identifier',
1376
name: 'x',
1377
range: [0, 1],
1378
loc: {
1379
start: { line: 1, column: 0 },
1380
end: { line: 1, column: 1 }
1381
}
1382
},
1383
right: {
1384
type: 'ObjectExpression',
1385
properties: [
1386
{
1387
type: 'Property',
1388
key: {
1389
type: 'Identifier',
1390
name: 'x',
1391
range: [6, 7],
1392
loc: {
1393
start: { line: 1, column: 6 },
1394
end: { line: 1, column: 7 }
1395
}
1396
},
1397
value: {
1398
type: 'Literal',
1399
value: 1,
1400
raw: '1',
1401
range: [9, 10],
1402
loc: {
1403
start: { line: 1, column: 9 },
1404
end: { line: 1, column: 10 }
1405
}
1406
},
1407
kind: 'init',
1408
range: [6, 10],
1409
loc: {
1410
start: { line: 1, column: 6 },
1411
end: { line: 1, column: 10 }
1412
}
1413
},
1414
{
1415
type: 'Property',
1416
key: {
1417
type: 'Identifier',
1418
name: 'x',
1419
range: [12, 13],
1420
loc: {
1421
start: { line: 1, column: 12 },
1422
end: { line: 1, column: 13 }
1423
}
1424
},
1425
value: {
1426
type: 'Literal',
1427
value: 2,
1428
raw: '2',
1429
range: [15, 16],
1430
loc: {
1431
start: { line: 1, column: 15 },
1432
end: { line: 1, column: 16 }
1433
}
1434
},
1435
kind: 'init',
1436
range: [12, 16],
1437
loc: {
1438
start: { line: 1, column: 12 },
1439
end: { line: 1, column: 16 }
1440
}
1441
}
1442
],
1443
range: [4, 18],
1444
loc: {
1445
start: { line: 1, column: 4 },
1446
end: { line: 1, column: 18 }
1447
}
1448
},
1449
range: [0, 18],
1450
loc: {
1451
start: { line: 1, column: 0 },
1452
end: { line: 1, column: 18 }
1453
}
1454
},
1455
range: [0, 18],
1456
loc: {
1457
start: { line: 1, column: 0 },
1458
end: { line: 1, column: 18 }
1459
}
1460
},
1461
1462
'x = { get width() { return m_width } }': {
1463
type: 'ExpressionStatement',
1464
expression: {
1465
type: 'AssignmentExpression',
1466
operator: '=',
1467
left: {
1468
type: 'Identifier',
1469
name: 'x',
1470
range: [0, 1],
1471
loc: {
1472
start: { line: 1, column: 0 },
1473
end: { line: 1, column: 1 }
1474
}
1475
},
1476
right: {
1477
type: 'ObjectExpression',
1478
properties: [{
1479
type: 'Property',
1480
key: {
1481
type: 'Identifier',
1482
name: 'width',
1483
range: [10, 15],
1484
loc: {
1485
start: { line: 1, column: 10 },
1486
end: { line: 1, column: 15 }
1487
}
1488
},
1489
value: {
1490
type: 'FunctionExpression',
1491
id: null,
1492
params: [],
1493
defaults: [],
1494
body: {
1495
type: 'BlockStatement',
1496
body: [{
1497
type: 'ReturnStatement',
1498
argument: {
1499
type: 'Identifier',
1500
name: 'm_width',
1501
range: [27, 34],
1502
loc: {
1503
start: { line: 1, column: 27 },
1504
end: { line: 1, column: 34 }
1505
}
1506
},
1507
range: [20, 35],
1508
loc: {
1509
start: { line: 1, column: 20 },
1510
end: { line: 1, column: 35 }
1511
}
1512
}],
1513
range: [18, 36],
1514
loc: {
1515
start: { line: 1, column: 18 },
1516
end: { line: 1, column: 36 }
1517
}
1518
},
1519
rest: null,
1520
generator: false,
1521
expression: false,
1522
range: [18, 36],
1523
loc: {
1524
start: { line: 1, column: 18 },
1525
end: { line: 1, column: 36 }
1526
}
1527
},
1528
kind: 'get',
1529
range: [6, 36],
1530
loc: {
1531
start: { line: 1, column: 6 },
1532
end: { line: 1, column: 36 }
1533
}
1534
}],
1535
range: [4, 38],
1536
loc: {
1537
start: { line: 1, column: 4 },
1538
end: { line: 1, column: 38 }
1539
}
1540
},
1541
range: [0, 38],
1542
loc: {
1543
start: { line: 1, column: 0 },
1544
end: { line: 1, column: 38 }
1545
}
1546
},
1547
range: [0, 38],
1548
loc: {
1549
start: { line: 1, column: 0 },
1550
end: { line: 1, column: 38 }
1551
}
1552
},
1553
1554
'x = { get undef() {} }': {
1555
type: 'ExpressionStatement',
1556
expression: {
1557
type: 'AssignmentExpression',
1558
operator: '=',
1559
left: {
1560
type: 'Identifier',
1561
name: 'x',
1562
range: [0, 1],
1563
loc: {
1564
start: { line: 1, column: 0 },
1565
end: { line: 1, column: 1 }
1566
}
1567
},
1568
right: {
1569
type: 'ObjectExpression',
1570
properties: [{
1571
type: 'Property',
1572
key: {
1573
type: 'Identifier',
1574
name: 'undef',
1575
range: [10, 15],
1576
loc: {
1577
start: { line: 1, column: 10 },
1578
end: { line: 1, column: 15 }
1579
}
1580
},
1581
value: {
1582
type: 'FunctionExpression',
1583
id: null,
1584
params: [],
1585
defaults: [],
1586
body: {
1587
type: 'BlockStatement',
1588
body: [],
1589
range: [18, 20],
1590
loc: {
1591
start: { line: 1, column: 18 },
1592
end: { line: 1, column: 20 }
1593
}
1594
},
1595
rest: null,
1596
generator: false,
1597
expression: false,
1598
range: [18, 20],
1599
loc: {
1600
start: { line: 1, column: 18 },
1601
end: { line: 1, column: 20 }
1602
}
1603
},
1604
kind: 'get',
1605
range: [6, 20],
1606
loc: {
1607
start: { line: 1, column: 6 },
1608
end: { line: 1, column: 20 }
1609
}
1610
}],
1611
range: [4, 22],
1612
loc: {
1613
start: { line: 1, column: 4 },
1614
end: { line: 1, column: 22 }
1615
}
1616
},
1617
range: [0, 22],
1618
loc: {
1619
start: { line: 1, column: 0 },
1620
end: { line: 1, column: 22 }
1621
}
1622
},
1623
range: [0, 22],
1624
loc: {
1625
start: { line: 1, column: 0 },
1626
end: { line: 1, column: 22 }
1627
}
1628
},
1629
1630
'x = { get if() {} }': {
1631
type: 'ExpressionStatement',
1632
expression: {
1633
type: 'AssignmentExpression',
1634
operator: '=',
1635
left: {
1636
type: 'Identifier',
1637
name: 'x',
1638
range: [0, 1],
1639
loc: {
1640
start: { line: 1, column: 0 },
1641
end: { line: 1, column: 1 }
1642
}
1643
},
1644
right: {
1645
type: 'ObjectExpression',
1646
properties: [{
1647
type: 'Property',
1648
key: {
1649
type: 'Identifier',
1650
name: 'if',
1651
range: [10, 12],
1652
loc: {
1653
start: { line: 1, column: 10 },
1654
end: { line: 1, column: 12 }
1655
}
1656
},
1657
value: {
1658
type: 'FunctionExpression',
1659
id: null,
1660
params: [],
1661
defaults: [],
1662
body: {
1663
type: 'BlockStatement',
1664
body: [],
1665
range: [15, 17],
1666
loc: {
1667
start: { line: 1, column: 15 },
1668
end: { line: 1, column: 17 }
1669
}
1670
},
1671
rest: null,
1672
generator: false,
1673
expression: false,
1674
range: [15, 17],
1675
loc: {
1676
start: { line: 1, column: 15 },
1677
end: { line: 1, column: 17 }
1678
}
1679
},
1680
kind: 'get',
1681
range: [6, 17],
1682
loc: {
1683
start: { line: 1, column: 6 },
1684
end: { line: 1, column: 17 }
1685
}
1686
}],
1687
range: [4, 19],
1688
loc: {
1689
start: { line: 1, column: 4 },
1690
end: { line: 1, column: 19 }
1691
}
1692
},
1693
range: [0, 19],
1694
loc: {
1695
start: { line: 1, column: 0 },
1696
end: { line: 1, column: 19 }
1697
}
1698
},
1699
range: [0, 19],
1700
loc: {
1701
start: { line: 1, column: 0 },
1702
end: { line: 1, column: 19 }
1703
}
1704
},
1705
1706
'x = { get true() {} }': {
1707
type: 'ExpressionStatement',
1708
expression: {
1709
type: 'AssignmentExpression',
1710
operator: '=',
1711
left: {
1712
type: 'Identifier',
1713
name: 'x',
1714
range: [0, 1],
1715
loc: {
1716
start: { line: 1, column: 0 },
1717
end: { line: 1, column: 1 }
1718
}
1719
},
1720
right: {
1721
type: 'ObjectExpression',
1722
properties: [{
1723
type: 'Property',
1724
key: {
1725
type: 'Identifier',
1726
name: 'true',
1727
range: [10, 14],
1728
loc: {
1729
start: { line: 1, column: 10 },
1730
end: { line: 1, column: 14 }
1731
}
1732
},
1733
value: {
1734
type: 'FunctionExpression',
1735
id: null,
1736
params: [],
1737
defaults: [],
1738
body: {
1739
type: 'BlockStatement',
1740
body: [],
1741
range: [17, 19],
1742
loc: {
1743
start: { line: 1, column: 17 },
1744
end: { line: 1, column: 19 }
1745
}
1746
},
1747
rest: null,
1748
generator: false,
1749
expression: false,
1750
range: [17, 19],
1751
loc: {
1752
start: { line: 1, column: 17 },
1753
end: { line: 1, column: 19 }
1754
}
1755
},
1756
kind: 'get',
1757
range: [6, 19],
1758
loc: {
1759
start: { line: 1, column: 6 },
1760
end: { line: 1, column: 19 }
1761
}
1762
}],
1763
range: [4, 21],
1764
loc: {
1765
start: { line: 1, column: 4 },
1766
end: { line: 1, column: 21 }
1767
}
1768
},
1769
range: [0, 21],
1770
loc: {
1771
start: { line: 1, column: 0 },
1772
end: { line: 1, column: 21 }
1773
}
1774
},
1775
range: [0, 21],
1776
loc: {
1777
start: { line: 1, column: 0 },
1778
end: { line: 1, column: 21 }
1779
}
1780
},
1781
1782
'x = { get false() {} }': {
1783
type: 'ExpressionStatement',
1784
expression: {
1785
type: 'AssignmentExpression',
1786
operator: '=',
1787
left: {
1788
type: 'Identifier',
1789
name: 'x',
1790
range: [0, 1],
1791
loc: {
1792
start: { line: 1, column: 0 },
1793
end: { line: 1, column: 1 }
1794
}
1795
},
1796
right: {
1797
type: 'ObjectExpression',
1798
properties: [{
1799
type: 'Property',
1800
key: {
1801
type: 'Identifier',
1802
name: 'false',
1803
range: [10, 15],
1804
loc: {
1805
start: { line: 1, column: 10 },
1806
end: { line: 1, column: 15 }
1807
}
1808
},
1809
value: {
1810
type: 'FunctionExpression',
1811
id: null,
1812
params: [],
1813
defaults: [],
1814
body: {
1815
type: 'BlockStatement',
1816
body: [],
1817
range: [18, 20],
1818
loc: {
1819
start: { line: 1, column: 18 },
1820
end: { line: 1, column: 20 }
1821
}
1822
},
1823
rest: null,
1824
generator: false,
1825
expression: false,
1826
range: [18, 20],
1827
loc: {
1828
start: { line: 1, column: 18 },
1829
end: { line: 1, column: 20 }
1830
}
1831
},
1832
kind: 'get',
1833
range: [6, 20],
1834
loc: {
1835
start: { line: 1, column: 6 },
1836
end: { line: 1, column: 20 }
1837
}
1838
}],
1839
range: [4, 22],
1840
loc: {
1841
start: { line: 1, column: 4 },
1842
end: { line: 1, column: 22 }
1843
}
1844
},
1845
range: [0, 22],
1846
loc: {
1847
start: { line: 1, column: 0 },
1848
end: { line: 1, column: 22 }
1849
}
1850
},
1851
range: [0, 22],
1852
loc: {
1853
start: { line: 1, column: 0 },
1854
end: { line: 1, column: 22 }
1855
}
1856
},
1857
1858
'x = { get null() {} }': {
1859
type: 'ExpressionStatement',
1860
expression: {
1861
type: 'AssignmentExpression',
1862
operator: '=',
1863
left: {
1864
type: 'Identifier',
1865
name: 'x',
1866
range: [0, 1],
1867
loc: {
1868
start: { line: 1, column: 0 },
1869
end: { line: 1, column: 1 }
1870
}
1871
},
1872
right: {
1873
type: 'ObjectExpression',
1874
properties: [{
1875
type: 'Property',
1876
key: {
1877
type: 'Identifier',
1878
name: 'null',
1879
range: [10, 14],
1880
loc: {
1881
start: { line: 1, column: 10 },
1882
end: { line: 1, column: 14 }
1883
}
1884
},
1885
value: {
1886
type: 'FunctionExpression',
1887
id: null,
1888
params: [],
1889
defaults: [],
1890
body: {
1891
type: 'BlockStatement',
1892
body: [],
1893
range: [17, 19],
1894
loc: {
1895
start: { line: 1, column: 17 },
1896
end: { line: 1, column: 19 }
1897
}
1898
},
1899
rest: null,
1900
generator: false,
1901
expression: false,
1902
range: [17, 19],
1903
loc: {
1904
start: { line: 1, column: 17 },
1905
end: { line: 1, column: 19 }
1906
}
1907
},
1908
kind: 'get',
1909
range: [6, 19],
1910
loc: {
1911
start: { line: 1, column: 6 },
1912
end: { line: 1, column: 19 }
1913
}
1914
}],
1915
range: [4, 21],
1916
loc: {
1917
start: { line: 1, column: 4 },
1918
end: { line: 1, column: 21 }
1919
}
1920
},
1921
range: [0, 21],
1922
loc: {
1923
start: { line: 1, column: 0 },
1924
end: { line: 1, column: 21 }
1925
}
1926
},
1927
range: [0, 21],
1928
loc: {
1929
start: { line: 1, column: 0 },
1930
end: { line: 1, column: 21 }
1931
}
1932
},
1933
1934
'x = { get "undef"() {} }': {
1935
type: 'ExpressionStatement',
1936
expression: {
1937
type: 'AssignmentExpression',
1938
operator: '=',
1939
left: {
1940
type: 'Identifier',
1941
name: 'x',
1942
range: [0, 1],
1943
loc: {
1944
start: { line: 1, column: 0 },
1945
end: { line: 1, column: 1 }
1946
}
1947
},
1948
right: {
1949
type: 'ObjectExpression',
1950
properties: [{
1951
type: 'Property',
1952
key: {
1953
type: 'Literal',
1954
value: 'undef',
1955
raw: '"undef"',
1956
range: [10, 17],
1957
loc: {
1958
start: { line: 1, column: 10 },
1959
end: { line: 1, column: 17 }
1960
}
1961
},
1962
value: {
1963
type: 'FunctionExpression',
1964
id: null,
1965
params: [],
1966
defaults: [],
1967
body: {
1968
type: 'BlockStatement',
1969
body: [],
1970
range: [20, 22],
1971
loc: {
1972
start: { line: 1, column: 20 },
1973
end: { line: 1, column: 22 }
1974
}
1975
},
1976
rest: null,
1977
generator: false,
1978
expression: false,
1979
range: [20, 22],
1980
loc: {
1981
start: { line: 1, column: 20 },
1982
end: { line: 1, column: 22 }
1983
}
1984
},
1985
kind: 'get',
1986
range: [6, 22],
1987
loc: {
1988
start: { line: 1, column: 6 },
1989
end: { line: 1, column: 22 }
1990
}
1991
}],
1992
range: [4, 24],
1993
loc: {
1994
start: { line: 1, column: 4 },
1995
end: { line: 1, column: 24 }
1996
}
1997
},
1998
range: [0, 24],
1999
loc: {
2000
start: { line: 1, column: 0 },
2001
end: { line: 1, column: 24 }
2002
}
2003
},
2004
range: [0, 24],
2005
loc: {
2006
start: { line: 1, column: 0 },
2007
end: { line: 1, column: 24 }
2008
}
2009
},
2010
2011
'x = { get 10() {} }': {
2012
type: 'ExpressionStatement',
2013
expression: {
2014
type: 'AssignmentExpression',
2015
operator: '=',
2016
left: {
2017
type: 'Identifier',
2018
name: 'x',
2019
range: [0, 1],
2020
loc: {
2021
start: { line: 1, column: 0 },
2022
end: { line: 1, column: 1 }
2023
}
2024
},
2025
right: {
2026
type: 'ObjectExpression',
2027
properties: [{
2028
type: 'Property',
2029
key: {
2030
type: 'Literal',
2031
value: 10,
2032
raw: '10',
2033
range: [10, 12],
2034
loc: {
2035
start: { line: 1, column: 10 },
2036
end: { line: 1, column: 12 }
2037
}
2038
},
2039
value: {
2040
type: 'FunctionExpression',
2041
id: null,
2042
params: [],
2043
defaults: [],
2044
body: {
2045
type: 'BlockStatement',
2046
body: [],
2047
range: [15, 17],
2048
loc: {
2049
start: { line: 1, column: 15 },
2050
end: { line: 1, column: 17 }
2051
}
2052
},
2053
rest: null,
2054
generator: false,
2055
expression: false,
2056
range: [15, 17],
2057
loc: {
2058
start: { line: 1, column: 15 },
2059
end: { line: 1, column: 17 }
2060
}
2061
},
2062
kind: 'get',
2063
range: [6, 17],
2064
loc: {
2065
start: { line: 1, column: 6 },
2066
end: { line: 1, column: 17 }
2067
}
2068
}],
2069
range: [4, 19],
2070
loc: {
2071
start: { line: 1, column: 4 },
2072
end: { line: 1, column: 19 }
2073
}
2074
},
2075
range: [0, 19],
2076
loc: {
2077
start: { line: 1, column: 0 },
2078
end: { line: 1, column: 19 }
2079
}
2080
},
2081
range: [0, 19],
2082
loc: {
2083
start: { line: 1, column: 0 },
2084
end: { line: 1, column: 19 }
2085
}
2086
},
2087
2088
'x = { set width(w) { m_width = w } }': {
2089
type: 'ExpressionStatement',
2090
expression: {
2091
type: 'AssignmentExpression',
2092
operator: '=',
2093
left: {
2094
type: 'Identifier',
2095
name: 'x',
2096
range: [0, 1],
2097
loc: {
2098
start: { line: 1, column: 0 },
2099
end: { line: 1, column: 1 }
2100
}
2101
},
2102
right: {
2103
type: 'ObjectExpression',
2104
properties: [{
2105
type: 'Property',
2106
key: {
2107
type: 'Identifier',
2108
name: 'width',
2109
range: [10, 15],
2110
loc: {
2111
start: { line: 1, column: 10 },
2112
end: { line: 1, column: 15 }
2113
}
2114
},
2115
value: {
2116
type: 'FunctionExpression',
2117
id: null,
2118
params: [{
2119
type: 'Identifier',
2120
name: 'w',
2121
range: [16, 17],
2122
loc: {
2123
start: { line: 1, column: 16 },
2124
end: { line: 1, column: 17 }
2125
}
2126
}],
2127
defaults: [],
2128
body: {
2129
type: 'BlockStatement',
2130
body: [{
2131
type: 'ExpressionStatement',
2132
expression: {
2133
type: 'AssignmentExpression',
2134
operator: '=',
2135
left: {
2136
type: 'Identifier',
2137
name: 'm_width',
2138
range: [21, 28],
2139
loc: {
2140
start: { line: 1, column: 21 },
2141
end: { line: 1, column: 28 }
2142
}
2143
},
2144
right: {
2145
type: 'Identifier',
2146
name: 'w',
2147
range: [31, 32],
2148
loc: {
2149
start: { line: 1, column: 31 },
2150
end: { line: 1, column: 32 }
2151
}
2152
},
2153
range: [21, 32],
2154
loc: {
2155
start: { line: 1, column: 21 },
2156
end: { line: 1, column: 32 }
2157
}
2158
},
2159
range: [21, 33],
2160
loc: {
2161
start: { line: 1, column: 21 },
2162
end: { line: 1, column: 33 }
2163
}
2164
}],
2165
range: [19, 34],
2166
loc: {
2167
start: { line: 1, column: 19 },
2168
end: { line: 1, column: 34 }
2169
}
2170
},
2171
rest: null,
2172
generator: false,
2173
expression: false,
2174
range: [19, 34],
2175
loc: {
2176
start: { line: 1, column: 19 },
2177
end: { line: 1, column: 34 }
2178
}
2179
},
2180
kind: 'set',
2181
range: [6, 34],
2182
loc: {
2183
start: { line: 1, column: 6 },
2184
end: { line: 1, column: 34 }
2185
}
2186
}],
2187
range: [4, 36],
2188
loc: {
2189
start: { line: 1, column: 4 },
2190
end: { line: 1, column: 36 }
2191
}
2192
},
2193
range: [0, 36],
2194
loc: {
2195
start: { line: 1, column: 0 },
2196
end: { line: 1, column: 36 }
2197
}
2198
},
2199
range: [0, 36],
2200
loc: {
2201
start: { line: 1, column: 0 },
2202
end: { line: 1, column: 36 }
2203
}
2204
},
2205
2206
'x = { set if(w) { m_if = w } }': {
2207
type: 'ExpressionStatement',
2208
expression: {
2209
type: 'AssignmentExpression',
2210
operator: '=',
2211
left: {
2212
type: 'Identifier',
2213
name: 'x',
2214
range: [0, 1],
2215
loc: {
2216
start: { line: 1, column: 0 },
2217
end: { line: 1, column: 1 }
2218
}
2219
},
2220
right: {
2221
type: 'ObjectExpression',
2222
properties: [{
2223
type: 'Property',
2224
key: {
2225
type: 'Identifier',
2226
name: 'if',
2227
range: [10, 12],
2228
loc: {
2229
start: { line: 1, column: 10 },
2230
end: { line: 1, column: 12 }
2231
}
2232
},
2233
value: {
2234
type: 'FunctionExpression',
2235
id: null,
2236
params: [{
2237
type: 'Identifier',
2238
name: 'w',
2239
range: [13, 14],
2240
loc: {
2241
start: { line: 1, column: 13 },
2242
end: { line: 1, column: 14 }
2243
}
2244
}],
2245
defaults: [],
2246
body: {
2247
type: 'BlockStatement',
2248
body: [{
2249
type: 'ExpressionStatement',
2250
expression: {
2251
type: 'AssignmentExpression',
2252
operator: '=',
2253
left: {
2254
type: 'Identifier',
2255
name: 'm_if',
2256
range: [18, 22],
2257
loc: {
2258
start: { line: 1, column: 18 },
2259
end: { line: 1, column: 22 }
2260
}
2261
},
2262
right: {
2263
type: 'Identifier',
2264
name: 'w',
2265
range: [25, 26],
2266
loc: {
2267
start: { line: 1, column: 25 },
2268
end: { line: 1, column: 26 }
2269
}
2270
},
2271
range: [18, 26],
2272
loc: {
2273
start: { line: 1, column: 18 },
2274
end: { line: 1, column: 26 }
2275
}
2276
},
2277
range: [18, 27],
2278
loc: {
2279
start: { line: 1, column: 18 },
2280
end: { line: 1, column: 27 }
2281
}
2282
}],
2283
range: [16, 28],
2284
loc: {
2285
start: { line: 1, column: 16 },
2286
end: { line: 1, column: 28 }
2287
}
2288
},
2289
rest: null,
2290
generator: false,
2291
expression: false,
2292
range: [16, 28],
2293
loc: {
2294
start: { line: 1, column: 16 },
2295
end: { line: 1, column: 28 }
2296
}
2297
},
2298
kind: 'set',
2299
range: [6, 28],
2300
loc: {
2301
start: { line: 1, column: 6 },
2302
end: { line: 1, column: 28 }
2303
}
2304
}],
2305
range: [4, 30],
2306
loc: {
2307
start: { line: 1, column: 4 },
2308
end: { line: 1, column: 30 }
2309
}
2310
},
2311
range: [0, 30],
2312
loc: {
2313
start: { line: 1, column: 0 },
2314
end: { line: 1, column: 30 }
2315
}
2316
},
2317
range: [0, 30],
2318
loc: {
2319
start: { line: 1, column: 0 },
2320
end: { line: 1, column: 30 }
2321
}
2322
},
2323
2324
'x = { set true(w) { m_true = w } }': {
2325
type: 'ExpressionStatement',
2326
expression: {
2327
type: 'AssignmentExpression',
2328
operator: '=',
2329
left: {
2330
type: 'Identifier',
2331
name: 'x',
2332
range: [0, 1],
2333
loc: {
2334
start: { line: 1, column: 0 },
2335
end: { line: 1, column: 1 }
2336
}
2337
},
2338
right: {
2339
type: 'ObjectExpression',
2340
properties: [{
2341
type: 'Property',
2342
key: {
2343
type: 'Identifier',
2344
name: 'true',
2345
range: [10, 14],
2346
loc: {
2347
start: { line: 1, column: 10 },
2348
end: { line: 1, column: 14 }
2349
}
2350
},
2351
value: {
2352
type: 'FunctionExpression',
2353
id: null,
2354
params: [{
2355
type: 'Identifier',
2356
name: 'w',
2357
range: [15, 16],
2358
loc: {
2359
start: { line: 1, column: 15 },
2360
end: { line: 1, column: 16 }
2361
}
2362
}],
2363
defaults: [],
2364
body: {
2365
type: 'BlockStatement',
2366
body: [{
2367
type: 'ExpressionStatement',
2368
expression: {
2369
type: 'AssignmentExpression',
2370
operator: '=',
2371
left: {
2372
type: 'Identifier',
2373
name: 'm_true',
2374
range: [20, 26],
2375
loc: {
2376
start: { line: 1, column: 20 },
2377
end: { line: 1, column: 26 }
2378
}
2379
},
2380
right: {
2381
type: 'Identifier',
2382
name: 'w',
2383
range: [29, 30],
2384
loc: {
2385
start: { line: 1, column: 29 },
2386
end: { line: 1, column: 30 }
2387
}
2388
},
2389
range: [20, 30],
2390
loc: {
2391
start: { line: 1, column: 20 },
2392
end: { line: 1, column: 30 }
2393
}
2394
},
2395
range: [20, 31],
2396
loc: {
2397
start: { line: 1, column: 20 },
2398
end: { line: 1, column: 31 }
2399
}
2400
}],
2401
range: [18, 32],
2402
loc: {
2403
start: { line: 1, column: 18 },
2404
end: { line: 1, column: 32 }
2405
}
2406
},
2407
rest: null,
2408
generator: false,
2409
expression: false,
2410
range: [18, 32],
2411
loc: {
2412
start: { line: 1, column: 18 },
2413
end: { line: 1, column: 32 }
2414
}
2415
},
2416
kind: 'set',
2417
range: [6, 32],
2418
loc: {
2419
start: { line: 1, column: 6 },
2420
end: { line: 1, column: 32 }
2421
}
2422
}],
2423
range: [4, 34],
2424
loc: {
2425
start: { line: 1, column: 4 },
2426
end: { line: 1, column: 34 }
2427
}
2428
},
2429
range: [0, 34],
2430
loc: {
2431
start: { line: 1, column: 0 },
2432
end: { line: 1, column: 34 }
2433
}
2434
},
2435
range: [0, 34],
2436
loc: {
2437
start: { line: 1, column: 0 },
2438
end: { line: 1, column: 34 }
2439
}
2440
},
2441
2442
'x = { set false(w) { m_false = w } }': {
2443
type: 'ExpressionStatement',
2444
expression: {
2445
type: 'AssignmentExpression',
2446
operator: '=',
2447
left: {
2448
type: 'Identifier',
2449
name: 'x',
2450
range: [0, 1],
2451
loc: {
2452
start: { line: 1, column: 0 },
2453
end: { line: 1, column: 1 }
2454
}
2455
},
2456
right: {
2457
type: 'ObjectExpression',
2458
properties: [{
2459
type: 'Property',
2460
key: {
2461
type: 'Identifier',
2462
name: 'false',
2463
range: [10, 15],
2464
loc: {
2465
start: { line: 1, column: 10 },
2466
end: { line: 1, column: 15 }
2467
}
2468
},
2469
value: {
2470
type: 'FunctionExpression',
2471
id: null,
2472
params: [{
2473
type: 'Identifier',
2474
name: 'w',
2475
range: [16, 17],
2476
loc: {
2477
start: { line: 1, column: 16 },
2478
end: { line: 1, column: 17 }
2479
}
2480
}],
2481
defaults: [],
2482
body: {
2483
type: 'BlockStatement',
2484
body: [{
2485
type: 'ExpressionStatement',
2486
expression: {
2487
type: 'AssignmentExpression',
2488
operator: '=',
2489
left: {
2490
type: 'Identifier',
2491
name: 'm_false',
2492
range: [21, 28],
2493
loc: {
2494
start: { line: 1, column: 21 },
2495
end: { line: 1, column: 28 }
2496
}
2497
},
2498
right: {
2499
type: 'Identifier',
2500
name: 'w',
2501
range: [31, 32],
2502
loc: {
2503
start: { line: 1, column: 31 },
2504
end: { line: 1, column: 32 }
2505
}
2506
},
2507
range: [21, 32],
2508
loc: {
2509
start: { line: 1, column: 21 },
2510
end: { line: 1, column: 32 }
2511
}
2512
},
2513
range: [21, 33],
2514
loc: {
2515
start: { line: 1, column: 21 },
2516
end: { line: 1, column: 33 }
2517
}
2518
}],
2519
range: [19, 34],
2520
loc: {
2521
start: { line: 1, column: 19 },
2522
end: { line: 1, column: 34 }
2523
}
2524
},
2525
rest: null,
2526
generator: false,
2527
expression: false,
2528
range: [19, 34],
2529
loc: {
2530
start: { line: 1, column: 19 },
2531
end: { line: 1, column: 34 }
2532
}
2533
},
2534
kind: 'set',
2535
range: [6, 34],
2536
loc: {
2537
start: { line: 1, column: 6 },
2538
end: { line: 1, column: 34 }
2539
}
2540
}],
2541
range: [4, 36],
2542
loc: {
2543
start: { line: 1, column: 4 },
2544
end: { line: 1, column: 36 }
2545
}
2546
},
2547
range: [0, 36],
2548
loc: {
2549
start: { line: 1, column: 0 },
2550
end: { line: 1, column: 36 }
2551
}
2552
},
2553
range: [0, 36],
2554
loc: {
2555
start: { line: 1, column: 0 },
2556
end: { line: 1, column: 36 }
2557
}
2558
},
2559
2560
'x = { set null(w) { m_null = w } }': {
2561
type: 'ExpressionStatement',
2562
expression: {
2563
type: 'AssignmentExpression',
2564
operator: '=',
2565
left: {
2566
type: 'Identifier',
2567
name: 'x',
2568
range: [0, 1],
2569
loc: {
2570
start: { line: 1, column: 0 },
2571
end: { line: 1, column: 1 }
2572
}
2573
},
2574
right: {
2575
type: 'ObjectExpression',
2576
properties: [{
2577
type: 'Property',
2578
key: {
2579
type: 'Identifier',
2580
name: 'null',
2581
range: [10, 14],
2582
loc: {
2583
start: { line: 1, column: 10 },
2584
end: { line: 1, column: 14 }
2585
}
2586
},
2587
value: {
2588
type: 'FunctionExpression',
2589
id: null,
2590
params: [{
2591
type: 'Identifier',
2592
name: 'w',
2593
range: [15, 16],
2594
loc: {
2595
start: { line: 1, column: 15 },
2596
end: { line: 1, column: 16 }
2597
}
2598
}],
2599
defaults: [],
2600
body: {
2601
type: 'BlockStatement',
2602
body: [{
2603
type: 'ExpressionStatement',
2604
expression: {
2605
type: 'AssignmentExpression',
2606
operator: '=',
2607
left: {
2608
type: 'Identifier',
2609
name: 'm_null',
2610
range: [20, 26],
2611
loc: {
2612
start: { line: 1, column: 20 },
2613
end: { line: 1, column: 26 }
2614
}
2615
},
2616
right: {
2617
type: 'Identifier',
2618
name: 'w',
2619
range: [29, 30],
2620
loc: {
2621
start: { line: 1, column: 29 },
2622
end: { line: 1, column: 30 }
2623
}
2624
},
2625
range: [20, 30],
2626
loc: {
2627
start: { line: 1, column: 20 },
2628
end: { line: 1, column: 30 }
2629
}
2630
},
2631
range: [20, 31],
2632
loc: {
2633
start: { line: 1, column: 20 },
2634
end: { line: 1, column: 31 }
2635
}
2636
}],
2637
range: [18, 32],
2638
loc: {
2639
start: { line: 1, column: 18 },
2640
end: { line: 1, column: 32 }
2641
}
2642
},
2643
rest: null,
2644
generator: false,
2645
expression: false,
2646
range: [18, 32],
2647
loc: {
2648
start: { line: 1, column: 18 },
2649
end: { line: 1, column: 32 }
2650
}
2651
},
2652
kind: 'set',
2653
range: [6, 32],
2654
loc: {
2655
start: { line: 1, column: 6 },
2656
end: { line: 1, column: 32 }
2657
}
2658
}],
2659
range: [4, 34],
2660
loc: {
2661
start: { line: 1, column: 4 },
2662
end: { line: 1, column: 34 }
2663
}
2664
},
2665
range: [0, 34],
2666
loc: {
2667
start: { line: 1, column: 0 },
2668
end: { line: 1, column: 34 }
2669
}
2670
},
2671
range: [0, 34],
2672
loc: {
2673
start: { line: 1, column: 0 },
2674
end: { line: 1, column: 34 }
2675
}
2676
},
2677
2678
'x = { set "null"(w) { m_null = w } }': {
2679
type: 'ExpressionStatement',
2680
expression: {
2681
type: 'AssignmentExpression',
2682
operator: '=',
2683
left: {
2684
type: 'Identifier',
2685
name: 'x',
2686
range: [0, 1],
2687
loc: {
2688
start: { line: 1, column: 0 },
2689
end: { line: 1, column: 1 }
2690
}
2691
},
2692
right: {
2693
type: 'ObjectExpression',
2694
properties: [{
2695
type: 'Property',
2696
key: {
2697
type: 'Literal',
2698
value: 'null',
2699
raw: '"null"',
2700
range: [10, 16],
2701
loc: {
2702
start: { line: 1, column: 10 },
2703
end: { line: 1, column: 16 }
2704
}
2705
},
2706
value: {
2707
type: 'FunctionExpression',
2708
id: null,
2709
params: [{
2710
type: 'Identifier',
2711
name: 'w',
2712
range: [17, 18],
2713
loc: {
2714
start: { line: 1, column: 17 },
2715
end: { line: 1, column: 18 }
2716
}
2717
}],
2718
defaults: [],
2719
body: {
2720
type: 'BlockStatement',
2721
body: [{
2722
type: 'ExpressionStatement',
2723
expression: {
2724
type: 'AssignmentExpression',
2725
operator: '=',
2726
left: {
2727
type: 'Identifier',
2728
name: 'm_null',
2729
range: [22, 28],
2730
loc: {
2731
start: { line: 1, column: 22 },
2732
end: { line: 1, column: 28 }
2733
}
2734
},
2735
right: {
2736
type: 'Identifier',
2737
name: 'w',
2738
range: [31, 32],
2739
loc: {
2740
start: { line: 1, column: 31 },
2741
end: { line: 1, column: 32 }
2742
}
2743
},
2744
range: [22, 32],
2745
loc: {
2746
start: { line: 1, column: 22 },
2747
end: { line: 1, column: 32 }
2748
}
2749
},
2750
range: [22, 33],
2751
loc: {
2752
start: { line: 1, column: 22 },
2753
end: { line: 1, column: 33 }
2754
}
2755
}],
2756
range: [20, 34],
2757
loc: {
2758
start: { line: 1, column: 20 },
2759
end: { line: 1, column: 34 }
2760
}
2761
},
2762
rest: null,
2763
generator: false,
2764
expression: false,
2765
range: [20, 34],
2766
loc: {
2767
start: { line: 1, column: 20 },
2768
end: { line: 1, column: 34 }
2769
}
2770
},
2771
kind: 'set',
2772
range: [6, 34],
2773
loc: {
2774
start: { line: 1, column: 6 },
2775
end: { line: 1, column: 34 }
2776
}
2777
}],
2778
range: [4, 36],
2779
loc: {
2780
start: { line: 1, column: 4 },
2781
end: { line: 1, column: 36 }
2782
}
2783
},
2784
range: [0, 36],
2785
loc: {
2786
start: { line: 1, column: 0 },
2787
end: { line: 1, column: 36 }
2788
}
2789
},
2790
range: [0, 36],
2791
loc: {
2792
start: { line: 1, column: 0 },
2793
end: { line: 1, column: 36 }
2794
}
2795
},
2796
2797
'x = { set 10(w) { m_null = w } }': {
2798
type: 'ExpressionStatement',
2799
expression: {
2800
type: 'AssignmentExpression',
2801
operator: '=',
2802
left: {
2803
type: 'Identifier',
2804
name: 'x',
2805
range: [0, 1],
2806
loc: {
2807
start: { line: 1, column: 0 },
2808
end: { line: 1, column: 1 }
2809
}
2810
},
2811
right: {
2812
type: 'ObjectExpression',
2813
properties: [{
2814
type: 'Property',
2815
key: {
2816
type: 'Literal',
2817
value: 10,
2818
raw: '10',
2819
range: [10, 12],
2820
loc: {
2821
start: { line: 1, column: 10 },
2822
end: { line: 1, column: 12 }
2823
}
2824
},
2825
value: {
2826
type: 'FunctionExpression',
2827
id: null,
2828
params: [{
2829
type: 'Identifier',
2830
name: 'w',
2831
range: [13, 14],
2832
loc: {
2833
start: { line: 1, column: 13 },
2834
end: { line: 1, column: 14 }
2835
}
2836
}],
2837
defaults: [],
2838
body: {
2839
type: 'BlockStatement',
2840
body: [{
2841
type: 'ExpressionStatement',
2842
expression: {
2843
type: 'AssignmentExpression',
2844
operator: '=',
2845
left: {
2846
type: 'Identifier',
2847
name: 'm_null',
2848
range: [18, 24],
2849
loc: {
2850
start: { line: 1, column: 18 },
2851
end: { line: 1, column: 24 }
2852
}
2853
},
2854
right: {
2855
type: 'Identifier',
2856
name: 'w',
2857
range: [27, 28],
2858
loc: {
2859
start: { line: 1, column: 27 },
2860
end: { line: 1, column: 28 }
2861
}
2862
},
2863
range: [18, 28],
2864
loc: {
2865
start: { line: 1, column: 18 },
2866
end: { line: 1, column: 28 }
2867
}
2868
},
2869
range: [18, 29],
2870
loc: {
2871
start: { line: 1, column: 18 },
2872
end: { line: 1, column: 29 }
2873
}
2874
}],
2875
range: [16, 30],
2876
loc: {
2877
start: { line: 1, column: 16 },
2878
end: { line: 1, column: 30 }
2879
}
2880
},
2881
rest: null,
2882
generator: false,
2883
expression: false,
2884
range: [16, 30],
2885
loc: {
2886
start: { line: 1, column: 16 },
2887
end: { line: 1, column: 30 }
2888
}
2889
},
2890
kind: 'set',
2891
range: [6, 30],
2892
loc: {
2893
start: { line: 1, column: 6 },
2894
end: { line: 1, column: 30 }
2895
}
2896
}],
2897
range: [4, 32],
2898
loc: {
2899
start: { line: 1, column: 4 },
2900
end: { line: 1, column: 32 }
2901
}
2902
},
2903
range: [0, 32],
2904
loc: {
2905
start: { line: 1, column: 0 },
2906
end: { line: 1, column: 32 }
2907
}
2908
},
2909
range: [0, 32],
2910
loc: {
2911
start: { line: 1, column: 0 },
2912
end: { line: 1, column: 32 }
2913
}
2914
},
2915
2916
'x = { get: 42 }': {
2917
type: 'ExpressionStatement',
2918
expression: {
2919
type: 'AssignmentExpression',
2920
operator: '=',
2921
left: {
2922
type: 'Identifier',
2923
name: 'x',
2924
range: [0, 1],
2925
loc: {
2926
start: { line: 1, column: 0 },
2927
end: { line: 1, column: 1 }
2928
}
2929
},
2930
right: {
2931
type: 'ObjectExpression',
2932
properties: [{
2933
type: 'Property',
2934
key: {
2935
type: 'Identifier',
2936
name: 'get',
2937
range: [6, 9],
2938
loc: {
2939
start: { line: 1, column: 6 },
2940
end: { line: 1, column: 9 }
2941
}
2942
},
2943
value: {
2944
type: 'Literal',
2945
value: 42,
2946
raw: '42',
2947
range: [11, 13],
2948
loc: {
2949
start: { line: 1, column: 11 },
2950
end: { line: 1, column: 13 }
2951
}
2952
},
2953
kind: 'init',
2954
range: [6, 13],
2955
loc: {
2956
start: { line: 1, column: 6 },
2957
end: { line: 1, column: 13 }
2958
}
2959
}],
2960
range: [4, 15],
2961
loc: {
2962
start: { line: 1, column: 4 },
2963
end: { line: 1, column: 15 }
2964
}
2965
},
2966
range: [0, 15],
2967
loc: {
2968
start: { line: 1, column: 0 },
2969
end: { line: 1, column: 15 }
2970
}
2971
},
2972
range: [0, 15],
2973
loc: {
2974
start: { line: 1, column: 0 },
2975
end: { line: 1, column: 15 }
2976
}
2977
},
2978
2979
'x = { set: 43 }': {
2980
type: 'ExpressionStatement',
2981
expression: {
2982
type: 'AssignmentExpression',
2983
operator: '=',
2984
left: {
2985
type: 'Identifier',
2986
name: 'x',
2987
range: [0, 1],
2988
loc: {
2989
start: { line: 1, column: 0 },
2990
end: { line: 1, column: 1 }
2991
}
2992
},
2993
right: {
2994
type: 'ObjectExpression',
2995
properties: [{
2996
type: 'Property',
2997
key: {
2998
type: 'Identifier',
2999
name: 'set',
3000
range: [6, 9],
3001
loc: {
3002
start: { line: 1, column: 6 },
3003
end: { line: 1, column: 9 }
3004
}
3005
},
3006
value: {
3007
type: 'Literal',
3008
value: 43,
3009
raw: '43',
3010
range: [11, 13],
3011
loc: {
3012
start: { line: 1, column: 11 },
3013
end: { line: 1, column: 13 }
3014
}
3015
},
3016
kind: 'init',
3017
range: [6, 13],
3018
loc: {
3019
start: { line: 1, column: 6 },
3020
end: { line: 1, column: 13 }
3021
}
3022
}],
3023
range: [4, 15],
3024
loc: {
3025
start: { line: 1, column: 4 },
3026
end: { line: 1, column: 15 }
3027
}
3028
},
3029
range: [0, 15],
3030
loc: {
3031
start: { line: 1, column: 0 },
3032
end: { line: 1, column: 15 }
3033
}
3034
},
3035
range: [0, 15],
3036
loc: {
3037
start: { line: 1, column: 0 },
3038
end: { line: 1, column: 15 }
3039
}
3040
},
3041
3042
'x = { __proto__: 2 }': {
3043
type: 'ExpressionStatement',
3044
expression: {
3045
type: 'AssignmentExpression',
3046
operator: '=',
3047
left: {
3048
type: 'Identifier',
3049
name: 'x',
3050
range: [0, 1],
3051
loc: {
3052
start: { line: 1, column: 0 },
3053
end: { line: 1, column: 1 }
3054
}
3055
},
3056
right: {
3057
type: 'ObjectExpression',
3058
properties: [{
3059
type: 'Property',
3060
key: {
3061
type: 'Identifier',
3062
name: '__proto__',
3063
range: [6, 15],
3064
loc: {
3065
start: { line: 1, column: 6 },
3066
end: { line: 1, column: 15 }
3067
}
3068
},
3069
value: {
3070
type: 'Literal',
3071
value: 2,
3072
raw: '2',
3073
range: [17, 18],
3074
loc: {
3075
start: { line: 1, column: 17 },
3076
end: { line: 1, column: 18 }
3077
}
3078
},
3079
kind: 'init',
3080
range: [6, 18],
3081
loc: {
3082
start: { line: 1, column: 6 },
3083
end: { line: 1, column: 18 }
3084
}
3085
}],
3086
range: [4, 20],
3087
loc: {
3088
start: { line: 1, column: 4 },
3089
end: { line: 1, column: 20 }
3090
}
3091
},
3092
range: [0, 20],
3093
loc: {
3094
start: { line: 1, column: 0 },
3095
end: { line: 1, column: 20 }
3096
}
3097
},
3098
range: [0, 20],
3099
loc: {
3100
start: { line: 1, column: 0 },
3101
end: { line: 1, column: 20 }
3102
}
3103
},
3104
3105
'x = {"__proto__": 2 }': {
3106
type: 'ExpressionStatement',
3107
expression: {
3108
type: 'AssignmentExpression',
3109
operator: '=',
3110
left: {
3111
type: 'Identifier',
3112
name: 'x',
3113
range: [0, 1],
3114
loc: {
3115
start: { line: 1, column: 0 },
3116
end: { line: 1, column: 1 }
3117
}
3118
},
3119
right: {
3120
type: 'ObjectExpression',
3121
properties: [{
3122
type: 'Property',
3123
key: {
3124
type: 'Literal',
3125
value: '__proto__',
3126
raw: '"__proto__"',
3127
range: [5, 16],
3128
loc: {
3129
start: { line: 1, column: 5 },
3130
end: { line: 1, column: 16 }
3131
}
3132
},
3133
value: {
3134
type: 'Literal',
3135
value: 2,
3136
raw: '2',
3137
range: [18, 19],
3138
loc: {
3139
start: { line: 1, column: 18 },
3140
end: { line: 1, column: 19 }
3141
}
3142
},
3143
kind: 'init',
3144
range: [5, 19],
3145
loc: {
3146
start: { line: 1, column: 5 },
3147
end: { line: 1, column: 19 }
3148
}
3149
}],
3150
range: [4, 21],
3151
loc: {
3152
start: { line: 1, column: 4 },
3153
end: { line: 1, column: 21 }
3154
}
3155
},
3156
range: [0, 21],
3157
loc: {
3158
start: { line: 1, column: 0 },
3159
end: { line: 1, column: 21 }
3160
}
3161
},
3162
range: [0, 21],
3163
loc: {
3164
start: { line: 1, column: 0 },
3165
end: { line: 1, column: 21 }
3166
}
3167
},
3168
3169
'x = { get width() { return m_width }, set width(width) { m_width = width; } }': {
3170
type: 'ExpressionStatement',
3171
expression: {
3172
type: 'AssignmentExpression',
3173
operator: '=',
3174
left: {
3175
type: 'Identifier',
3176
name: 'x',
3177
range: [0, 1],
3178
loc: {
3179
start: { line: 1, column: 0 },
3180
end: { line: 1, column: 1 }
3181
}
3182
},
3183
right: {
3184
type: 'ObjectExpression',
3185
properties: [{
3186
type: 'Property',
3187
key: {
3188
type: 'Identifier',
3189
name: 'width',
3190
range: [10, 15],
3191
loc: {
3192
start: { line: 1, column: 10 },
3193
end: { line: 1, column: 15 }
3194
}
3195
},
3196
value: {
3197
type: 'FunctionExpression',
3198
id: null,
3199
params: [],
3200
defaults: [],
3201
body: {
3202
type: 'BlockStatement',
3203
body: [{
3204
type: 'ReturnStatement',
3205
argument: {
3206
type: 'Identifier',
3207
name: 'm_width',
3208
range: [27, 34],
3209
loc: {
3210
start: { line: 1, column: 27 },
3211
end: { line: 1, column: 34 }
3212
}
3213
},
3214
range: [20, 35],
3215
loc: {
3216
start: { line: 1, column: 20 },
3217
end: { line: 1, column: 35 }
3218
}
3219
}],
3220
range: [18, 36],
3221
loc: {
3222
start: { line: 1, column: 18 },
3223
end: { line: 1, column: 36 }
3224
}
3225
},
3226
rest: null,
3227
generator: false,
3228
expression: false,
3229
range: [18, 36],
3230
loc: {
3231
start: { line: 1, column: 18 },
3232
end: { line: 1, column: 36 }
3233
}
3234
},
3235
kind: 'get',
3236
range: [6, 36],
3237
loc: {
3238
start: { line: 1, column: 6 },
3239
end: { line: 1, column: 36 }
3240
}
3241
}, {
3242
type: 'Property',
3243
key: {
3244
type: 'Identifier',
3245
name: 'width',
3246
range: [42, 47],
3247
loc: {
3248
start: { line: 1, column: 42 },
3249
end: { line: 1, column: 47 }
3250
}
3251
},
3252
value: {
3253
type: 'FunctionExpression',
3254
id: null,
3255
params: [{
3256
type: 'Identifier',
3257
name: 'width',
3258
range: [48, 53],
3259
loc: {
3260
start: { line: 1, column: 48 },
3261
end: { line: 1, column: 53 }
3262
}
3263
}],
3264
defaults: [],
3265
body: {
3266
type: 'BlockStatement',
3267
body: [{
3268
type: 'ExpressionStatement',
3269
expression: {
3270
type: 'AssignmentExpression',
3271
operator: '=',
3272
left: {
3273
type: 'Identifier',
3274
name: 'm_width',
3275
range: [57, 64],
3276
loc: {
3277
start: { line: 1, column: 57 },
3278
end: { line: 1, column: 64 }
3279
}
3280
},
3281
right: {
3282
type: 'Identifier',
3283
name: 'width',
3284
range: [67, 72],
3285
loc: {
3286
start: { line: 1, column: 67 },
3287
end: { line: 1, column: 72 }
3288
}
3289
},
3290
range: [57, 72],
3291
loc: {
3292
start: { line: 1, column: 57 },
3293
end: { line: 1, column: 72 }
3294
}
3295
},
3296
range: [57, 73],
3297
loc: {
3298
start: { line: 1, column: 57 },
3299
end: { line: 1, column: 73 }
3300
}
3301
}],
3302
range: [55, 75],
3303
loc: {
3304
start: { line: 1, column: 55 },
3305
end: { line: 1, column: 75 }
3306
}
3307
},
3308
rest: null,
3309
generator: false,
3310
expression: false,
3311
range: [55, 75],
3312
loc: {
3313
start: { line: 1, column: 55 },
3314
end: { line: 1, column: 75 }
3315
}
3316
},
3317
kind: 'set',
3318
range: [38, 75],
3319
loc: {
3320
start: { line: 1, column: 38 },
3321
end: { line: 1, column: 75 }
3322
}
3323
}],
3324
range: [4, 77],
3325
loc: {
3326
start: { line: 1, column: 4 },
3327
end: { line: 1, column: 77 }
3328
}
3329
},
3330
range: [0, 77],
3331
loc: {
3332
start: { line: 1, column: 0 },
3333
end: { line: 1, column: 77 }
3334
}
3335
},
3336
range: [0, 77],
3337
loc: {
3338
start: { line: 1, column: 0 },
3339
end: { line: 1, column: 77 }
3340
}
3341
}
3342
3343
3344
},
3345
3346
'Comments': {
3347
3348
'/* block comment */ 42': {
3349
type: 'ExpressionStatement',
3350
expression: {
3351
type: 'Literal',
3352
value: 42,
3353
raw: '42',
3354
range: [20, 22],
3355
loc: {
3356
start: { line: 1, column: 20 },
3357
end: { line: 1, column: 22 }
3358
}
3359
},
3360
range: [20, 22],
3361
loc: {
3362
start: { line: 1, column: 20 },
3363
end: { line: 1, column: 22 }
3364
}
3365
},
3366
3367
'42 /* block comment 1 */ /* block comment 2 */': {
3368
"type": "Program",
3369
"body": [
3370
{
3371
"type": "ExpressionStatement",
3372
"expression": {
3373
"type": "Literal",
3374
"value": 42,
3375
"raw": "42",
3376
"range": [
3377
0,
3378
2
3379
],
3380
"trailingComments": [
3381
{
3382
"type": "Block",
3383
"value": " block comment 1 ",
3384
"range": [
3385
3,
3386
24
3387
]
3388
},
3389
{
3390
"type": "Block",
3391
"value": " block comment 2 ",
3392
"range": [
3393
25,
3394
46
3395
]
3396
}
3397
]
3398
},
3399
"range": [
3400
0,
3401
46
3402
]
3403
}
3404
],
3405
"range": [
3406
0,
3407
46
3408
],
3409
"comments": [
3410
{
3411
"type": "Block",
3412
"value": " block comment 1 ",
3413
"range": [
3414
3,
3415
24
3416
]
3417
},
3418
{
3419
"type": "Block",
3420
"value": " block comment 2 ",
3421
"range": [
3422
25,
3423
46
3424
]
3425
}
3426
],
3427
"tokens": [
3428
{
3429
"type": "Numeric",
3430
"range": [
3431
0,
3432
2
3433
],
3434
"value": "42"
3435
}
3436
]
3437
},
3438
3439
'var p1;/* block comment 1 */ /* block comment 2 */': {
3440
"range": [
3441
0,
3442
7
3443
],
3444
"loc": {
3445
"start": {
3446
"line": 1,
3447
"column": 0
3448
},
3449
"end": {
3450
"line": 1,
3451
"column": 7
3452
}
3453
},
3454
"type": "Program",
3455
"body": [
3456
{
3457
"range": [
3458
0,
3459
7
3460
],
3461
"loc": {
3462
"start": {
3463
"line": 1,
3464
"column": 0
3465
},
3466
"end": {
3467
"line": 1,
3468
"column": 7
3469
}
3470
},
3471
"type": "VariableDeclaration",
3472
"declarations": [
3473
{
3474
"range": [
3475
4,
3476
6
3477
],
3478
"loc": {
3479
"start": {
3480
"line": 1,
3481
"column": 4
3482
},
3483
"end": {
3484
"line": 1,
3485
"column": 6
3486
}
3487
},
3488
"type": "VariableDeclarator",
3489
"id": {
3490
"range": [
3491
4,
3492
6
3493
],
3494
"loc": {
3495
"start": {
3496
"line": 1,
3497
"column": 4
3498
},
3499
"end": {
3500
"line": 1,
3501
"column": 6
3502
}
3503
},
3504
"type": "Identifier",
3505
"name": "p1"
3506
},
3507
"init": null
3508
}
3509
],
3510
"kind": "var",
3511
"trailingComments": [
3512
{
3513
"range": [
3514
7,
3515
28
3516
],
3517
"loc": {
3518
"start": {
3519
"line": 1,
3520
"column": 7
3521
},
3522
"end": {
3523
"line": 1,
3524
"column": 28
3525
}
3526
},
3527
"type": "Block",
3528
"value": " block comment 1 "
3529
},
3530
{
3531
"range": [
3532
29,
3533
50
3534
],
3535
"loc": {
3536
"start": {
3537
"line": 1,
3538
"column": 29
3539
},
3540
"end": {
3541
"line": 1,
3542
"column": 50
3543
}
3544
},
3545
"type": "Block",
3546
"value": " block comment 2 "
3547
}
3548
]
3549
}
3550
],
3551
"comments": [
3552
{
3553
"range": [
3554
7,
3555
28
3556
],
3557
"loc": {
3558
"start": {
3559
"line": 1,
3560
"column": 7
3561
},
3562
"end": {
3563
"line": 1,
3564
"column": 28
3565
}
3566
},
3567
"type": "Block",
3568
"value": " block comment 1 "
3569
},
3570
{
3571
"range": [
3572
29,
3573
50
3574
],
3575
"loc": {
3576
"start": {
3577
"line": 1,
3578
"column": 29
3579
},
3580
"end": {
3581
"line": 1,
3582
"column": 50
3583
}
3584
},
3585
"type": "Block",
3586
"value": " block comment 2 "
3587
}
3588
],
3589
"tokens": [
3590
{
3591
"range": [
3592
0,
3593
3
3594
],
3595
"loc": {
3596
"start": {
3597
"line": 1,
3598
"column": 0
3599
},
3600
"end": {
3601
"line": 1,
3602
"column": 3
3603
}
3604
},
3605
"type": "Keyword",
3606
"value": "var"
3607
},
3608
{
3609
"range": [
3610
4,
3611
6
3612
],
3613
"loc": {
3614
"start": {
3615
"line": 1,
3616
"column": 4
3617
},
3618
"end": {
3619
"line": 1,
3620
"column": 6
3621
}
3622
},
3623
"type": "Identifier",
3624
"value": "p1"
3625
},
3626
{
3627
"range": [
3628
6,
3629
7
3630
],
3631
"loc": {
3632
"start": {
3633
"line": 1,
3634
"column": 6
3635
},
3636
"end": {
3637
"line": 1,
3638
"column": 7
3639
}
3640
},
3641
"type": "Punctuator",
3642
"value": ";"
3643
}
3644
]
3645
},
3646
3647
'/*42*/': {
3648
"range": [
3649
6,
3650
6
3651
],
3652
"loc": {
3653
"start": {
3654
"line": 1,
3655
"column": 6
3656
},
3657
"end": {
3658
"line": 1,
3659
"column": 6
3660
}
3661
},
3662
"type": "Program",
3663
"body": [],
3664
"leadingComments": [
3665
{
3666
"range": [
3667
0,
3668
6
3669
],
3670
"loc": {
3671
"start": {
3672
"line": 1,
3673
"column": 0
3674
},
3675
"end": {
3676
"line": 1,
3677
"column": 6
3678
}
3679
},
3680
"type": "Block",
3681
"value": "42"
3682
}
3683
],
3684
"comments": [
3685
{
3686
"range": [
3687
0,
3688
6
3689
],
3690
"loc": {
3691
"start": {
3692
"line": 1,
3693
"column": 0
3694
},
3695
"end": {
3696
"line": 1,
3697
"column": 6
3698
}
3699
},
3700
"type": "Block",
3701
"value": "42"
3702
}
3703
],
3704
"tokens": []
3705
},
3706
3707
'(a + /* assignmenr */b ) * c': {
3708
"type": "Program",
3709
"body": [
3710
{
3711
"type": "ExpressionStatement",
3712
"expression": {
3713
"type": "BinaryExpression",
3714
"operator": "*",
3715
"left": {
3716
"type": "BinaryExpression",
3717
"operator": "+",
3718
"left": {
3719
"type": "Identifier",
3720
"name": "a",
3721
"range": [
3722
1,
3723
2
3724
],
3725
"loc": {
3726
"start": {
3727
"line": 1,
3728
"column": 1
3729
},
3730
"end": {
3731
"line": 1,
3732
"column": 2
3733
}
3734
}
3735
},
3736
"right": {
3737
"type": "Identifier",
3738
"name": "b",
3739
"range": [
3740
21,
3741
22
3742
],
3743
"loc": {
3744
"start": {
3745
"line": 1,
3746
"column": 21
3747
},
3748
"end": {
3749
"line": 1,
3750
"column": 22
3751
}
3752
},
3753
"leadingComments": [
3754
{
3755
"type": "Block",
3756
"value": " assignmenr ",
3757
"range": [
3758
5,
3759
21
3760
],
3761
"loc": {
3762
"start": {
3763
"line": 1,
3764
"column": 5
3765
},
3766
"end": {
3767
"line": 1,
3768
"column": 21
3769
}
3770
}
3771
}
3772
]
3773
},
3774
"range": [
3775
1,
3776
22
3777
],
3778
"loc": {
3779
"start": {
3780
"line": 1,
3781
"column": 1
3782
},
3783
"end": {
3784
"line": 1,
3785
"column": 22
3786
}
3787
}
3788
},
3789
"right": {
3790
"type": "Identifier",
3791
"name": "c",
3792
"range": [
3793
27,
3794
28
3795
],
3796
"loc": {
3797
"start": {
3798
"line": 1,
3799
"column": 27
3800
},
3801
"end": {
3802
"line": 1,
3803
"column": 28
3804
}
3805
}
3806
},
3807
"range": [
3808
0,
3809
28
3810
],
3811
"loc": {
3812
"start": {
3813
"line": 1,
3814
"column": 0
3815
},
3816
"end": {
3817
"line": 1,
3818
"column": 28
3819
}
3820
}
3821
},
3822
"range": [
3823
0,
3824
28
3825
],
3826
"loc": {
3827
"start": {
3828
"line": 1,
3829
"column": 0
3830
},
3831
"end": {
3832
"line": 1,
3833
"column": 28
3834
}
3835
}
3836
}
3837
],
3838
"range": [
3839
0,
3840
28
3841
],
3842
"loc": {
3843
"start": {
3844
"line": 1,
3845
"column": 0
3846
},
3847
"end": {
3848
"line": 1,
3849
"column": 28
3850
}
3851
},
3852
"comments": [
3853
{
3854
"type": "Block",
3855
"value": " assignmenr ",
3856
"range": [
3857
5,
3858
21
3859
],
3860
"loc": {
3861
"start": {
3862
"line": 1,
3863
"column": 5
3864
},
3865
"end": {
3866
"line": 1,
3867
"column": 21
3868
}
3869
}
3870
}
3871
]
3872
},
3873
3874
'/* assignmenr */\n a = b': {
3875
"type": "Program",
3876
"body": [
3877
{
3878
"type": "ExpressionStatement",
3879
"expression": {
3880
"type": "AssignmentExpression",
3881
"operator": "=",
3882
"left": {
3883
"type": "Identifier",
3884
"name": "a",
3885
"range": [
3886
18,
3887
19
3888
],
3889
"loc": {
3890
"start": {
3891
"line": 2,
3892
"column": 1
3893
},
3894
"end": {
3895
"line": 2,
3896
"column": 2
3897
}
3898
}
3899
},
3900
"right": {
3901
"type": "Identifier",
3902
"name": "b",
3903
"range": [
3904
22,
3905
23
3906
],
3907
"loc": {
3908
"start": {
3909
"line": 2,
3910
"column": 5
3911
},
3912
"end": {
3913
"line": 2,
3914
"column": 6
3915
}
3916
}
3917
},
3918
"range": [
3919
18,
3920
23
3921
],
3922
"loc": {
3923
"start": {
3924
"line": 2,
3925
"column": 1
3926
},
3927
"end": {
3928
"line": 2,
3929
"column": 6
3930
}
3931
}
3932
},
3933
"range": [
3934
18,
3935
23
3936
],
3937
"loc": {
3938
"start": {
3939
"line": 2,
3940
"column": 1
3941
},
3942
"end": {
3943
"line": 2,
3944
"column": 6
3945
}
3946
},
3947
"leadingComments": [
3948
{
3949
"type": "Block",
3950
"value": " assignmenr ",
3951
"range": [
3952
0,
3953
16
3954
],
3955
"loc": {
3956
"start": {
3957
"line": 1,
3958
"column": 0
3959
},
3960
"end": {
3961
"line": 1,
3962
"column": 16
3963
}
3964
}
3965
}
3966
]
3967
}
3968
],
3969
"range": [
3970
18,
3971
23
3972
],
3973
"loc": {
3974
"start": {
3975
"line": 2,
3976
"column": 1
3977
},
3978
"end": {
3979
"line": 2,
3980
"column": 6
3981
}
3982
},
3983
"comments": [
3984
{
3985
"type": "Block",
3986
"value": " assignmenr ",
3987
"range": [
3988
0,
3989
16
3990
],
3991
"loc": {
3992
"start": {
3993
"line": 1,
3994
"column": 0
3995
},
3996
"end": {
3997
"line": 1,
3998
"column": 16
3999
}
4000
}
4001
}
4002
]
4003
},
4004
4005
'42 /*The*/ /*Answer*/': {
4006
type: 'Program',
4007
body: [{
4008
type: 'ExpressionStatement',
4009
expression: {
4010
type: 'Literal',
4011
value: 42,
4012
raw: '42',
4013
range: [0, 2],
4014
loc: {
4015
start: { line: 1, column: 0 },
4016
end: { line: 1, column: 2 }
4017
}
4018
},
4019
range: [0, 21],
4020
loc: {
4021
start: { line: 1, column: 0 },
4022
end: { line: 1, column: 21 }
4023
}
4024
}],
4025
range: [0, 21],
4026
loc: {
4027
start: { line: 1, column: 0 },
4028
end: { line: 1, column: 21 }
4029
},
4030
comments: [{
4031
type: 'Block',
4032
value: 'The',
4033
range: [3, 10],
4034
loc: {
4035
start: { line: 1, column: 3 },
4036
end: { line: 1, column: 10 }
4037
}
4038
}, {
4039
type: 'Block',
4040
value: 'Answer',
4041
range: [11, 21],
4042
loc: {
4043
start: { line: 1, column: 11 },
4044
end: { line: 1, column: 21 }
4045
}
4046
}]
4047
},
4048
4049
'42 /*the*/ /*answer*/': {
4050
type: 'Program',
4051
body: [{
4052
type: 'ExpressionStatement',
4053
expression: {
4054
type: 'Literal',
4055
value: 42,
4056
raw: '42',
4057
range: [0, 2]
4058
},
4059
range: [0, 21]
4060
}],
4061
range: [0, 21],
4062
comments: [{
4063
type: 'Block',
4064
value: 'the',
4065
range: [3, 10]
4066
}, {
4067
type: 'Block',
4068
value: 'answer',
4069
range: [11, 21]
4070
}]
4071
},
4072
4073
'42 /* the * answer */': {
4074
type: 'ExpressionStatement',
4075
expression: {
4076
type: 'Literal',
4077
value: 42,
4078
raw: '42',
4079
range: [0, 2],
4080
loc: {
4081
start: { line: 1, column: 0 },
4082
end: { line: 1, column: 2 }
4083
}
4084
},
4085
range: [0, 21],
4086
loc: {
4087
start: { line: 1, column: 0 },
4088
end: { line: 1, column: 21 }
4089
}
4090
},
4091
4092
'42 /* The * answer */': {
4093
type: 'Program',
4094
body: [{
4095
type: 'ExpressionStatement',
4096
expression: {
4097
type: 'Literal',
4098
value: 42,
4099
raw: '42',
4100
range: [0, 2],
4101
loc: {
4102
start: { line: 1, column: 0 },
4103
end: { line: 1, column: 2 }
4104
}
4105
},
4106
range: [0, 21],
4107
loc: {
4108
start: { line: 1, column: 0 },
4109
end: { line: 1, column: 21 }
4110
}
4111
}],
4112
range: [0, 21],
4113
loc: {
4114
start: { line: 1, column: 0 },
4115
end: { line: 1, column: 21 }
4116
},
4117
comments: [{
4118
type: 'Block',
4119
value: ' The * answer ',
4120
range: [3, 21],
4121
loc: {
4122
start: { line: 1, column: 3 },
4123
end: { line: 1, column: 21 }
4124
}
4125
}]
4126
},
4127
4128
'/* multiline\ncomment\nshould\nbe\nignored */ 42': {
4129
type: 'ExpressionStatement',
4130
expression: {
4131
type: 'Literal',
4132
value: 42,
4133
raw: '42',
4134
range: [42, 44],
4135
loc: {
4136
start: { line: 5, column: 11 },
4137
end: { line: 5, column: 13 }
4138
}
4139
},
4140
range: [42, 44],
4141
loc: {
4142
start: { line: 5, column: 11 },
4143
end: { line: 5, column: 13 }
4144
}
4145
},
4146
4147
'/*a\r\nb*/ 42': {
4148
type: 'Program',
4149
body: [{
4150
type: 'ExpressionStatement',
4151
expression: {
4152
type: 'Literal',
4153
value: 42,
4154
raw: '42',
4155
range: [9, 11],
4156
loc: {
4157
start: { line: 2, column: 4 },
4158
end: { line: 2, column: 6 }
4159
}
4160
},
4161
range: [9, 11],
4162
loc: {
4163
start: { line: 2, column: 4 },
4164
end: { line: 2, column: 6 }
4165
},
4166
leadingComments: [{
4167
type: 'Block',
4168
value: 'a\r\nb',
4169
range: [0, 8],
4170
loc: {
4171
start: { line: 1, column: 0 },
4172
end: { line: 2, column: 3 }
4173
}
4174
}]
4175
}],
4176
range: [9, 11],
4177
loc: {
4178
start: { line: 2, column: 4 },
4179
end: { line: 2, column: 6 }
4180
},
4181
comments: [{
4182
type: 'Block',
4183
value: 'a\r\nb',
4184
range: [0, 8],
4185
loc: {
4186
start: { line: 1, column: 0 },
4187
end: { line: 2, column: 3 }
4188
}
4189
}]
4190
},
4191
4192
'/*a\rb*/ 42': {
4193
type: 'Program',
4194
body: [{
4195
type: 'ExpressionStatement',
4196
expression: {
4197
type: 'Literal',
4198
value: 42,
4199
raw: '42',
4200
range: [8, 10],
4201
loc: {
4202
start: { line: 2, column: 4 },
4203
end: { line: 2, column: 6 }
4204
}
4205
},
4206
range: [8, 10],
4207
loc: {
4208
start: { line: 2, column: 4 },
4209
end: { line: 2, column: 6 }
4210
}
4211
}],
4212
range: [8, 10],
4213
loc: {
4214
start: { line: 2, column: 4 },
4215
end: { line: 2, column: 6 }
4216
},
4217
comments: [{
4218
type: 'Block',
4219
value: 'a\rb',
4220
range: [0, 7],
4221
loc: {
4222
start: { line: 1, column: 0 },
4223
end: { line: 2, column: 3 }
4224
}
4225
}]
4226
},
4227
4228
'/*a\nb*/ 42': {
4229
type: 'Program',
4230
body: [{
4231
type: 'ExpressionStatement',
4232
expression: {
4233
type: 'Literal',
4234
value: 42,
4235
raw: '42',
4236
range: [8, 10],
4237
loc: {
4238
start: { line: 2, column: 4 },
4239
end: { line: 2, column: 6 }
4240
}
4241
},
4242
range: [8, 10],
4243
loc: {
4244
start: { line: 2, column: 4 },
4245
end: { line: 2, column: 6 }
4246
},
4247
leadingComments: [{
4248
type: 'Block',
4249
value: 'a\nb',
4250
range: [0, 7],
4251
loc: {
4252
start: { line: 1, column: 0 },
4253
end: { line: 2, column: 3 }
4254
}
4255
}]
4256
}],
4257
range: [8, 10],
4258
loc: {
4259
start: { line: 2, column: 4 },
4260
end: { line: 2, column: 6 }
4261
},
4262
comments: [{
4263
type: 'Block',
4264
value: 'a\nb',
4265
range: [0, 7],
4266
loc: {
4267
start: { line: 1, column: 0 },
4268
end: { line: 2, column: 3 }
4269
}
4270
}]
4271
},
4272
4273
'/*a\nc*/ 42': {
4274
type: 'Program',
4275
body: [{
4276
type: 'ExpressionStatement',
4277
expression: {
4278
type: 'Literal',
4279
value: 42,
4280
raw: '42',
4281
range: [8, 10],
4282
loc: {
4283
start: { line: 2, column: 4 },
4284
end: { line: 2, column: 6 }
4285
}
4286
},
4287
range: [8, 10],
4288
loc: {
4289
start: { line: 2, column: 4 },
4290
end: { line: 2, column: 6 }
4291
},
4292
leadingComments: [{
4293
type: 'Block',
4294
value: 'a\nc',
4295
range: [0, 7],
4296
loc: {
4297
start: { line: 1, column: 0 },
4298
end: { line: 2, column: 3 }
4299
}
4300
}]
4301
}],
4302
range: [8, 10],
4303
loc: {
4304
start: { line: 2, column: 4 },
4305
end: { line: 2, column: 6 }
4306
},
4307
comments: [{
4308
type: 'Block',
4309
value: 'a\nc',
4310
range: [0, 7],
4311
loc: {
4312
start: { line: 1, column: 0 },
4313
end: { line: 2, column: 3 }
4314
}
4315
}]
4316
},
4317
4318
'// one\\n': {
4319
type: 'Program',
4320
body: [],
4321
range: [8, 8],
4322
loc: {
4323
start: { line: 1, column: 8 },
4324
end: { line: 1, column: 8 }
4325
},
4326
leadingComments: [{
4327
type: 'Line',
4328
value: ' one\\n',
4329
range: [0, 8],
4330
loc: {
4331
start: { line: 1, column: 0 },
4332
end: { line: 1, column: 8 }
4333
}
4334
}],
4335
comments: [{
4336
type: 'Line',
4337
value: ' one\\n',
4338
range: [0, 8],
4339
loc: {
4340
start: { line: 1, column: 0 },
4341
end: { line: 1, column: 8 }
4342
}
4343
}]
4344
},
4345
4346
'// line comment\n42': {
4347
type: 'ExpressionStatement',
4348
expression: {
4349
type: 'Literal',
4350
value: 42,
4351
raw: '42',
4352
range: [16, 18],
4353
loc: {
4354
start: { line: 2, column: 0 },
4355
end: { line: 2, column: 2 }
4356
}
4357
},
4358
range: [16, 18],
4359
loc: {
4360
start: { line: 2, column: 0 },
4361
end: { line: 2, column: 2 }
4362
}
4363
},
4364
4365
'42 // line comment': {
4366
type: 'Program',
4367
body: [{
4368
type: 'ExpressionStatement',
4369
expression: {
4370
type: 'Literal',
4371
value: 42,
4372
raw: '42',
4373
range: [0, 2],
4374
loc: {
4375
start: { line: 1, column: 0 },
4376
end: { line: 1, column: 2 }
4377
},
4378
trailingComments: [{
4379
type: 'Line',
4380
value: ' line comment',
4381
range: [3, 18],
4382
loc: {
4383
start: { line: 1, column: 3 },
4384
end: { line: 1, column: 18 }
4385
}
4386
}]
4387
},
4388
range: [0, 18],
4389
loc: {
4390
start: { line: 1, column: 0 },
4391
end: { line: 1, column: 18 }
4392
}
4393
}],
4394
range: [0, 18],
4395
loc: {
4396
start: { line: 1, column: 0 },
4397
end: { line: 1, column: 18 }
4398
},
4399
comments: [{
4400
type: 'Line',
4401
value: ' line comment',
4402
range: [3, 18],
4403
loc: {
4404
start: { line: 1, column: 3 },
4405
end: { line: 1, column: 18 }
4406
}
4407
}]
4408
},
4409
4410
'// Hello, world!\n42': {
4411
type: 'Program',
4412
body: [{
4413
type: 'ExpressionStatement',
4414
expression: {
4415
type: 'Literal',
4416
value: 42,
4417
raw: '42',
4418
range: [17, 19],
4419
loc: {
4420
start: { line: 2, column: 0 },
4421
end: { line: 2, column: 2 }
4422
}
4423
},
4424
range: [17, 19],
4425
loc: {
4426
start: { line: 2, column: 0 },
4427
end: { line: 2, column: 2 }
4428
},
4429
leadingComments: [{
4430
type: 'Line',
4431
value: ' Hello, world!',
4432
range: [0, 16],
4433
loc: {
4434
start: { line: 1, column: 0 },
4435
end: { line: 1, column: 16 }
4436
}
4437
}]
4438
}],
4439
range: [17, 19],
4440
loc: {
4441
start: { line: 2, column: 0 },
4442
end: { line: 2, column: 2 }
4443
},
4444
comments: [{
4445
type: 'Line',
4446
value: ' Hello, world!',
4447
range: [0, 16],
4448
loc: {
4449
start: { line: 1, column: 0 },
4450
end: { line: 1, column: 16 }
4451
}
4452
}]
4453
},
4454
4455
'// Hello, world!\n': {
4456
type: 'Program',
4457
body: [],
4458
range: [17, 17],
4459
loc: {
4460
start: { line: 2, column: 0 },
4461
end: { line: 2, column: 0 }
4462
},
4463
comments: [{
4464
type: 'Line',
4465
value: ' Hello, world!',
4466
range: [0, 16],
4467
loc: {
4468
start: { line: 1, column: 0 },
4469
end: { line: 1, column: 16 }
4470
}
4471
}]
4472
},
4473
4474
'// Hallo, world!\n': {
4475
type: 'Program',
4476
body: [],
4477
loc: {
4478
start: { line: 2, column: 0 },
4479
end: { line: 2, column: 0 }
4480
},
4481
comments: [{
4482
type: 'Line',
4483
value: ' Hallo, world!',
4484
loc: {
4485
start: { line: 1, column: 0 },
4486
end: { line: 1, column: 16 }
4487
}
4488
}]
4489
},
4490
4491
'//\n42': {
4492
type: 'Program',
4493
body: [{
4494
type: 'ExpressionStatement',
4495
expression: {
4496
type: 'Literal',
4497
value: 42,
4498
raw: '42',
4499
range: [3, 5],
4500
loc: {
4501
start: { line: 2, column: 0 },
4502
end: { line: 2, column: 2 }
4503
}
4504
},
4505
range: [3, 5],
4506
loc: {
4507
start: { line: 2, column: 0 },
4508
end: { line: 2, column: 2 }
4509
},
4510
leadingComments: [{
4511
type: 'Line',
4512
value: '',
4513
range: [0, 2],
4514
loc: {
4515
start: { line: 1, column: 0 },
4516
end: { line: 1, column: 2 }
4517
}
4518
}]
4519
}],
4520
range: [3, 5],
4521
loc: {
4522
start: { line: 2, column: 0 },
4523
end: { line: 2, column: 2 }
4524
},
4525
comments: [{
4526
type: 'Line',
4527
value: '',
4528
range: [0, 2],
4529
loc: {
4530
start: { line: 1, column: 0 },
4531
end: { line: 1, column: 2 }
4532
}
4533
}]
4534
},
4535
4536
'//': {
4537
type: 'Program',
4538
body: [],
4539
range: [2, 2],
4540
loc: {
4541
start: { line: 1, column: 2 },
4542
end: { line: 1, column: 2 }
4543
},
4544
comments: [{
4545
type: 'Line',
4546
value: '',
4547
range: [0, 2],
4548
loc: {
4549
start: { line: 1, column: 0 },
4550
end: { line: 1, column: 2 }
4551
}
4552
}]
4553
},
4554
4555
'// ': {
4556
type: 'Program',
4557
body: [],
4558
range: [3, 3],
4559
comments: [{
4560
type: 'Line',
4561
value: ' ',
4562
range: [0, 3]
4563
}]
4564
},
4565
4566
'/**/42': {
4567
type: 'Program',
4568
body: [{
4569
type: 'ExpressionStatement',
4570
expression: {
4571
type: 'Literal',
4572
value: 42,
4573
raw: '42',
4574
range: [4, 6],
4575
loc: {
4576
start: { line: 1, column: 4 },
4577
end: { line: 1, column: 6 }
4578
}
4579
},
4580
range: [4, 6],
4581
loc: {
4582
start: { line: 1, column: 4 },
4583
end: { line: 1, column: 6 }
4584
},
4585
leadingComments: [{
4586
type: 'Block',
4587
value: '',
4588
range: [0, 4],
4589
loc: {
4590
start: { line: 1, column: 0 },
4591
end: { line: 1, column: 4 }
4592
}
4593
}]
4594
}],
4595
range: [4, 6],
4596
loc: {
4597
start: { line: 1, column: 4 },
4598
end: { line: 1, column: 6 }
4599
},
4600
comments: [{
4601
type: 'Block',
4602
value: '',
4603
range: [0, 4],
4604
loc: {
4605
start: { line: 1, column: 0 },
4606
end: { line: 1, column: 4 }
4607
}
4608
}]
4609
},
4610
4611
'42/**/': {
4612
type: 'Program',
4613
body: [{
4614
type: 'ExpressionStatement',
4615
expression: {
4616
type: 'Literal',
4617
value: 42,
4618
raw: '42',
4619
range: [0, 2],
4620
loc: {
4621
start: { line: 1, column: 0 },
4622
end: { line: 1, column: 2 }
4623
},
4624
trailingComments: [{
4625
type: 'Block',
4626
value: '',
4627
range: [2, 6],
4628
loc: {
4629
start: { line: 1, column: 2 },
4630
end: { line: 1, column: 6 }
4631
}
4632
}]
4633
},
4634
range: [0, 6],
4635
loc: {
4636
start: { line: 1, column: 0 },
4637
end: { line: 1, column: 6 }
4638
}
4639
}],
4640
range: [0, 6],
4641
loc: {
4642
start: { line: 1, column: 0 },
4643
end: { line: 1, column: 6 }
4644
},
4645
comments: [{
4646
type: 'Block',
4647
value: '',
4648
range: [2, 6],
4649
loc: {
4650
start: { line: 1, column: 2 },
4651
end: { line: 1, column: 6 }
4652
}
4653
}]
4654
},
4655
4656
'// Hello, world!\n\n// Another hello\n42': {
4657
type: 'Program',
4658
body: [{
4659
type: 'ExpressionStatement',
4660
expression: {
4661
type: 'Literal',
4662
value: 42,
4663
raw: '42',
4664
range: [37, 39],
4665
loc: {
4666
start: { line: 4, column: 0 },
4667
end: { line: 4, column: 2 }
4668
}
4669
},
4670
range: [37, 39],
4671
loc: {
4672
start: { line: 4, column: 0 },
4673
end: { line: 4, column: 2 }
4674
},
4675
leadingComments: [{
4676
type: 'Line',
4677
value: ' Hello, world!',
4678
range: [0, 16],
4679
loc: {
4680
start: { line: 1, column: 0 },
4681
end: { line: 1, column: 16 }
4682
}
4683
}, {
4684
type: 'Line',
4685
value: ' Another hello',
4686
range: [18, 36],
4687
loc: {
4688
start: { line: 3, column: 0 },
4689
end: { line: 3, column: 18 }
4690
}
4691
}]
4692
}],
4693
range: [37, 39],
4694
loc: {
4695
start: { line: 4, column: 0 },
4696
end: { line: 4, column: 2 }
4697
},
4698
comments: [{
4699
type: 'Line',
4700
value: ' Hello, world!',
4701
range: [0, 16],
4702
loc: {
4703
start: { line: 1, column: 0 },
4704
end: { line: 1, column: 16 }
4705
}
4706
}, {
4707
type: 'Line',
4708
value: ' Another hello',
4709
range: [18, 36],
4710
loc: {
4711
start: { line: 3, column: 0 },
4712
end: { line: 3, column: 18 }
4713
}
4714
}]
4715
},
4716
4717
'if (x) { doThat() // Some comment\n }': {
4718
type: 'Program',
4719
body: [{
4720
type: 'IfStatement',
4721
test: {
4722
type: 'Identifier',
4723
name: 'x',
4724
range: [4, 5],
4725
loc: {
4726
start: { line: 1, column: 4 },
4727
end: { line: 1, column: 5 }
4728
}
4729
},
4730
consequent: {
4731
type: 'BlockStatement',
4732
body: [{
4733
type: 'ExpressionStatement',
4734
expression: {
4735
type: 'CallExpression',
4736
callee: {
4737
type: 'Identifier',
4738
name: 'doThat',
4739
range: [9, 15],
4740
loc: {
4741
start: { line: 1, column: 9 },
4742
end: { line: 1, column: 15 }
4743
}
4744
},
4745
'arguments': [],
4746
range: [9, 17],
4747
loc: {
4748
start: { line: 1, column: 9 },
4749
end: { line: 1, column: 17 }
4750
}
4751
},
4752
range: [9, 17],
4753
loc: {
4754
start: { line: 1, column: 9 },
4755
end: { line: 1, column: 17 }
4756
},
4757
trailingComments: [{
4758
type: 'Line',
4759
value: ' Some comment',
4760
range: [18, 33],
4761
loc: {
4762
start: { line: 1, column: 18 },
4763
end: { line: 1, column: 33 }
4764
}
4765
}]
4766
}],
4767
range: [7, 36],
4768
loc: {
4769
start: { line: 1, column: 7 },
4770
end: { line: 2, column: 2 }
4771
}
4772
},
4773
alternate: null,
4774
range: [0, 36],
4775
loc: {
4776
start: { line: 1, column: 0 },
4777
end: { line: 2, column: 2 }
4778
}
4779
}],
4780
range: [0, 36],
4781
loc: {
4782
start: { line: 1, column: 0 },
4783
end: { line: 2, column: 2 }
4784
},
4785
comments: [{
4786
type: 'Line',
4787
value: ' Some comment',
4788
range: [18, 33],
4789
loc: {
4790
start: { line: 1, column: 18 },
4791
end: { line: 1, column: 33 }
4792
}
4793
}]
4794
},
4795
4796
'if (x) { // Some comment\ndoThat(); }': {
4797
type: 'Program',
4798
body: [{
4799
type: 'IfStatement',
4800
test: {
4801
type: 'Identifier',
4802
name: 'x',
4803
range: [4, 5],
4804
loc: {
4805
start: { line: 1, column: 4 },
4806
end: { line: 1, column: 5 }
4807
}
4808
},
4809
consequent: {
4810
type: 'BlockStatement',
4811
body: [{
4812
type: 'ExpressionStatement',
4813
expression: {
4814
type: 'CallExpression',
4815
callee: {
4816
type: 'Identifier',
4817
name: 'doThat',
4818
range: [25, 31],
4819
loc: {
4820
start: { line: 2, column: 0 },
4821
end: { line: 2, column: 6 }
4822
}
4823
},
4824
'arguments': [],
4825
range: [25, 33],
4826
loc: {
4827
start: { line: 2, column: 0 },
4828
end: { line: 2, column: 8 }
4829
}
4830
},
4831
range: [25, 34],
4832
loc: {
4833
start: { line: 2, column: 0 },
4834
end: { line: 2, column: 9 }
4835
},
4836
leadingComments: [{
4837
type: 'Line',
4838
value: ' Some comment',
4839
range: [9, 24],
4840
loc: {
4841
start: { line: 1, column: 9 },
4842
end: { line: 1, column: 24 }
4843
}
4844
}]
4845
}],
4846
range: [7, 36],
4847
loc: {
4848
start: { line: 1, column: 7 },
4849
end: { line: 2, column: 11 }
4850
}
4851
},
4852
alternate: null,
4853
range: [0, 36],
4854
loc: {
4855
start: { line: 1, column: 0 },
4856
end: { line: 2, column: 11 }
4857
}
4858
}],
4859
range: [0, 36],
4860
loc: {
4861
start: { line: 1, column: 0 },
4862
end: { line: 2, column: 11 }
4863
},
4864
comments: [{
4865
type: 'Line',
4866
value: ' Some comment',
4867
range: [9, 24],
4868
loc: {
4869
start: { line: 1, column: 9 },
4870
end: { line: 1, column: 24 }
4871
}
4872
}]
4873
},
4874
4875
'if (x) { /* Some comment */ doThat() }': {
4876
type: 'Program',
4877
body: [{
4878
type: 'IfStatement',
4879
test: {
4880
type: 'Identifier',
4881
name: 'x',
4882
range: [4, 5],
4883
loc: {
4884
start: { line: 1, column: 4 },
4885
end: { line: 1, column: 5 }
4886
}
4887
},
4888
consequent: {
4889
type: 'BlockStatement',
4890
body: [{
4891
type: 'ExpressionStatement',
4892
expression: {
4893
type: 'CallExpression',
4894
callee: {
4895
type: 'Identifier',
4896
name: 'doThat',
4897
range: [28, 34],
4898
loc: {
4899
start: { line: 1, column: 28 },
4900
end: { line: 1, column: 34 }
4901
}
4902
},
4903
'arguments': [],
4904
range: [28, 36],
4905
loc: {
4906
start: { line: 1, column: 28 },
4907
end: { line: 1, column: 36 }
4908
}
4909
},
4910
range: [28, 37],
4911
loc: {
4912
start: { line: 1, column: 28 },
4913
end: { line: 1, column: 37 }
4914
},
4915
leadingComments: [{
4916
type: 'Block',
4917
value: ' Some comment ',
4918
range: [9, 27],
4919
loc: {
4920
start: { line: 1, column: 9 },
4921
end: { line: 1, column: 27 }
4922
}
4923
}]
4924
}],
4925
range: [7, 38],
4926
loc: {
4927
start: { line: 1, column: 7 },
4928
end: { line: 1, column: 38 }
4929
}
4930
},
4931
alternate: null,
4932
range: [0, 38],
4933
loc: {
4934
start: { line: 1, column: 0 },
4935
end: { line: 1, column: 38 }
4936
}
4937
}],
4938
range: [0, 38],
4939
loc: {
4940
start: { line: 1, column: 0 },
4941
end: { line: 1, column: 38 }
4942
},
4943
comments: [{
4944
type: 'Block',
4945
value: ' Some comment ',
4946
range: [9, 27],
4947
loc: {
4948
start: { line: 1, column: 9 },
4949
end: { line: 1, column: 27 }
4950
}
4951
}]
4952
},
4953
4954
'if (x) { doThat() /* Some comment */ }': {
4955
type: 'Program',
4956
body: [{
4957
type: 'IfStatement',
4958
test: {
4959
type: 'Identifier',
4960
name: 'x',
4961
range: [4, 5],
4962
loc: {
4963
start: { line: 1, column: 4 },
4964
end: { line: 1, column: 5 }
4965
}
4966
},
4967
consequent: {
4968
type: 'BlockStatement',
4969
body: [{
4970
type: 'ExpressionStatement',
4971
expression: {
4972
type: 'CallExpression',
4973
callee: {
4974
type: 'Identifier',
4975
name: 'doThat',
4976
range: [9, 15],
4977
loc: {
4978
start: { line: 1, column: 9 },
4979
end: { line: 1, column: 15 }
4980
}
4981
},
4982
'arguments': [],
4983
range: [9, 17],
4984
loc: {
4985
start: { line: 1, column: 9 },
4986
end: { line: 1, column: 17 }
4987
},
4988
trailingComments: [{
4989
type: 'Block',
4990
value: ' Some comment ',
4991
range: [18, 36],
4992
loc: {
4993
start: { line: 1, column: 18 },
4994
end: { line: 1, column: 36 }
4995
}
4996
}]
4997
},
4998
range: [9, 37],
4999
loc: {
5000
start: { line: 1, column: 9 },
5001
end: { line: 1, column: 37 }
5002
}
5003
}],
5004
range: [7, 38],
5005
loc: {
5006
start: { line: 1, column: 7 },
5007
end: { line: 1, column: 38 }
5008
}
5009
},
5010
alternate: null,
5011
range: [0, 38],
5012
loc: {
5013
start: { line: 1, column: 0 },
5014
end: { line: 1, column: 38 }
5015
}
5016
}],
5017
range: [0, 38],
5018
loc: {
5019
start: { line: 1, column: 0 },
5020
end: { line: 1, column: 38 }
5021
},
5022
comments: [{
5023
type: 'Block',
5024
value: ' Some comment ',
5025
range: [18, 36],
5026
loc: {
5027
start: { line: 1, column: 18 },
5028
end: { line: 1, column: 36 }
5029
}
5030
}]
5031
},
5032
5033
'switch (answer) { case 42: /* perfect */ bingo() }': {
5034
type: 'Program',
5035
body: [{
5036
type: 'SwitchStatement',
5037
discriminant: {
5038
type: 'Identifier',
5039
name: 'answer',
5040
range: [8, 14],
5041
loc: {
5042
start: { line: 1, column: 8 },
5043
end: { line: 1, column: 14 }
5044
}
5045
},
5046
cases: [{
5047
type: 'SwitchCase',
5048
test: {
5049
type: 'Literal',
5050
value: 42,
5051
raw: '42',
5052
range: [23, 25],
5053
loc: {
5054
start: { line: 1, column: 23 },
5055
end: { line: 1, column: 25 }
5056
}
5057
},
5058
consequent: [{
5059
type: 'ExpressionStatement',
5060
expression: {
5061
type: 'CallExpression',
5062
callee: {
5063
type: 'Identifier',
5064
name: 'bingo',
5065
range: [41, 46],
5066
loc: {
5067
start: { line: 1, column: 41 },
5068
end: { line: 1, column: 46 }
5069
}
5070
},
5071
'arguments': [],
5072
range: [41, 48],
5073
loc: {
5074
start: { line: 1, column: 41 },
5075
end: { line: 1, column: 48 }
5076
}
5077
},
5078
range: [41, 49],
5079
loc: {
5080
start: { line: 1, column: 41 },
5081
end: { line: 1, column: 49 }
5082
},
5083
leadingComments: [{
5084
type: 'Block',
5085
value: ' perfect ',
5086
range: [27, 40],
5087
loc: {
5088
start: { line: 1, column: 27 },
5089
end: { line: 1, column: 40 }
5090
}
5091
}]
5092
}],
5093
range: [18, 49],
5094
loc: {
5095
start: { line: 1, column: 18 },
5096
end: { line: 1, column: 49 }
5097
}
5098
}],
5099
range: [0, 50],
5100
loc: {
5101
start: { line: 1, column: 0 },
5102
end: { line: 1, column: 50 }
5103
}
5104
}],
5105
range: [0, 50],
5106
loc: {
5107
start: { line: 1, column: 0 },
5108
end: { line: 1, column: 50 }
5109
},
5110
comments: [{
5111
type: 'Block',
5112
value: ' perfect ',
5113
range: [27, 40],
5114
loc: {
5115
start: { line: 1, column: 27 },
5116
end: { line: 1, column: 40 }
5117
}
5118
}]
5119
},
5120
5121
'switch (answer) { case 42: bingo() /* perfect */ }': {
5122
type: 'Program',
5123
body: [{
5124
type: 'SwitchStatement',
5125
discriminant: {
5126
type: 'Identifier',
5127
name: 'answer',
5128
range: [8, 14],
5129
loc: {
5130
start: { line: 1, column: 8 },
5131
end: { line: 1, column: 14 }
5132
}
5133
},
5134
cases: [{
5135
type: 'SwitchCase',
5136
test: {
5137
type: 'Literal',
5138
value: 42,
5139
raw: '42',
5140
range: [23, 25],
5141
loc: {
5142
start: { line: 1, column: 23 },
5143
end: { line: 1, column: 25 }
5144
}
5145
},
5146
consequent: [{
5147
type: 'ExpressionStatement',
5148
expression: {
5149
type: 'CallExpression',
5150
callee: {
5151
type: 'Identifier',
5152
name: 'bingo',
5153
range: [27, 32],
5154
loc: {
5155
start: { line: 1, column: 27 },
5156
end: { line: 1, column: 32 }
5157
}
5158
},
5159
'arguments': [],
5160
range: [27, 34],
5161
loc: {
5162
start: { line: 1, column: 27 },
5163
end: { line: 1, column: 34 }
5164
},
5165
trailingComments: [{
5166
type: 'Block',
5167
value: ' perfect ',
5168
range: [35, 48],
5169
loc: {
5170
start: { line: 1, column: 35 },
5171
end: { line: 1, column: 48 }
5172
}
5173
}]
5174
},
5175
range: [27, 49],
5176
loc: {
5177
start: { line: 1, column: 27 },
5178
end: { line: 1, column: 49 }
5179
}
5180
}],
5181
range: [18, 49],
5182
loc: {
5183
start: { line: 1, column: 18 },
5184
end: { line: 1, column: 49 }
5185
}
5186
}],
5187
range: [0, 50],
5188
loc: {
5189
start: { line: 1, column: 0 },
5190
end: { line: 1, column: 50 }
5191
}
5192
}],
5193
range: [0, 50],
5194
loc: {
5195
start: { line: 1, column: 0 },
5196
end: { line: 1, column: 50 }
5197
},
5198
comments: [{
5199
type: 'Block',
5200
value: ' perfect ',
5201
range: [35, 48],
5202
loc: {
5203
start: { line: 1, column: 35 },
5204
end: { line: 1, column: 48 }
5205
}
5206
}]
5207
},
5208
5209
'/* header */ (function(){ var version = 1; }).call(this)': {
5210
type: 'Program',
5211
body: [{
5212
type: 'ExpressionStatement',
5213
expression: {
5214
type: 'CallExpression',
5215
callee: {
5216
type: 'MemberExpression',
5217
computed: false,
5218
object: {
5219
type: 'FunctionExpression',
5220
id: null,
5221
params: [],
5222
defaults: [],
5223
body: {
5224
type: 'BlockStatement',
5225
body: [{
5226
type: 'VariableDeclaration',
5227
declarations: [{
5228
type: 'VariableDeclarator',
5229
id: {
5230
type: 'Identifier',
5231
name: 'version',
5232
range: [30, 37],
5233
loc: {
5234
start: { line: 1, column: 30 },
5235
end: { line: 1, column: 37 }
5236
}
5237
},
5238
init: {
5239
type: 'Literal',
5240
value: 1,
5241
raw: '1',
5242
range: [40, 41],
5243
loc: {
5244
start: { line: 1, column: 40 },
5245
end: { line: 1, column: 41 }
5246
}
5247
},
5248
range: [30, 41],
5249
loc: {
5250
start: { line: 1, column: 30 },
5251
end: { line: 1, column: 41 }
5252
}
5253
}],
5254
kind: 'var',
5255
range: [26, 42],
5256
loc: {
5257
start: { line: 1, column: 26 },
5258
end: { line: 1, column: 42 }
5259
}
5260
}],
5261
range: [24, 44],
5262
loc: {
5263
start: { line: 1, column: 24 },
5264
end: { line: 1, column: 44 }
5265
}
5266
},
5267
rest: null,
5268
generator: false,
5269
expression: false,
5270
range: [14, 44],
5271
loc: {
5272
start: { line: 1, column: 14 },
5273
end: { line: 1, column: 44 }
5274
}
5275
},
5276
property: {
5277
type: 'Identifier',
5278
name: 'call',
5279
range: [46, 50],
5280
loc: {
5281
start: { line: 1, column: 46 },
5282
end: { line: 1, column: 50 }
5283
}
5284
},
5285
range: [13, 50],
5286
loc: {
5287
start: { line: 1, column: 13 },
5288
end: { line: 1, column: 50 }
5289
}
5290
},
5291
'arguments': [{
5292
type: 'ThisExpression',
5293
range: [51, 55],
5294
loc: {
5295
start: { line: 1, column: 51 },
5296
end: { line: 1, column: 55 }
5297
}
5298
}],
5299
range: [13, 56],
5300
loc: {
5301
start: { line: 1, column: 13 },
5302
end: { line: 1, column: 56 }
5303
}
5304
},
5305
range: [13, 56],
5306
loc: {
5307
start: { line: 1, column: 13 },
5308
end: { line: 1, column: 56 }
5309
},
5310
leadingComments: [{
5311
type: 'Block',
5312
value: ' header ',
5313
range: [0, 12],
5314
loc: {
5315
start: { line: 1, column: 0 },
5316
end: { line: 1, column: 12 }
5317
}
5318
}]
5319
}],
5320
range: [13, 56],
5321
loc: {
5322
start: { line: 1, column: 13 },
5323
end: { line: 1, column: 56 }
5324
},
5325
comments: [{
5326
type: 'Block',
5327
value: ' header ',
5328
range: [0, 12],
5329
loc: {
5330
start: { line: 1, column: 0 },
5331
end: { line: 1, column: 12 }
5332
}
5333
}]
5334
},
5335
5336
'(function(){ var version = 1; /* sync */ }).call(this)': {
5337
type: 'Program',
5338
body: [{
5339
type: 'ExpressionStatement',
5340
expression: {
5341
type: 'CallExpression',
5342
callee: {
5343
type: 'MemberExpression',
5344
computed: false,
5345
object: {
5346
type: 'FunctionExpression',
5347
id: null,
5348
params: [],
5349
defaults: [],
5350
body: {
5351
type: 'BlockStatement',
5352
body: [{
5353
type: 'VariableDeclaration',
5354
declarations: [{
5355
type: 'VariableDeclarator',
5356
id: {
5357
type: 'Identifier',
5358
name: 'version',
5359
range: [17, 24],
5360
loc: {
5361
start: { line: 1, column: 17 },
5362
end: { line: 1, column: 24 }
5363
}
5364
},
5365
init: {
5366
type: 'Literal',
5367
value: 1,
5368
raw: '1',
5369
range: [27, 28],
5370
loc: {
5371
start: { line: 1, column: 27 },
5372
end: { line: 1, column: 28 }
5373
}
5374
},
5375
range: [17, 28],
5376
loc: {
5377
start: { line: 1, column: 17 },
5378
end: { line: 1, column: 28 }
5379
}
5380
}],
5381
kind: 'var',
5382
range: [13, 29],
5383
loc: {
5384
start: { line: 1, column: 13 },
5385
end: { line: 1, column: 29 }
5386
},
5387
trailingComments: [{
5388
type: 'Block',
5389
value: ' sync ',
5390
range: [30, 40],
5391
loc: {
5392
start: { line: 1, column: 30 },
5393
end: { line: 1, column: 40 }
5394
}
5395
}]
5396
}],
5397
range: [11, 42],
5398
loc: {
5399
start: { line: 1, column: 11 },
5400
end: { line: 1, column: 42 }
5401
}
5402
},
5403
rest: null,
5404
generator: false,
5405
expression: false,
5406
range: [1, 42],
5407
loc: {
5408
start: { line: 1, column: 1 },
5409
end: { line: 1, column: 42 }
5410
}
5411
},
5412
property: {
5413
type: 'Identifier',
5414
name: 'call',
5415
range: [44, 48],
5416
loc: {
5417
start: { line: 1, column: 44 },
5418
end: { line: 1, column: 48 }
5419
},
5420
leadingComments: [{
5421
type: 'Block',
5422
value: ' sync ',
5423
range: [30, 40],
5424
loc: {
5425
start: { line: 1, column: 30 },
5426
end: { line: 1, column: 40 }
5427
}
5428
}]
5429
},
5430
range: [0, 48],
5431
loc: {
5432
start: { line: 1, column: 0 },
5433
end: { line: 1, column: 48 }
5434
}
5435
},
5436
'arguments': [{
5437
type: 'ThisExpression',
5438
range: [49, 53],
5439
loc: {
5440
start: { line: 1, column: 49 },
5441
end: { line: 1, column: 53 }
5442
}
5443
}],
5444
range: [0, 54],
5445
loc: {
5446
start: { line: 1, column: 0 },
5447
end: { line: 1, column: 54 }
5448
}
5449
},
5450
range: [0, 54],
5451
loc: {
5452
start: { line: 1, column: 0 },
5453
end: { line: 1, column: 54 }
5454
}
5455
}],
5456
range: [0, 54],
5457
loc: {
5458
start: { line: 1, column: 0 },
5459
end: { line: 1, column: 54 }
5460
},
5461
comments: [{
5462
type: 'Block',
5463
value: ' sync ',
5464
range: [30, 40],
5465
loc: {
5466
start: { line: 1, column: 30 },
5467
end: { line: 1, column: 40 }
5468
}
5469
}]
5470
},
5471
5472
'function f() { /* infinite */ while (true) { } /* bar */ var each; }': {
5473
type: 'Program',
5474
body: [{
5475
type: 'FunctionDeclaration',
5476
id: {
5477
type: 'Identifier',
5478
name: 'f',
5479
range: [9, 10],
5480
loc: {
5481
start: { line: 1, column: 9 },
5482
end: { line: 1, column: 10 }
5483
}
5484
},
5485
params: [],
5486
defaults: [],
5487
body: {
5488
type: 'BlockStatement',
5489
body: [{
5490
type: 'WhileStatement',
5491
test: {
5492
type: 'Literal',
5493
value: true,
5494
raw: 'true',
5495
range: [37, 41],
5496
loc: {
5497
start: { line: 1, column: 37 },
5498
end: { line: 1, column: 41 }
5499
}
5500
},
5501
body: {
5502
type: 'BlockStatement',
5503
body: [],
5504
range: [43, 46],
5505
loc: {
5506
start: { line: 1, column: 43 },
5507
end: { line: 1, column: 46 }
5508
}
5509
},
5510
range: [30, 46],
5511
loc: {
5512
start: { line: 1, column: 30 },
5513
end: { line: 1, column: 46 }
5514
},
5515
leadingComments: [{
5516
type: 'Block',
5517
value: ' infinite ',
5518
range: [15, 29],
5519
loc: {
5520
start: { line: 1, column: 15 },
5521
end: { line: 1, column: 29 }
5522
}
5523
}],
5524
trailingComments: [{
5525
type: 'Block',
5526
value: ' bar ',
5527
range: [47, 56],
5528
loc: {
5529
start: { line: 1, column: 47 },
5530
end: { line: 1, column: 56 }
5531
}
5532
}]
5533
}, {
5534
type: 'VariableDeclaration',
5535
declarations: [{
5536
type: 'VariableDeclarator',
5537
id: {
5538
type: 'Identifier',
5539
name: 'each',
5540
range: [61, 65],
5541
loc: {
5542
start: { line: 1, column: 61 },
5543
end: { line: 1, column: 65 }
5544
}
5545
},
5546
init: null,
5547
range: [61, 65],
5548
loc: {
5549
start: { line: 1, column: 61 },
5550
end: { line: 1, column: 65 }
5551
}
5552
}],
5553
kind: 'var',
5554
range: [57, 66],
5555
loc: {
5556
start: { line: 1, column: 57 },
5557
end: { line: 1, column: 66 }
5558
},
5559
leadingComments: [{
5560
type: 'Block',
5561
value: ' bar ',
5562
range: [47, 56],
5563
loc: {
5564
start: { line: 1, column: 47 },
5565
end: { line: 1, column: 56 }
5566
}
5567
}]
5568
}],
5569
range: [13, 68],
5570
loc: {
5571
start: { line: 1, column: 13 },
5572
end: { line: 1, column: 68 }
5573
}
5574
},
5575
rest: null,
5576
generator: false,
5577
expression: false,
5578
range: [0, 68],
5579
loc: {
5580
start: { line: 1, column: 0 },
5581
end: { line: 1, column: 68 }
5582
}
5583
}],
5584
range: [0, 68],
5585
loc: {
5586
start: { line: 1, column: 0 },
5587
end: { line: 1, column: 68 }
5588
},
5589
comments: [{
5590
type: 'Block',
5591
value: ' infinite ',
5592
range: [15, 29],
5593
loc: {
5594
start: { line: 1, column: 15 },
5595
end: { line: 1, column: 29 }
5596
}
5597
}, {
5598
type: 'Block',
5599
value: ' bar ',
5600
range: [47, 56],
5601
loc: {
5602
start: { line: 1, column: 47 },
5603
end: { line: 1, column: 56 }
5604
}
5605
}]
5606
},
5607
5608
'<!-- foo': {
5609
type: 'Program',
5610
body: [],
5611
comments: [{
5612
type: 'Line',
5613
value: ' foo'
5614
}]
5615
},
5616
5617
'var x = 1<!--foo': {
5618
type: 'Program',
5619
body: [{
5620
type: 'VariableDeclaration',
5621
declarations: [{
5622
type: 'VariableDeclarator',
5623
id: {
5624
type: 'Identifier',
5625
name: 'x'
5626
},
5627
init: {
5628
type: 'Literal',
5629
value: 1,
5630
raw: '1'
5631
}
5632
}],
5633
kind: 'var'
5634
}],
5635
comments: [{
5636
type: 'Line',
5637
value: 'foo'
5638
}]
5639
},
5640
5641
'--> comment': {
5642
type: 'Program',
5643
body: [],
5644
range: [11, 11],
5645
loc: {
5646
start: { line: 1, column: 11 },
5647
end: { line: 1, column: 11 }
5648
},
5649
comments: [{
5650
type: 'Line',
5651
value: ' comment',
5652
range: [0, 11],
5653
loc: {
5654
start: { line: 1, column: 0 },
5655
end: { line: 1, column: 11 }
5656
}
5657
}]
5658
},
5659
5660
'<!-- comment': {
5661
type: 'Program',
5662
body: [],
5663
range: [12, 12],
5664
loc: {
5665
start: { line: 1, column: 12 },
5666
end: { line: 1, column: 12 }
5667
},
5668
comments: [{
5669
type: 'Line',
5670
value: ' comment',
5671
range: [0, 12],
5672
loc: {
5673
start: { line: 1, column: 0 },
5674
end: { line: 1, column: 12 }
5675
}
5676
}]
5677
},
5678
5679
' \t --> comment': {
5680
type: 'Program',
5681
body: [],
5682
range: [14, 14],
5683
loc: {
5684
start: { line: 1, column: 14 },
5685
end: { line: 1, column: 14 }
5686
},
5687
comments: [{
5688
type: 'Line',
5689
value: ' comment',
5690
range: [3, 14],
5691
loc: {
5692
start: { line: 1, column: 3 },
5693
end: { line: 1, column: 14 }
5694
}
5695
}]
5696
},
5697
5698
' \t /* block comment */ --> comment': {
5699
type: 'Program',
5700
body: [],
5701
range: [35, 35],
5702
loc: {
5703
start: { line: 1, column: 35 },
5704
end: { line: 1, column: 35 }
5705
},
5706
comments: [{
5707
type: 'Block',
5708
value: ' block comment ',
5709
range: [3, 22],
5710
loc: {
5711
start: { line: 1, column: 3 },
5712
end: { line: 1, column: 22 }
5713
}
5714
}, {
5715
type: 'Line',
5716
value: ' comment',
5717
range: [24, 35],
5718
loc: {
5719
start: { line: 1, column: 24 },
5720
end: { line: 1, column: 35 }
5721
}
5722
}]
5723
},
5724
5725
'/* block comment */--> comment': {
5726
type: 'Program',
5727
body: [],
5728
range: [30, 30],
5729
loc: {
5730
start: { line: 1, column: 30 },
5731
end: { line: 1, column: 30 }
5732
},
5733
comments: [{
5734
type: 'Block',
5735
value: ' block comment ',
5736
range: [0, 19],
5737
loc: {
5738
start: { line: 1, column: 0 },
5739
end: { line: 1, column: 19 }
5740
}
5741
}, {
5742
type: 'Line',
5743
value: ' comment',
5744
range: [19, 30],
5745
loc: {
5746
start: { line: 1, column: 19 },
5747
end: { line: 1, column: 30 }
5748
}
5749
}]
5750
},
5751
5752
'/* not comment*/; i-->0': {
5753
type: 'Program',
5754
body: [{
5755
type: 'EmptyStatement',
5756
range: [16, 17],
5757
loc: {
5758
start: { line: 1, column: 16 },
5759
end: { line: 1, column: 17 }
5760
}
5761
}, {
5762
type: 'ExpressionStatement',
5763
expression: {
5764
type: 'BinaryExpression',
5765
operator: '>',
5766
left: {
5767
type: 'UpdateExpression',
5768
operator: '--',
5769
argument: {
5770
type: 'Identifier',
5771
name: 'i',
5772
range: [18, 19],
5773
loc: {
5774
start: { line: 1, column: 18 },
5775
end: { line: 1, column: 19 }
5776
}
5777
},
5778
prefix: false,
5779
range: [18, 21],
5780
loc: {
5781
start: { line: 1, column: 18 },
5782
end: { line: 1, column: 21 }
5783
}
5784
},
5785
right: {
5786
type: 'Literal',
5787
value: 0,
5788
raw: '0',
5789
range: [22, 23],
5790
loc: {
5791
start: { line: 1, column: 22 },
5792
end: { line: 1, column: 23 }
5793
}
5794
},
5795
range: [18, 23],
5796
loc: {
5797
start: { line: 1, column: 18 },
5798
end: { line: 1, column: 23 }
5799
}
5800
},
5801
range: [18, 23],
5802
loc: {
5803
start: { line: 1, column: 18 },
5804
end: { line: 1, column: 23 }
5805
}
5806
}],
5807
range: [16, 23],
5808
loc: {
5809
start: { line: 1, column: 16 },
5810
end: { line: 1, column: 23 }
5811
},
5812
tokens: [{
5813
type: 'Punctuator',
5814
value: ';',
5815
range: [16, 17],
5816
loc: {
5817
start: { line: 1, column: 16 },
5818
end: { line: 1, column: 17 }
5819
}
5820
}, {
5821
type: 'Identifier',
5822
value: 'i',
5823
range: [18, 19],
5824
loc: {
5825
start: { line: 1, column: 18 },
5826
end: { line: 1, column: 19 }
5827
}
5828
}, {
5829
type: 'Punctuator',
5830
value: '--',
5831
range: [19, 21],
5832
loc: {
5833
start: { line: 1, column: 19 },
5834
end: { line: 1, column: 21 }
5835
}
5836
}, {
5837
type: 'Punctuator',
5838
value: '>',
5839
range: [21, 22],
5840
loc: {
5841
start: { line: 1, column: 21 },
5842
end: { line: 1, column: 22 }
5843
}
5844
}, {
5845
type: 'Numeric',
5846
value: '0',
5847
range: [22, 23],
5848
loc: {
5849
start: { line: 1, column: 22 },
5850
end: { line: 1, column: 23 }
5851
}
5852
}]
5853
5854
},
5855
5856
'while (i-->0) {}': {
5857
type: 'WhileStatement',
5858
test: {
5859
type: 'BinaryExpression',
5860
operator: '>',
5861
left: {
5862
type: 'UpdateExpression',
5863
operator: '--',
5864
argument: {
5865
type: 'Identifier',
5866
name: 'i',
5867
range: [7, 8],
5868
loc: {
5869
start: { line: 1, column: 7 },
5870
end: { line: 1, column: 8 }
5871
}
5872
},
5873
prefix: false,
5874
range: [7, 10],
5875
loc: {
5876
start: { line: 1, column: 7 },
5877
end: { line: 1, column: 10 }
5878
}
5879
},
5880
right: {
5881
type: 'Literal',
5882
value: 0,
5883
raw: '0',
5884
range: [11, 12],
5885
loc: {
5886
start: { line: 1, column: 11 },
5887
end: { line: 1, column: 12 }
5888
}
5889
},
5890
range: [7, 12],
5891
loc: {
5892
start: { line: 1, column: 7 },
5893
end: { line: 1, column: 12 }
5894
}
5895
},
5896
body: {
5897
type: 'BlockStatement',
5898
body: [],
5899
range: [14, 16],
5900
loc: {
5901
start: { line: 1, column: 14 },
5902
end: { line: 1, column: 16 }
5903
}
5904
},
5905
range: [0, 16],
5906
loc: {
5907
start: { line: 1, column: 0 },
5908
end: { line: 1, column: 16 }
5909
}
5910
}
5911
},
5912
5913
'Numeric Literals': {
5914
5915
'0': {
5916
type: 'ExpressionStatement',
5917
expression: {
5918
type: 'Literal',
5919
value: 0,
5920
raw: '0',
5921
range: [0, 1],
5922
loc: {
5923
start: { line: 1, column: 0 },
5924
end: { line: 1, column: 1 }
5925
}
5926
},
5927
range: [0, 1],
5928
loc: {
5929
start: { line: 1, column: 0 },
5930
end: { line: 1, column: 1 }
5931
}
5932
},
5933
5934
'42': {
5935
type: 'ExpressionStatement',
5936
expression: {
5937
type: 'Literal',
5938
value: 42,
5939
raw: '42',
5940
range: [0, 2],
5941
loc: {
5942
start: { line: 1, column: 0 },
5943
end: { line: 1, column: 2 }
5944
}
5945
},
5946
range: [0, 2],
5947
loc: {
5948
start: { line: 1, column: 0 },
5949
end: { line: 1, column: 2 }
5950
}
5951
},
5952
5953
'3': {
5954
type: 'Program',
5955
body: [{
5956
type: 'ExpressionStatement',
5957
expression: {
5958
type: 'Literal',
5959
value: 3,
5960
raw: '3',
5961
range: [0, 1]
5962
},
5963
range: [0, 1]
5964
}],
5965
range: [0, 1],
5966
tokens: [{
5967
type: 'Numeric',
5968
value: '3',
5969
range: [0, 1]
5970
}]
5971
},
5972
5973
'5': {
5974
type: 'Program',
5975
body: [{
5976
type: 'ExpressionStatement',
5977
expression: {
5978
type: 'Literal',
5979
value: 5,
5980
raw: '5',
5981
loc: {
5982
start: { line: 1, column: 0 },
5983
end: { line: 1, column: 1 }
5984
}
5985
},
5986
loc: {
5987
start: { line: 1, column: 0 },
5988
end: { line: 1, column: 1 }
5989
}
5990
}],
5991
loc: {
5992
start: { line: 1, column: 0 },
5993
end: { line: 1, column: 1 }
5994
},
5995
tokens: [{
5996
type: 'Numeric',
5997
value: '5',
5998
loc: {
5999
start: { line: 1, column: 0 },
6000
end: { line: 1, column: 1 }
6001
}
6002
}]
6003
},
6004
6005
'.14': {
6006
type: 'ExpressionStatement',
6007
expression: {
6008
type: 'Literal',
6009
value: 0.14,
6010
raw: '.14',
6011
range: [0, 3],
6012
loc: {
6013
start: { line: 1, column: 0 },
6014
end: { line: 1, column: 3 }
6015
}
6016
},
6017
range: [0, 3],
6018
loc: {
6019
start: { line: 1, column: 0 },
6020
end: { line: 1, column: 3 }
6021
}
6022
},
6023
6024
'3.14159': {
6025
type: 'ExpressionStatement',
6026
expression: {
6027
type: 'Literal',
6028
value: 3.14159,
6029
raw: '3.14159',
6030
range: [0, 7],
6031
loc: {
6032
start: { line: 1, column: 0 },
6033
end: { line: 1, column: 7 }
6034
}
6035
},
6036
range: [0, 7],
6037
loc: {
6038
start: { line: 1, column: 0 },
6039
end: { line: 1, column: 7 }
6040
}
6041
},
6042
6043
'6.02214179e+23': {
6044
type: 'ExpressionStatement',
6045
expression: {
6046
type: 'Literal',
6047
value: 6.02214179e+23,
6048
raw: '6.02214179e+23',
6049
range: [0, 14],
6050
loc: {
6051
start: { line: 1, column: 0 },
6052
end: { line: 1, column: 14 }
6053
}
6054
},
6055
range: [0, 14],
6056
loc: {
6057
start: { line: 1, column: 0 },
6058
end: { line: 1, column: 14 }
6059
}
6060
},
6061
6062
'1.492417830e-10': {
6063
type: 'ExpressionStatement',
6064
expression: {
6065
type: 'Literal',
6066
value: 1.49241783e-10,
6067
raw: '1.492417830e-10',
6068
range: [0, 15],
6069
loc: {
6070
start: { line: 1, column: 0 },
6071
end: { line: 1, column: 15 }
6072
}
6073
},
6074
range: [0, 15],
6075
loc: {
6076
start: { line: 1, column: 0 },
6077
end: { line: 1, column: 15 }
6078
}
6079
},
6080
6081
'0x0': {
6082
type: 'ExpressionStatement',
6083
expression: {
6084
type: 'Literal',
6085
value: 0,
6086
raw: '0x0',
6087
range: [0, 3],
6088
loc: {
6089
start: { line: 1, column: 0 },
6090
end: { line: 1, column: 3 }
6091
}
6092
},
6093
range: [0, 3],
6094
loc: {
6095
start: { line: 1, column: 0 },
6096
end: { line: 1, column: 3 }
6097
}
6098
},
6099
6100
'0x0;': {
6101
type: 'ExpressionStatement',
6102
expression: {
6103
type: 'Literal',
6104
value: 0,
6105
raw: '0x0',
6106
range: [0, 3],
6107
loc: {
6108
start: { line: 1, column: 0 },
6109
end: { line: 1, column: 3 }
6110
}
6111
},
6112
range: [0, 4],
6113
loc: {
6114
start: { line: 1, column: 0 },
6115
end: { line: 1, column: 4 }
6116
}
6117
},
6118
6119
'0e+100 ': {
6120
type: 'ExpressionStatement',
6121
expression: {
6122
type: 'Literal',
6123
value: 0,
6124
raw: '0e+100',
6125
range: [0, 6],
6126
loc: {
6127
start: { line: 1, column: 0 },
6128
end: { line: 1, column: 6 }
6129
}
6130
},
6131
range: [0, 7],
6132
loc: {
6133
start: { line: 1, column: 0 },
6134
end: { line: 1, column: 7 }
6135
}
6136
},
6137
6138
'0e+100': {
6139
type: 'ExpressionStatement',
6140
expression: {
6141
type: 'Literal',
6142
value: 0,
6143
raw: '0e+100',
6144
range: [0, 6],
6145
loc: {
6146
start: { line: 1, column: 0 },
6147
end: { line: 1, column: 6 }
6148
}
6149
},
6150
range: [0, 6],
6151
loc: {
6152
start: { line: 1, column: 0 },
6153
end: { line: 1, column: 6 }
6154
}
6155
},
6156
6157
'0xabc': {
6158
type: 'ExpressionStatement',
6159
expression: {
6160
type: 'Literal',
6161
value: 0xabc,
6162
raw: '0xabc',
6163
range: [0, 5],
6164
loc: {
6165
start: { line: 1, column: 0 },
6166
end: { line: 1, column: 5 }
6167
}
6168
},
6169
range: [0, 5],
6170
loc: {
6171
start: { line: 1, column: 0 },
6172
end: { line: 1, column: 5 }
6173
}
6174
},
6175
6176
'0xdef': {
6177
type: 'ExpressionStatement',
6178
expression: {
6179
type: 'Literal',
6180
value: 0xdef,
6181
raw: '0xdef',
6182
range: [0, 5],
6183
loc: {
6184
start: { line: 1, column: 0 },
6185
end: { line: 1, column: 5 }
6186
}
6187
},
6188
range: [0, 5],
6189
loc: {
6190
start: { line: 1, column: 0 },
6191
end: { line: 1, column: 5 }
6192
}
6193
},
6194
6195
'0X1A': {
6196
type: 'ExpressionStatement',
6197
expression: {
6198
type: 'Literal',
6199
value: 0x1A,
6200
raw: '0X1A',
6201
range: [0, 4],
6202
loc: {
6203
start: { line: 1, column: 0 },
6204
end: { line: 1, column: 4 }
6205
}
6206
},
6207
range: [0, 4],
6208
loc: {
6209
start: { line: 1, column: 0 },
6210
end: { line: 1, column: 4 }
6211
}
6212
},
6213
6214
'0x10': {
6215
type: 'ExpressionStatement',
6216
expression: {
6217
type: 'Literal',
6218
value: 0x10,
6219
raw: '0x10',
6220
range: [0, 4],
6221
loc: {
6222
start: { line: 1, column: 0 },
6223
end: { line: 1, column: 4 }
6224
}
6225
},
6226
range: [0, 4],
6227
loc: {
6228
start: { line: 1, column: 0 },
6229
end: { line: 1, column: 4 }
6230
}
6231
},
6232
6233
'0x100': {
6234
type: 'ExpressionStatement',
6235
expression: {
6236
type: 'Literal',
6237
value: 0x100,
6238
raw: '0x100',
6239
range: [0, 5],
6240
loc: {
6241
start: { line: 1, column: 0 },
6242
end: { line: 1, column: 5 }
6243
}
6244
},
6245
range: [0, 5],
6246
loc: {
6247
start: { line: 1, column: 0 },
6248
end: { line: 1, column: 5 }
6249
}
6250
},
6251
6252
'0X04': {
6253
type: 'ExpressionStatement',
6254
expression: {
6255
type: 'Literal',
6256
value: 0X04,
6257
raw: '0X04',
6258
range: [0, 4],
6259
loc: {
6260
start: { line: 1, column: 0 },
6261
end: { line: 1, column: 4 }
6262
}
6263
},
6264
range: [0, 4],
6265
loc: {
6266
start: { line: 1, column: 0 },
6267
end: { line: 1, column: 4 }
6268
}
6269
},
6270
6271
'02': {
6272
type: 'ExpressionStatement',
6273
expression: {
6274
type: 'Literal',
6275
value: 2,
6276
raw: '02',
6277
range: [0, 2],
6278
loc: {
6279
start: { line: 1, column: 0 },
6280
end: { line: 1, column: 2 }
6281
}
6282
},
6283
range: [0, 2],
6284
loc: {
6285
start: { line: 1, column: 0 },
6286
end: { line: 1, column: 2 }
6287
}
6288
},
6289
6290
'012': {
6291
type: 'ExpressionStatement',
6292
expression: {
6293
type: 'Literal',
6294
value: 10,
6295
raw: '012',
6296
range: [0, 3],
6297
loc: {
6298
start: { line: 1, column: 0 },
6299
end: { line: 1, column: 3 }
6300
}
6301
},
6302
range: [0, 3],
6303
loc: {
6304
start: { line: 1, column: 0 },
6305
end: { line: 1, column: 3 }
6306
}
6307
},
6308
6309
'0012': {
6310
type: 'ExpressionStatement',
6311
expression: {
6312
type: 'Literal',
6313
value: 10,
6314
raw: '0012',
6315
range: [0, 4],
6316
loc: {
6317
start: { line: 1, column: 0 },
6318
end: { line: 1, column: 4 }
6319
}
6320
},
6321
range: [0, 4],
6322
loc: {
6323
start: { line: 1, column: 0 },
6324
end: { line: 1, column: 4 }
6325
}
6326
},
6327
6328
'08': {
6329
type: 'ExpressionStatement',
6330
expression: {
6331
type: 'Literal',
6332
value: 8,
6333
raw: '08',
6334
range: [0, 2],
6335
loc: {
6336
start: { line: 1, column: 0 },
6337
end: { line: 1, column: 2 }
6338
}
6339
},
6340
range: [0, 2],
6341
loc: {
6342
start: { line: 1, column: 0 },
6343
end: { line: 1, column: 2 }
6344
}
6345
},
6346
6347
'0008': {
6348
type: 'ExpressionStatement',
6349
expression: {
6350
type: 'Literal',
6351
value: 8,
6352
raw: '0008',
6353
range: [0, 4],
6354
loc: {
6355
start: { line: 1, column: 0 },
6356
end: { line: 1, column: 4 }
6357
}
6358
},
6359
range: [0, 4],
6360
loc: {
6361
start: { line: 1, column: 0 },
6362
end: { line: 1, column: 4 }
6363
}
6364
},
6365
6366
'09': {
6367
type: 'ExpressionStatement',
6368
expression: {
6369
type: 'Literal',
6370
value: 9,
6371
raw: '09',
6372
range: [0, 2],
6373
loc: {
6374
start: { line: 1, column: 0 },
6375
end: { line: 1, column: 2 }
6376
}
6377
},
6378
range: [0, 2],
6379
loc: {
6380
start: { line: 1, column: 0 },
6381
end: { line: 1, column: 2 }
6382
}
6383
},
6384
6385
'09.5': {
6386
type: 'ExpressionStatement',
6387
expression: {
6388
type: 'Literal',
6389
value: 9.5,
6390
raw: '09.5',
6391
range: [0, 4],
6392
loc: {
6393
start: { line: 1, column: 0 },
6394
end: { line: 1, column: 4 }
6395
}
6396
},
6397
range: [0, 4],
6398
loc: {
6399
start: { line: 1, column: 0 },
6400
end: { line: 1, column: 4 }
6401
}
6402
}
6403
6404
},
6405
6406
'String Literals': {
6407
6408
'"Hello"': {
6409
type: 'ExpressionStatement',
6410
expression: {
6411
type: 'Literal',
6412
value: 'Hello',
6413
raw: '"Hello"',
6414
range: [0, 7],
6415
loc: {
6416
start: { line: 1, column: 0 },
6417
end: { line: 1, column: 7 }
6418
}
6419
},
6420
range: [0, 7],
6421
loc: {
6422
start: { line: 1, column: 0 },
6423
end: { line: 1, column: 7 }
6424
}
6425
},
6426
6427
'"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': {
6428
type: 'ExpressionStatement',
6429
expression: {
6430
type: 'Literal',
6431
value: '\n\r\t\x0B\b\f\\\'"\x00',
6432
raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"',
6433
range: [0, 22],
6434
loc: {
6435
start: { line: 1, column: 0 },
6436
end: { line: 1, column: 22 }
6437
}
6438
},
6439
range: [0, 22],
6440
loc: {
6441
start: { line: 1, column: 0 },
6442
end: { line: 1, column: 22 }
6443
}
6444
},
6445
6446
'"\\u0061"': {
6447
type: 'ExpressionStatement',
6448
expression: {
6449
type: 'Literal',
6450
value: 'a',
6451
raw: '"\\u0061"',
6452
range: [0, 8],
6453
loc: {
6454
start: { line: 1, column: 0 },
6455
end: { line: 1, column: 8 }
6456
}
6457
},
6458
range: [0, 8],
6459
loc: {
6460
start: { line: 1, column: 0 },
6461
end: { line: 1, column: 8 }
6462
}
6463
},
6464
6465
'"\\x61"': {
6466
type: 'ExpressionStatement',
6467
expression: {
6468
type: 'Literal',
6469
value: 'a',
6470
raw: '"\\x61"',
6471
range: [0, 6],
6472
loc: {
6473
start: { line: 1, column: 0 },
6474
end: { line: 1, column: 6 }
6475
}
6476
},
6477
range: [0, 6],
6478
loc: {
6479
start: { line: 1, column: 0 },
6480
end: { line: 1, column: 6 }
6481
}
6482
},
6483
6484
'"\\u00"': {
6485
type: 'ExpressionStatement',
6486
expression: {
6487
type: 'Literal',
6488
value: 'u00',
6489
raw: '"\\u00"',
6490
range: [0, 6],
6491
loc: {
6492
start: { line: 1, column: 0 },
6493
end: { line: 1, column: 6 }
6494
}
6495
},
6496
range: [0, 6],
6497
loc: {
6498
start: { line: 1, column: 0 },
6499
end: { line: 1, column: 6 }
6500
}
6501
},
6502
6503
'"\\xt"': {
6504
type: 'ExpressionStatement',
6505
expression: {
6506
type: 'Literal',
6507
value: 'xt',
6508
raw: '"\\xt"',
6509
range: [0, 5],
6510
loc: {
6511
start: { line: 1, column: 0 },
6512
end: { line: 1, column: 5 }
6513
}
6514
},
6515
range: [0, 5],
6516
loc: {
6517
start: { line: 1, column: 0 },
6518
end: { line: 1, column: 5 }
6519
}
6520
},
6521
6522
'"Hello\\nworld"': {
6523
type: 'ExpressionStatement',
6524
expression: {
6525
type: 'Literal',
6526
value: 'Hello\nworld',
6527
raw: '"Hello\\nworld"',
6528
range: [0, 14],
6529
loc: {
6530
start: { line: 1, column: 0 },
6531
end: { line: 1, column: 14 }
6532
}
6533
},
6534
range: [0, 14],
6535
loc: {
6536
start: { line: 1, column: 0 },
6537
end: { line: 1, column: 14 }
6538
}
6539
},
6540
6541
'"Hello\\\nworld"': {
6542
type: 'ExpressionStatement',
6543
expression: {
6544
type: 'Literal',
6545
value: 'Helloworld',
6546
raw: '"Hello\\\nworld"',
6547
range: [0, 14],
6548
loc: {
6549
start: { line: 1, column: 0 },
6550
end: { line: 2, column: 6 }
6551
}
6552
},
6553
range: [0, 14],
6554
loc: {
6555
start: { line: 1, column: 0 },
6556
end: { line: 2, column: 6 }
6557
}
6558
},
6559
6560
'"Hello\\02World"': {
6561
type: 'ExpressionStatement',
6562
expression: {
6563
type: 'Literal',
6564
value: 'Hello\u0002World',
6565
raw: '"Hello\\02World"',
6566
range: [0, 15],
6567
loc: {
6568
start: { line: 1, column: 0 },
6569
end: { line: 1, column: 15 }
6570
}
6571
},
6572
range: [0, 15],
6573
loc: {
6574
start: { line: 1, column: 0 },
6575
end: { line: 1, column: 15 }
6576
}
6577
},
6578
6579
'"Hello\\012World"': {
6580
type: 'ExpressionStatement',
6581
expression: {
6582
type: 'Literal',
6583
value: 'Hello\u000AWorld',
6584
raw: '"Hello\\012World"',
6585
range: [0, 16],
6586
loc: {
6587
start: { line: 1, column: 0 },
6588
end: { line: 1, column: 16 }
6589
}
6590
},
6591
range: [0, 16],
6592
loc: {
6593
start: { line: 1, column: 0 },
6594
end: { line: 1, column: 16 }
6595
}
6596
},
6597
6598
'"Hello\\122World"': {
6599
type: 'ExpressionStatement',
6600
expression: {
6601
type: 'Literal',
6602
value: 'Hello\122World',
6603
raw: '"Hello\\122World"',
6604
range: [0, 16],
6605
loc: {
6606
start: { line: 1, column: 0 },
6607
end: { line: 1, column: 16 }
6608
}
6609
},
6610
range: [0, 16],
6611
loc: {
6612
start: { line: 1, column: 0 },
6613
end: { line: 1, column: 16 }
6614
}
6615
},
6616
6617
'"Hello\\0122World"': {
6618
type: 'ExpressionStatement',
6619
expression: {
6620
type: 'Literal',
6621
value: 'Hello\u000A2World',
6622
raw: '"Hello\\0122World"',
6623
range: [0, 17],
6624
loc: {
6625
start: { line: 1, column: 0 },
6626
end: { line: 1, column: 17 }
6627
}
6628
},
6629
range: [0, 17],
6630
loc: {
6631
start: { line: 1, column: 0 },
6632
end: { line: 1, column: 17 }
6633
}
6634
},
6635
6636
'"Hello\\312World"': {
6637
type: 'ExpressionStatement',
6638
expression: {
6639
type: 'Literal',
6640
value: 'Hello\u00CAWorld',
6641
raw: '"Hello\\312World"',
6642
range: [0, 16],
6643
loc: {
6644
start: { line: 1, column: 0 },
6645
end: { line: 1, column: 16 }
6646
}
6647
},
6648
range: [0, 16],
6649
loc: {
6650
start: { line: 1, column: 0 },
6651
end: { line: 1, column: 16 }
6652
}
6653
},
6654
6655
'"Hello\\412World"': {
6656
type: 'ExpressionStatement',
6657
expression: {
6658
type: 'Literal',
6659
value: 'Hello\412World',
6660
raw: '"Hello\\412World"',
6661
range: [0, 16],
6662
loc: {
6663
start: { line: 1, column: 0 },
6664
end: { line: 1, column: 16 }
6665
}
6666
},
6667
range: [0, 16],
6668
loc: {
6669
start: { line: 1, column: 0 },
6670
end: { line: 1, column: 16 }
6671
}
6672
},
6673
6674
'"Hello\\812World"': {
6675
type: 'ExpressionStatement',
6676
expression: {
6677
type: 'Literal',
6678
value: 'Hello812World',
6679
raw: '"Hello\\812World"',
6680
range: [0, 16],
6681
loc: {
6682
start: { line: 1, column: 0 },
6683
end: { line: 1, column: 16 }
6684
}
6685
},
6686
range: [0, 16],
6687
loc: {
6688
start: { line: 1, column: 0 },
6689
end: { line: 1, column: 16 }
6690
}
6691
},
6692
6693
'"Hello\\712World"': {
6694
type: 'ExpressionStatement',
6695
expression: {
6696
type: 'Literal',
6697
value: 'Hello\712World',
6698
raw: '"Hello\\712World"',
6699
range: [0, 16],
6700
loc: {
6701
start: { line: 1, column: 0 },
6702
end: { line: 1, column: 16 }
6703
}
6704
},
6705
range: [0, 16],
6706
loc: {
6707
start: { line: 1, column: 0 },
6708
end: { line: 1, column: 16 }
6709
}
6710
},
6711
6712
'"Hello\\0World"': {
6713
type: 'ExpressionStatement',
6714
expression: {
6715
type: 'Literal',
6716
value: 'Hello\u0000World',
6717
raw: '"Hello\\0World"',
6718
range: [0, 14],
6719
loc: {
6720
start: { line: 1, column: 0 },
6721
end: { line: 1, column: 14 }
6722
}
6723
},
6724
range: [0, 14],
6725
loc: {
6726
start: { line: 1, column: 0 },
6727
end: { line: 1, column: 14 }
6728
}
6729
},
6730
6731
'"Hello\\\r\nworld"': {
6732
type: 'ExpressionStatement',
6733
expression: {
6734
type: 'Literal',
6735
value: 'Helloworld',
6736
raw: '"Hello\\\r\nworld"',
6737
range: [0, 15],
6738
loc: {
6739
start: { line: 1, column: 0 },
6740
end: { line: 2, column: 6 }
6741
}
6742
},
6743
range: [0, 15],
6744
loc: {
6745
start: { line: 1, column: 0 },
6746
end: { line: 2, column: 6 }
6747
}
6748
},
6749
6750
'"Hello\\1World"': {
6751
type: 'ExpressionStatement',
6752
expression: {
6753
type: 'Literal',
6754
value: 'Hello\u0001World',
6755
raw: '"Hello\\1World"',
6756
range: [0, 14],
6757
loc: {
6758
start: { line: 1, column: 0 },
6759
end: { line: 1, column: 14 }
6760
}
6761
},
6762
range: [0, 14],
6763
loc: {
6764
start: { line: 1, column: 0 },
6765
end: { line: 1, column: 14 }
6766
}
6767
}
6768
},
6769
6770
'Regular Expression Literals': {
6771
6772
'var x = /[a-z]/i': {
6773
type: 'Program',
6774
body: [{
6775
type: 'VariableDeclaration',
6776
declarations: [{
6777
type: 'VariableDeclarator',
6778
id: {
6779
type: 'Identifier',
6780
name: 'x',
6781
range: [4, 5],
6782
loc: {
6783
start: { line: 1, column: 4 },
6784
end: { line: 1, column: 5 }
6785
}
6786
},
6787
init: {
6788
type: 'Literal',
6789
value: '/[a-z]/i',
6790
raw: '/[a-z]/i',
6791
range: [8, 16],
6792
loc: {
6793
start: { line: 1, column: 8 },
6794
end: { line: 1, column: 16 }
6795
}
6796
},
6797
range: [4, 16],
6798
loc: {
6799
start: { line: 1, column: 4 },
6800
end: { line: 1, column: 16 }
6801
}
6802
}],
6803
kind: 'var',
6804
range: [0, 16],
6805
loc: {
6806
start: { line: 1, column: 0 },
6807
end: { line: 1, column: 16 }
6808
}
6809
}],
6810
range: [0, 16],
6811
loc: {
6812
start: { line: 1, column: 0 },
6813
end: { line: 1, column: 16 }
6814
},
6815
tokens: [{
6816
type: 'Keyword',
6817
value: 'var',
6818
range: [0, 3],
6819
loc: {
6820
start: { line: 1, column: 0 },
6821
end: { line: 1, column: 3 }
6822
}
6823
}, {
6824
type: 'Identifier',
6825
value: 'x',
6826
range: [4, 5],
6827
loc: {
6828
start: { line: 1, column: 4 },
6829
end: { line: 1, column: 5 }
6830
}
6831
}, {
6832
type: 'Punctuator',
6833
value: '=',
6834
range: [6, 7],
6835
loc: {
6836
start: { line: 1, column: 6 },
6837
end: { line: 1, column: 7 }
6838
}
6839
}, {
6840
type: 'RegularExpression',
6841
value: '/[a-z]/i',
6842
range: [8, 16],
6843
loc: {
6844
start: { line: 1, column: 8 },
6845
end: { line: 1, column: 16 }
6846
}
6847
}]
6848
},
6849
6850
'var x = /[x-z]/i': {
6851
type: 'Program',
6852
body: [{
6853
type: 'VariableDeclaration',
6854
declarations: [{
6855
type: 'VariableDeclarator',
6856
id: {
6857
type: 'Identifier',
6858
name: 'x',
6859
range: [4, 5]
6860
},
6861
init: {
6862
type: 'Literal',
6863
value: '/[x-z]/i',
6864
raw: '/[x-z]/i',
6865
range: [8, 16]
6866
},
6867
range: [4, 16]
6868
}],
6869
kind: 'var',
6870
range: [0, 16]
6871
}],
6872
range: [0, 16],
6873
tokens: [{
6874
type: 'Keyword',
6875
value: 'var',
6876
range: [0, 3]
6877
}, {
6878
type: 'Identifier',
6879
value: 'x',
6880
range: [4, 5]
6881
}, {
6882
type: 'Punctuator',
6883
value: '=',
6884
range: [6, 7]
6885
}, {
6886
type: 'RegularExpression',
6887
value: '/[x-z]/i',
6888
range: [8, 16]
6889
}]
6890
},
6891
6892
'var x = /[a-c]/i': {
6893
type: 'Program',
6894
body: [{
6895
type: 'VariableDeclaration',
6896
declarations: [{
6897
type: 'VariableDeclarator',
6898
id: {
6899
type: 'Identifier',
6900
name: 'x',
6901
loc: {
6902
start: { line: 1, column: 4 },
6903
end: { line: 1, column: 5 }
6904
}
6905
},
6906
init: {
6907
type: 'Literal',
6908
value: '/[a-c]/i',
6909
raw: '/[a-c]/i',
6910
loc: {
6911
start: { line: 1, column: 8 },
6912
end: { line: 1, column: 16 }
6913
}
6914
},
6915
loc: {
6916
start: { line: 1, column: 4 },
6917
end: { line: 1, column: 16 }
6918
}
6919
}],
6920
kind: 'var',
6921
loc: {
6922
start: { line: 1, column: 0 },
6923
end: { line: 1, column: 16 }
6924
}
6925
}],
6926
loc: {
6927
start: { line: 1, column: 0 },
6928
end: { line: 1, column: 16 }
6929
},
6930
tokens: [{
6931
type: 'Keyword',
6932
value: 'var',
6933
loc: {
6934
start: { line: 1, column: 0 },
6935
end: { line: 1, column: 3 }
6936
}
6937
}, {
6938
type: 'Identifier',
6939
value: 'x',
6940
loc: {
6941
start: { line: 1, column: 4 },
6942
end: { line: 1, column: 5 }
6943
}
6944
}, {
6945
type: 'Punctuator',
6946
value: '=',
6947
loc: {
6948
start: { line: 1, column: 6 },
6949
end: { line: 1, column: 7 }
6950
}
6951
}, {
6952
type: 'RegularExpression',
6953
value: '/[a-c]/i',
6954
loc: {
6955
start: { line: 1, column: 8 },
6956
end: { line: 1, column: 16 }
6957
}
6958
}]
6959
},
6960
6961
'var x = /[P QR]/i': {
6962
type: 'Program',
6963
body: [{
6964
type: 'VariableDeclaration',
6965
declarations: [{
6966
type: 'VariableDeclarator',
6967
id: {
6968
type: 'Identifier',
6969
name: 'x',
6970
range: [4, 5],
6971
loc: {
6972
start: { line: 1, column: 4 },
6973
end: { line: 1, column: 5 }
6974
}
6975
},
6976
init: {
6977
type: 'Literal',
6978
value: '/[P QR]/i',
6979
raw: '/[P QR]/i',
6980
range: [8, 17],
6981
loc: {
6982
start: { line: 1, column: 8 },
6983
end: { line: 1, column: 17 }
6984
}
6985
},
6986
range: [4, 17],
6987
loc: {
6988
start: { line: 1, column: 4 },
6989
end: { line: 1, column: 17 }
6990
}
6991
}],
6992
kind: 'var',
6993
range: [0, 17],
6994
loc: {
6995
start: { line: 1, column: 0 },
6996
end: { line: 1, column: 17 }
6997
}
6998
}],
6999
range: [0, 17],
7000
loc: {
7001
start: { line: 1, column: 0 },
7002
end: { line: 1, column: 17 }
7003
},
7004
tokens: [{
7005
type: 'Keyword',
7006
value: 'var',
7007
range: [0, 3],
7008
loc: {
7009
start: { line: 1, column: 0 },
7010
end: { line: 1, column: 3 }
7011
}
7012
}, {
7013
type: 'Identifier',
7014
value: 'x',
7015
range: [4, 5],
7016
loc: {
7017
start: { line: 1, column: 4 },
7018
end: { line: 1, column: 5 }
7019
}
7020
}, {
7021
type: 'Punctuator',
7022
value: '=',
7023
range: [6, 7],
7024
loc: {
7025
start: { line: 1, column: 6 },
7026
end: { line: 1, column: 7 }
7027
}
7028
}, {
7029
type: 'RegularExpression',
7030
value: '/[P QR]/i',
7031
range: [8, 17],
7032
loc: {
7033
start: { line: 1, column: 8 },
7034
end: { line: 1, column: 17 }
7035
}
7036
}]
7037
},
7038
7039
'var x = /[\\]/]/': {
7040
type: 'Program',
7041
body: [{
7042
type: 'VariableDeclaration',
7043
declarations: [{
7044
type: 'VariableDeclarator',
7045
id: {
7046
type: 'Identifier',
7047
name: 'x',
7048
range: [4, 5],
7049
loc: {
7050
start: { line: 1, column: 4 },
7051
end: { line: 1, column: 5 }
7052
}
7053
},
7054
init: {
7055
type: 'Literal',
7056
value: new RegExp('[\\]/]').toString(),
7057
raw: '/[\\]/]/',
7058
range: [8, 15],
7059
loc: {
7060
start: { line: 1, column: 8 },
7061
end: { line: 1, column: 15 }
7062
}
7063
},
7064
range: [4, 15],
7065
loc: {
7066
start: { line: 1, column: 4 },
7067
end: { line: 1, column: 15 }
7068
}
7069
}],
7070
kind: 'var',
7071
range: [0, 15],
7072
loc: {
7073
start: { line: 1, column: 0 },
7074
end: { line: 1, column: 15 }
7075
}
7076
}],
7077
range: [0, 15],
7078
loc: {
7079
start: { line: 1, column: 0 },
7080
end: { line: 1, column: 15 }
7081
},
7082
tokens: [{
7083
type: 'Keyword',
7084
value: 'var',
7085
range: [0, 3],
7086
loc: {
7087
start: { line: 1, column: 0 },
7088
end: { line: 1, column: 3 }
7089
}
7090
}, {
7091
type: 'Identifier',
7092
value: 'x',
7093
range: [4, 5],
7094
loc: {
7095
start: { line: 1, column: 4 },
7096
end: { line: 1, column: 5 }
7097
}
7098
}, {
7099
type: 'Punctuator',
7100
value: '=',
7101
range: [6, 7],
7102
loc: {
7103
start: { line: 1, column: 6 },
7104
end: { line: 1, column: 7 }
7105
}
7106
}, {
7107
type: 'RegularExpression',
7108
value: '/[\\]/]/',
7109
range: [8, 15],
7110
loc: {
7111
start: { line: 1, column: 8 },
7112
end: { line: 1, column: 15 }
7113
}
7114
}]
7115
},
7116
7117
'var x = /foo\\/bar/': {
7118
type: 'Program',
7119
body: [{
7120
type: 'VariableDeclaration',
7121
declarations: [{
7122
type: 'VariableDeclarator',
7123
id: {
7124
type: 'Identifier',
7125
name: 'x',
7126
range: [4, 5],
7127
loc: {
7128
start: { line: 1, column: 4 },
7129
end: { line: 1, column: 5 }
7130
}
7131
},
7132
init: {
7133
type: 'Literal',
7134
value: '/foo\\/bar/',
7135
raw: '/foo\\/bar/',
7136
range: [8, 18],
7137
loc: {
7138
start: { line: 1, column: 8 },
7139
end: { line: 1, column: 18 }
7140
}
7141
},
7142
range: [4, 18],
7143
loc: {
7144
start: { line: 1, column: 4 },
7145
end: { line: 1, column: 18 }
7146
}
7147
}],
7148
kind: 'var',
7149
range: [0, 18],
7150
loc: {
7151
start: { line: 1, column: 0 },
7152
end: { line: 1, column: 18 }
7153
}
7154
}],
7155
range: [0, 18],
7156
loc: {
7157
start: { line: 1, column: 0 },
7158
end: { line: 1, column: 18 }
7159
},
7160
tokens: [{
7161
type: 'Keyword',
7162
value: 'var',
7163
range: [0, 3],
7164
loc: {
7165
start: { line: 1, column: 0 },
7166
end: { line: 1, column: 3 }
7167
}
7168
}, {
7169
type: 'Identifier',
7170
value: 'x',
7171
range: [4, 5],
7172
loc: {
7173
start: { line: 1, column: 4 },
7174
end: { line: 1, column: 5 }
7175
}
7176
}, {
7177
type: 'Punctuator',
7178
value: '=',
7179
range: [6, 7],
7180
loc: {
7181
start: { line: 1, column: 6 },
7182
end: { line: 1, column: 7 }
7183
}
7184
}, {
7185
type: 'RegularExpression',
7186
value: '/foo\\/bar/',
7187
range: [8, 18],
7188
loc: {
7189
start: { line: 1, column: 8 },
7190
end: { line: 1, column: 18 }
7191
}
7192
}]
7193
},
7194
7195
'var x = /=([^=\\s])+/g': {
7196
type: 'Program',
7197
body: [{
7198
type: 'VariableDeclaration',
7199
declarations: [{
7200
type: 'VariableDeclarator',
7201
id: {
7202
type: 'Identifier',
7203
name: 'x',
7204
range: [4, 5],
7205
loc: {
7206
start: { line: 1, column: 4 },
7207
end: { line: 1, column: 5 }
7208
}
7209
},
7210
init: {
7211
type: 'Literal',
7212
value: '/=([^=\\s])+/g',
7213
raw: '/=([^=\\s])+/g',
7214
range: [8, 21],
7215
loc: {
7216
start: { line: 1, column: 8 },
7217
end: { line: 1, column: 21 }
7218
}
7219
},
7220
range: [4, 21],
7221
loc: {
7222
start: { line: 1, column: 4 },
7223
end: { line: 1, column: 21 }
7224
}
7225
}],
7226
kind: 'var',
7227
range: [0, 21],
7228
loc: {
7229
start: { line: 1, column: 0 },
7230
end: { line: 1, column: 21 }
7231
}
7232
}],
7233
range: [0, 21],
7234
loc: {
7235
start: { line: 1, column: 0 },
7236
end: { line: 1, column: 21 }
7237
},
7238
tokens: [{
7239
type: 'Keyword',
7240
value: 'var',
7241
range: [0, 3],
7242
loc: {
7243
start: { line: 1, column: 0 },
7244
end: { line: 1, column: 3 }
7245
}
7246
}, {
7247
type: 'Identifier',
7248
value: 'x',
7249
range: [4, 5],
7250
loc: {
7251
start: { line: 1, column: 4 },
7252
end: { line: 1, column: 5 }
7253
}
7254
}, {
7255
type: 'Punctuator',
7256
value: '=',
7257
range: [6, 7],
7258
loc: {
7259
start: { line: 1, column: 6 },
7260
end: { line: 1, column: 7 }
7261
}
7262
}, {
7263
type: 'RegularExpression',
7264
value: '/=([^=\\s])+/g',
7265
range: [8, 21],
7266
loc: {
7267
start: { line: 1, column: 8 },
7268
end: { line: 1, column: 21 }
7269
}
7270
}]
7271
},
7272
7273
'var x = /42/g.test': {
7274
type: 'VariableDeclaration',
7275
declarations: [{
7276
type: 'VariableDeclarator',
7277
id: {
7278
type: 'Identifier',
7279
name: 'x',
7280
range: [4, 5],
7281
loc: {
7282
start: { line: 1, column: 4 },
7283
end: { line: 1, column: 5 }
7284
}
7285
},
7286
init: {
7287
type: 'MemberExpression',
7288
computed: false,
7289
object: {
7290
type: 'Literal',
7291
value: '/42/g',
7292
raw: '/42/g',
7293
range: [8, 13],
7294
loc: {
7295
start: { line: 1, column: 8 },
7296
end: { line: 1, column: 13 }
7297
}
7298
},
7299
property: {
7300
type: 'Identifier',
7301
name: 'test',
7302
range: [14, 18],
7303
loc: {
7304
start: { line: 1, column: 14 },
7305
end: { line: 1, column: 18 }
7306
}
7307
},
7308
range: [8, 18],
7309
loc: {
7310
start: { line: 1, column: 8 },
7311
end: { line: 1, column: 18 }
7312
}
7313
},
7314
range: [4, 18],
7315
loc: {
7316
start: { line: 1, column: 4 },
7317
end: { line: 1, column: 18 }
7318
}
7319
}],
7320
kind: 'var',
7321
range: [0, 18],
7322
loc: {
7323
start: { line: 1, column: 0 },
7324
end: { line: 1, column: 18 }
7325
}
7326
}
7327
7328
},
7329
7330
'Left-Hand-Side Expression': {
7331
7332
'new Button': {
7333
type: 'ExpressionStatement',
7334
expression: {
7335
type: 'NewExpression',
7336
callee: {
7337
type: 'Identifier',
7338
name: 'Button',
7339
range: [4, 10],
7340
loc: {
7341
start: { line: 1, column: 4 },
7342
end: { line: 1, column: 10 }
7343
}
7344
},
7345
'arguments': [],
7346
range: [0, 10],
7347
loc: {
7348
start: { line: 1, column: 0 },
7349
end: { line: 1, column: 10 }
7350
}
7351
},
7352
range: [0, 10],
7353
loc: {
7354
start: { line: 1, column: 0 },
7355
end: { line: 1, column: 10 }
7356
}
7357
},
7358
7359
'new Button()': {
7360
type: 'ExpressionStatement',
7361
expression: {
7362
type: 'NewExpression',
7363
callee: {
7364
type: 'Identifier',
7365
name: 'Button',
7366
range: [4, 10],
7367
loc: {
7368
start: { line: 1, column: 4 },
7369
end: { line: 1, column: 10 }
7370
}
7371
},
7372
'arguments': [],
7373
range: [0, 12],
7374
loc: {
7375
start: { line: 1, column: 0 },
7376
end: { line: 1, column: 12 }
7377
}
7378
},
7379
range: [0, 12],
7380
loc: {
7381
start: { line: 1, column: 0 },
7382
end: { line: 1, column: 12 }
7383
}
7384
},
7385
7386
'new new foo': {
7387
type: 'ExpressionStatement',
7388
expression: {
7389
type: 'NewExpression',
7390
callee: {
7391
type: 'NewExpression',
7392
callee: {
7393
type: 'Identifier',
7394
name: 'foo',
7395
range: [8, 11],
7396
loc: {
7397
start: { line: 1, column: 8 },
7398
end: { line: 1, column: 11 }
7399
}
7400
},
7401
'arguments': [],
7402
range: [4, 11],
7403
loc: {
7404
start: { line: 1, column: 4 },
7405
end: { line: 1, column: 11 }
7406
}
7407
},
7408
'arguments': [],
7409
range: [0, 11],
7410
loc: {
7411
start: { line: 1, column: 0 },
7412
end: { line: 1, column: 11 }
7413
}
7414
},
7415
range: [0, 11],
7416
loc: {
7417
start: { line: 1, column: 0 },
7418
end: { line: 1, column: 11 }
7419
}
7420
},
7421
7422
'new new foo()': {
7423
type: 'ExpressionStatement',
7424
expression: {
7425
type: 'NewExpression',
7426
callee: {
7427
type: 'NewExpression',
7428
callee: {
7429
type: 'Identifier',
7430
name: 'foo',
7431
range: [8, 11],
7432
loc: {
7433
start: { line: 1, column: 8 },
7434
end: { line: 1, column: 11 }
7435
}
7436
},
7437
'arguments': [],
7438
range: [4, 13],
7439
loc: {
7440
start: { line: 1, column: 4 },
7441
end: { line: 1, column: 13 }
7442
}
7443
},
7444
'arguments': [],
7445
range: [0, 13],
7446
loc: {
7447
start: { line: 1, column: 0 },
7448
end: { line: 1, column: 13 }
7449
}
7450
},
7451
range: [0, 13],
7452
loc: {
7453
start: { line: 1, column: 0 },
7454
end: { line: 1, column: 13 }
7455
}
7456
},
7457
7458
'new foo().bar()': {
7459
type: 'ExpressionStatement',
7460
expression: {
7461
type: 'CallExpression',
7462
callee: {
7463
type: 'MemberExpression',
7464
computed: false,
7465
object: {
7466
type: 'NewExpression',
7467
callee: {
7468
type: 'Identifier',
7469
name: 'foo',
7470
range: [4, 7],
7471
loc: {
7472
start: { line: 1, column: 4 },
7473
end: { line: 1, column: 7 }
7474
}
7475
},
7476
'arguments': [],
7477
range: [0, 9],
7478
loc: {
7479
start: { line: 1, column: 0 },
7480
end: { line: 1, column: 9 }
7481
}
7482
},
7483
property: {
7484
type: 'Identifier',
7485
name: 'bar',
7486
range: [10, 13],
7487
loc: {
7488
start: { line: 1, column: 10 },
7489
end: { line: 1, column: 13 }
7490
}
7491
},
7492
range: [0, 13],
7493
loc: {
7494
start: { line: 1, column: 0 },
7495
end: { line: 1, column: 13 }
7496
}
7497
},
7498
'arguments': [],
7499
range: [0, 15],
7500
loc: {
7501
start: { line: 1, column: 0 },
7502
end: { line: 1, column: 15 }
7503
}
7504
},
7505
range: [0, 15],
7506
loc: {
7507
start: { line: 1, column: 0 },
7508
end: { line: 1, column: 15 }
7509
}
7510
},
7511
7512
'new foo[bar]': {
7513
type: 'ExpressionStatement',
7514
expression: {
7515
type: 'NewExpression',
7516
callee: {
7517
type: 'MemberExpression',
7518
computed: true,
7519
object: {
7520
type: 'Identifier',
7521
name: 'foo',
7522
range: [4, 7],
7523
loc: {
7524
start: { line: 1, column: 4 },
7525
end: { line: 1, column: 7 }
7526
}
7527
},
7528
property: {
7529
type: 'Identifier',
7530
name: 'bar',
7531
range: [8, 11],
7532
loc: {
7533
start: { line: 1, column: 8 },
7534
end: { line: 1, column: 11 }
7535
}
7536
},
7537
range: [4, 12],
7538
loc: {
7539
start: { line: 1, column: 4 },
7540
end: { line: 1, column: 12 }
7541
}
7542
},
7543
'arguments': [],
7544
range: [0, 12],
7545
loc: {
7546
start: { line: 1, column: 0 },
7547
end: { line: 1, column: 12 }
7548
}
7549
},
7550
range: [0, 12],
7551
loc: {
7552
start: { line: 1, column: 0 },
7553
end: { line: 1, column: 12 }
7554
}
7555
},
7556
7557
'new foo.bar()': {
7558
type: 'ExpressionStatement',
7559
expression: {
7560
type: 'NewExpression',
7561
callee: {
7562
type: 'MemberExpression',
7563
computed: false,
7564
object: {
7565
type: 'Identifier',
7566
name: 'foo',
7567
range: [4, 7],
7568
loc: {
7569
start: { line: 1, column: 4 },
7570
end: { line: 1, column: 7 }
7571
}
7572
},
7573
property: {
7574
type: 'Identifier',
7575
name: 'bar',
7576
range: [8, 11],
7577
loc: {
7578
start: { line: 1, column: 8 },
7579
end: { line: 1, column: 11 }
7580
}
7581
},
7582
range: [4, 11],
7583
loc: {
7584
start: { line: 1, column: 4 },
7585
end: { line: 1, column: 11 }
7586
}
7587
},
7588
'arguments': [],
7589
range: [0, 13],
7590
loc: {
7591
start: { line: 1, column: 0 },
7592
end: { line: 1, column: 13 }
7593
}
7594
},
7595
range: [0, 13],
7596
loc: {
7597
start: { line: 1, column: 0 },
7598
end: { line: 1, column: 13 }
7599
}
7600
},
7601
7602
'( new foo).bar()': {
7603
type: 'ExpressionStatement',
7604
expression: {
7605
type: 'CallExpression',
7606
callee: {
7607
type: 'MemberExpression',
7608
computed: false,
7609
object: {
7610
type: 'NewExpression',
7611
callee: {
7612
type: 'Identifier',
7613
name: 'foo',
7614
range: [6, 9],
7615
loc: {
7616
start: { line: 1, column: 6 },
7617
end: { line: 1, column: 9 }
7618
}
7619
},
7620
'arguments': [],
7621
range: [2, 9],
7622
loc: {
7623
start: { line: 1, column: 2 },
7624
end: { line: 1, column: 9 }
7625
}
7626
},
7627
property: {
7628
type: 'Identifier',
7629
name: 'bar',
7630
range: [11, 14],
7631
loc: {
7632
start: { line: 1, column: 11 },
7633
end: { line: 1, column: 14 }
7634
}
7635
},
7636
range: [0, 14],
7637
loc: {
7638
start: { line: 1, column: 0 },
7639
end: { line: 1, column: 14 }
7640
}
7641
},
7642
'arguments': [],
7643
range: [0, 16],
7644
loc: {
7645
start: { line: 1, column: 0 },
7646
end: { line: 1, column: 16 }
7647
}
7648
},
7649
range: [0, 16],
7650
loc: {
7651
start: { line: 1, column: 0 },
7652
end: { line: 1, column: 16 }
7653
}
7654
},
7655
7656
'foo(bar, baz)': {
7657
type: 'ExpressionStatement',
7658
expression: {
7659
type: 'CallExpression',
7660
callee: {
7661
type: 'Identifier',
7662
name: 'foo',
7663
range: [0, 3],
7664
loc: {
7665
start: { line: 1, column: 0 },
7666
end: { line: 1, column: 3 }
7667
}
7668
},
7669
'arguments': [{
7670
type: 'Identifier',
7671
name: 'bar',
7672
range: [4, 7],
7673
loc: {
7674
start: { line: 1, column: 4 },
7675
end: { line: 1, column: 7 }
7676
}
7677
}, {
7678
type: 'Identifier',
7679
name: 'baz',
7680
range: [9, 12],
7681
loc: {
7682
start: { line: 1, column: 9 },
7683
end: { line: 1, column: 12 }
7684
}
7685
}],
7686
range: [0, 13],
7687
loc: {
7688
start: { line: 1, column: 0 },
7689
end: { line: 1, column: 13 }
7690
}
7691
},
7692
range: [0, 13],
7693
loc: {
7694
start: { line: 1, column: 0 },
7695
end: { line: 1, column: 13 }
7696
}
7697
},
7698
7699
'( foo )()': {
7700
type: 'ExpressionStatement',
7701
expression: {
7702
type: 'CallExpression',
7703
callee: {
7704
type: 'Identifier',
7705
name: 'foo',
7706
range: [5, 8],
7707
loc: {
7708
start: { line: 1, column: 5 },
7709
end: { line: 1, column: 8 }
7710
}
7711
},
7712
'arguments': [],
7713
range: [0, 13],
7714
loc: {
7715
start: { line: 1, column: 0 },
7716
end: { line: 1, column: 13 }
7717
}
7718
},
7719
range: [0, 13],
7720
loc: {
7721
start: { line: 1, column: 0 },
7722
end: { line: 1, column: 13 }
7723
}
7724
},
7725
7726
'universe.milkyway': {
7727
type: 'ExpressionStatement',
7728
expression: {
7729
type: 'MemberExpression',
7730
computed: false,
7731
object: {
7732
type: 'Identifier',
7733
name: 'universe',
7734
range: [0, 8],
7735
loc: {
7736
start: { line: 1, column: 0 },
7737
end: { line: 1, column: 8 }
7738
}
7739
},
7740
property: {
7741
type: 'Identifier',
7742
name: 'milkyway',
7743
range: [9, 17],
7744
loc: {
7745
start: { line: 1, column: 9 },
7746
end: { line: 1, column: 17 }
7747
}
7748
},
7749
range: [0, 17],
7750
loc: {
7751
start: { line: 1, column: 0 },
7752
end: { line: 1, column: 17 }
7753
}
7754
},
7755
range: [0, 17],
7756
loc: {
7757
start: { line: 1, column: 0 },
7758
end: { line: 1, column: 17 }
7759
}
7760
},
7761
7762
'universe.milkyway.solarsystem': {
7763
type: 'ExpressionStatement',
7764
expression: {
7765
type: 'MemberExpression',
7766
computed: false,
7767
object: {
7768
type: 'MemberExpression',
7769
computed: false,
7770
object: {
7771
type: 'Identifier',
7772
name: 'universe',
7773
range: [0, 8],
7774
loc: {
7775
start: { line: 1, column: 0 },
7776
end: { line: 1, column: 8 }
7777
}
7778
},
7779
property: {
7780
type: 'Identifier',
7781
name: 'milkyway',
7782
range: [9, 17],
7783
loc: {
7784
start: { line: 1, column: 9 },
7785
end: { line: 1, column: 17 }
7786
}
7787
},
7788
range: [0, 17],
7789
loc: {
7790
start: { line: 1, column: 0 },
7791
end: { line: 1, column: 17 }
7792
}
7793
},
7794
property: {
7795
type: 'Identifier',
7796
name: 'solarsystem',
7797
range: [18, 29],
7798
loc: {
7799
start: { line: 1, column: 18 },
7800
end: { line: 1, column: 29 }
7801
}
7802
},
7803
range: [0, 29],
7804
loc: {
7805
start: { line: 1, column: 0 },
7806
end: { line: 1, column: 29 }
7807
}
7808
},
7809
range: [0, 29],
7810
loc: {
7811
start: { line: 1, column: 0 },
7812
end: { line: 1, column: 29 }
7813
}
7814
},
7815
7816
'universe.milkyway.solarsystem.Earth': {
7817
type: 'ExpressionStatement',
7818
expression: {
7819
type: 'MemberExpression',
7820
computed: false,
7821
object: {
7822
type: 'MemberExpression',
7823
computed: false,
7824
object: {
7825
type: 'MemberExpression',
7826
computed: false,
7827
object: {
7828
type: 'Identifier',
7829
name: 'universe',
7830
range: [0, 8],
7831
loc: {
7832
start: { line: 1, column: 0 },
7833
end: { line: 1, column: 8 }
7834
}
7835
},
7836
property: {
7837
type: 'Identifier',
7838
name: 'milkyway',
7839
range: [9, 17],
7840
loc: {
7841
start: { line: 1, column: 9 },
7842
end: { line: 1, column: 17 }
7843
}
7844
},
7845
range: [0, 17],
7846
loc: {
7847
start: { line: 1, column: 0 },
7848
end: { line: 1, column: 17 }
7849
}
7850
},
7851
property: {
7852
type: 'Identifier',
7853
name: 'solarsystem',
7854
range: [18, 29],
7855
loc: {
7856
start: { line: 1, column: 18 },
7857
end: { line: 1, column: 29 }
7858
}
7859
},
7860
range: [0, 29],
7861
loc: {
7862
start: { line: 1, column: 0 },
7863
end: { line: 1, column: 29 }
7864
}
7865
},
7866
property: {
7867
type: 'Identifier',
7868
name: 'Earth',
7869
range: [30, 35],
7870
loc: {
7871
start: { line: 1, column: 30 },
7872
end: { line: 1, column: 35 }
7873
}
7874
},
7875
range: [0, 35],
7876
loc: {
7877
start: { line: 1, column: 0 },
7878
end: { line: 1, column: 35 }
7879
}
7880
},
7881
range: [0, 35],
7882
loc: {
7883
start: { line: 1, column: 0 },
7884
end: { line: 1, column: 35 }
7885
}
7886
},
7887
7888
'universe[galaxyName, otherUselessName]': {
7889
type: 'ExpressionStatement',
7890
expression: {
7891
type: 'MemberExpression',
7892
computed: true,
7893
object: {
7894
type: 'Identifier',
7895
name: 'universe',
7896
range: [0, 8],
7897
loc: {
7898
start: { line: 1, column: 0 },
7899
end: { line: 1, column: 8 }
7900
}
7901
},
7902
property: {
7903
type: 'SequenceExpression',
7904
expressions: [{
7905
type: 'Identifier',
7906
name: 'galaxyName',
7907
range: [9, 19],
7908
loc: {
7909
start: { line: 1, column: 9 },
7910
end: { line: 1, column: 19 }
7911
}
7912
}, {
7913
type: 'Identifier',
7914
name: 'otherUselessName',
7915
range: [21, 37],
7916
loc: {
7917
start: { line: 1, column: 21 },
7918
end: { line: 1, column: 37 }
7919
}
7920
}],
7921
range: [9, 37],
7922
loc: {
7923
start: { line: 1, column: 9 },
7924
end: { line: 1, column: 37 }
7925
}
7926
},
7927
range: [0, 38],
7928
loc: {
7929
start: { line: 1, column: 0 },
7930
end: { line: 1, column: 38 }
7931
}
7932
},
7933
range: [0, 38],
7934
loc: {
7935
start: { line: 1, column: 0 },
7936
end: { line: 1, column: 38 }
7937
}
7938
},
7939
7940
'universe[galaxyName]': {
7941
type: 'ExpressionStatement',
7942
expression: {
7943
type: 'MemberExpression',
7944
computed: true,
7945
object: {
7946
type: 'Identifier',
7947
name: 'universe',
7948
range: [0, 8],
7949
loc: {
7950
start: { line: 1, column: 0 },
7951
end: { line: 1, column: 8 }
7952
}
7953
},
7954
property: {
7955
type: 'Identifier',
7956
name: 'galaxyName',
7957
range: [9, 19],
7958
loc: {
7959
start: { line: 1, column: 9 },
7960
end: { line: 1, column: 19 }
7961
}
7962
},
7963
range: [0, 20],
7964
loc: {
7965
start: { line: 1, column: 0 },
7966
end: { line: 1, column: 20 }
7967
}
7968
},
7969
range: [0, 20],
7970
loc: {
7971
start: { line: 1, column: 0 },
7972
end: { line: 1, column: 20 }
7973
}
7974
},
7975
7976
'universe[42].galaxies': {
7977
type: 'ExpressionStatement',
7978
expression: {
7979
type: 'MemberExpression',
7980
computed: false,
7981
object: {
7982
type: 'MemberExpression',
7983
computed: true,
7984
object: {
7985
type: 'Identifier',
7986
name: 'universe',
7987
range: [0, 8],
7988
loc: {
7989
start: { line: 1, column: 0 },
7990
end: { line: 1, column: 8 }
7991
}
7992
},
7993
property: {
7994
type: 'Literal',
7995
value: 42,
7996
raw: '42',
7997
range: [9, 11],
7998
loc: {
7999
start: { line: 1, column: 9 },
8000
end: { line: 1, column: 11 }
8001
}
8002
},
8003
range: [0, 12],
8004
loc: {
8005
start: { line: 1, column: 0 },
8006
end: { line: 1, column: 12 }
8007
}
8008
},
8009
property: {
8010
type: 'Identifier',
8011
name: 'galaxies',
8012
range: [13, 21],
8013
loc: {
8014
start: { line: 1, column: 13 },
8015
end: { line: 1, column: 21 }
8016
}
8017
},
8018
range: [0, 21],
8019
loc: {
8020
start: { line: 1, column: 0 },
8021
end: { line: 1, column: 21 }
8022
}
8023
},
8024
range: [0, 21],
8025
loc: {
8026
start: { line: 1, column: 0 },
8027
end: { line: 1, column: 21 }
8028
}
8029
},
8030
8031
'universe(42).galaxies': {
8032
type: 'ExpressionStatement',
8033
expression: {
8034
type: 'MemberExpression',
8035
computed: false,
8036
object: {
8037
type: 'CallExpression',
8038
callee: {
8039
type: 'Identifier',
8040
name: 'universe',
8041
range: [0, 8],
8042
loc: {
8043
start: { line: 1, column: 0 },
8044
end: { line: 1, column: 8 }
8045
}
8046
},
8047
'arguments': [{
8048
type: 'Literal',
8049
value: 42,
8050
raw: '42',
8051
range: [9, 11],
8052
loc: {
8053
start: { line: 1, column: 9 },
8054
end: { line: 1, column: 11 }
8055
}
8056
}],
8057
range: [0, 12],
8058
loc: {
8059
start: { line: 1, column: 0 },
8060
end: { line: 1, column: 12 }
8061
}
8062
},
8063
property: {
8064
type: 'Identifier',
8065
name: 'galaxies',
8066
range: [13, 21],
8067
loc: {
8068
start: { line: 1, column: 13 },
8069
end: { line: 1, column: 21 }
8070
}
8071
},
8072
range: [0, 21],
8073
loc: {
8074
start: { line: 1, column: 0 },
8075
end: { line: 1, column: 21 }
8076
}
8077
},
8078
range: [0, 21],
8079
loc: {
8080
start: { line: 1, column: 0 },
8081
end: { line: 1, column: 21 }
8082
}
8083
},
8084
8085
'universe(42).galaxies(14, 3, 77).milkyway': {
8086
type: 'ExpressionStatement',
8087
expression: {
8088
type: 'MemberExpression',
8089
computed: false,
8090
object: {
8091
type: 'CallExpression',
8092
callee: {
8093
type: 'MemberExpression',
8094
computed: false,
8095
object: {
8096
type: 'CallExpression',
8097
callee: {
8098
type: 'Identifier',
8099
name: 'universe',
8100
range: [0, 8],
8101
loc: {
8102
start: { line: 1, column: 0 },
8103
end: { line: 1, column: 8 }
8104
}
8105
},
8106
'arguments': [{
8107
type: 'Literal',
8108
value: 42,
8109
raw: '42',
8110
range: [9, 11],
8111
loc: {
8112
start: { line: 1, column: 9 },
8113
end: { line: 1, column: 11 }
8114
}
8115
}],
8116
range: [0, 12],
8117
loc: {
8118
start: { line: 1, column: 0 },
8119
end: { line: 1, column: 12 }
8120
}
8121
},
8122
property: {
8123
type: 'Identifier',
8124
name: 'galaxies',
8125
range: [13, 21],
8126
loc: {
8127
start: { line: 1, column: 13 },
8128
end: { line: 1, column: 21 }
8129
}
8130
},
8131
range: [0, 21],
8132
loc: {
8133
start: { line: 1, column: 0 },
8134
end: { line: 1, column: 21 }
8135
}
8136
},
8137
'arguments': [{
8138
type: 'Literal',
8139
value: 14,
8140
raw: '14',
8141
range: [22, 24],
8142
loc: {
8143
start: { line: 1, column: 22 },
8144
end: { line: 1, column: 24 }
8145
}
8146
}, {
8147
type: 'Literal',
8148
value: 3,
8149
raw: '3',
8150
range: [26, 27],
8151
loc: {
8152
start: { line: 1, column: 26 },
8153
end: { line: 1, column: 27 }
8154
}
8155
}, {
8156
type: 'Literal',
8157
value: 77,
8158
raw: '77',
8159
range: [29, 31],
8160
loc: {
8161
start: { line: 1, column: 29 },
8162
end: { line: 1, column: 31 }
8163
}
8164
}],
8165
range: [0, 32],
8166
loc: {
8167
start: { line: 1, column: 0 },
8168
end: { line: 1, column: 32 }
8169
}
8170
},
8171
property: {
8172
type: 'Identifier',
8173
name: 'milkyway',
8174
range: [33, 41],
8175
loc: {
8176
start: { line: 1, column: 33 },
8177
end: { line: 1, column: 41 }
8178
}
8179
},
8180
range: [0, 41],
8181
loc: {
8182
start: { line: 1, column: 0 },
8183
end: { line: 1, column: 41 }
8184
}
8185
},
8186
range: [0, 41],
8187
loc: {
8188
start: { line: 1, column: 0 },
8189
end: { line: 1, column: 41 }
8190
}
8191
},
8192
8193
'earth.asia.Indonesia.prepareForElection(2014)': {
8194
type: 'ExpressionStatement',
8195
expression: {
8196
type: 'CallExpression',
8197
callee: {
8198
type: 'MemberExpression',
8199
computed: false,
8200
object: {
8201
type: 'MemberExpression',
8202
computed: false,
8203
object: {
8204
type: 'MemberExpression',
8205
computed: false,
8206
object: {
8207
type: 'Identifier',
8208
name: 'earth',
8209
range: [0, 5],
8210
loc: {
8211
start: { line: 1, column: 0 },
8212
end: { line: 1, column: 5 }
8213
}
8214
},
8215
property: {
8216
type: 'Identifier',
8217
name: 'asia',
8218
range: [6, 10],
8219
loc: {
8220
start: { line: 1, column: 6 },
8221
end: { line: 1, column: 10 }
8222
}
8223
},
8224
range: [0, 10],
8225
loc: {
8226
start: { line: 1, column: 0 },
8227
end: { line: 1, column: 10 }
8228
}
8229
},
8230
property: {
8231
type: 'Identifier',
8232
name: 'Indonesia',
8233
range: [11, 20],
8234
loc: {
8235
start: { line: 1, column: 11 },
8236
end: { line: 1, column: 20 }
8237
}
8238
},
8239
range: [0, 20],
8240
loc: {
8241
start: { line: 1, column: 0 },
8242
end: { line: 1, column: 20 }
8243
}
8244
},
8245
property: {
8246
type: 'Identifier',
8247
name: 'prepareForElection',
8248
range: [21, 39],
8249
loc: {
8250
start: { line: 1, column: 21 },
8251
end: { line: 1, column: 39 }
8252
}
8253
},
8254
range: [0, 39],
8255
loc: {
8256
start: { line: 1, column: 0 },
8257
end: { line: 1, column: 39 }
8258
}
8259
},
8260
'arguments': [{
8261
type: 'Literal',
8262
value: 2014,
8263
raw: '2014',
8264
range: [40, 44],
8265
loc: {
8266
start: { line: 1, column: 40 },
8267
end: { line: 1, column: 44 }
8268
}
8269
}],
8270
range: [0, 45],
8271
loc: {
8272
start: { line: 1, column: 0 },
8273
end: { line: 1, column: 45 }
8274
}
8275
},
8276
range: [0, 45],
8277
loc: {
8278
start: { line: 1, column: 0 },
8279
end: { line: 1, column: 45 }
8280
}
8281
},
8282
8283
'universe.if': {
8284
type: 'ExpressionStatement',
8285
expression: {
8286
type: 'MemberExpression',
8287
computed: false,
8288
object: {
8289
type: 'Identifier',
8290
name: 'universe',
8291
range: [0, 8],
8292
loc: {
8293
start: { line: 1, column: 0 },
8294
end: { line: 1, column: 8 }
8295
}
8296
},
8297
property: {
8298
type: 'Identifier',
8299
name: 'if',
8300
range: [9, 11],
8301
loc: {
8302
start: { line: 1, column: 9 },
8303
end: { line: 1, column: 11 }
8304
}
8305
},
8306
range: [0, 11],
8307
loc: {
8308
start: { line: 1, column: 0 },
8309
end: { line: 1, column: 11 }
8310
}
8311
},
8312
range: [0, 11],
8313
loc: {
8314
start: { line: 1, column: 0 },
8315
end: { line: 1, column: 11 }
8316
}
8317
},
8318
8319
'universe.true': {
8320
type: 'ExpressionStatement',
8321
expression: {
8322
type: 'MemberExpression',
8323
computed: false,
8324
object: {
8325
type: 'Identifier',
8326
name: 'universe',
8327
range: [0, 8],
8328
loc: {
8329
start: { line: 1, column: 0 },
8330
end: { line: 1, column: 8 }
8331
}
8332
},
8333
property: {
8334
type: 'Identifier',
8335
name: 'true',
8336
range: [9, 13],
8337
loc: {
8338
start: { line: 1, column: 9 },
8339
end: { line: 1, column: 13 }
8340
}
8341
},
8342
range: [0, 13],
8343
loc: {
8344
start: { line: 1, column: 0 },
8345
end: { line: 1, column: 13 }
8346
}
8347
},
8348
range: [0, 13],
8349
loc: {
8350
start: { line: 1, column: 0 },
8351
end: { line: 1, column: 13 }
8352
}
8353
},
8354
8355
'universe.false': {
8356
type: 'ExpressionStatement',
8357
expression: {
8358
type: 'MemberExpression',
8359
computed: false,
8360
object: {
8361
type: 'Identifier',
8362
name: 'universe',
8363
range: [0, 8],
8364
loc: {
8365
start: { line: 1, column: 0 },
8366
end: { line: 1, column: 8 }
8367
}
8368
},
8369
property: {
8370
type: 'Identifier',
8371
name: 'false',
8372
range: [9, 14],
8373
loc: {
8374
start: { line: 1, column: 9 },
8375
end: { line: 1, column: 14 }
8376
}
8377
},
8378
range: [0, 14],
8379
loc: {
8380
start: { line: 1, column: 0 },
8381
end: { line: 1, column: 14 }
8382
}
8383
},
8384
range: [0, 14],
8385
loc: {
8386
start: { line: 1, column: 0 },
8387
end: { line: 1, column: 14 }
8388
}
8389
},
8390
8391
'universe.null': {
8392
type: 'ExpressionStatement',
8393
expression: {
8394
type: 'MemberExpression',
8395
computed: false,
8396
object: {
8397
type: 'Identifier',
8398
name: 'universe',
8399
range: [0, 8],
8400
loc: {
8401
start: { line: 1, column: 0 },
8402
end: { line: 1, column: 8 }
8403
}
8404
},
8405
property: {
8406
type: 'Identifier',
8407
name: 'null',
8408
range: [9, 13],
8409
loc: {
8410
start: { line: 1, column: 9 },
8411
end: { line: 1, column: 13 }
8412
}
8413
},
8414
range: [0, 13],
8415
loc: {
8416
start: { line: 1, column: 0 },
8417
end: { line: 1, column: 13 }
8418
}
8419
},
8420
range: [0, 13],
8421
loc: {
8422
start: { line: 1, column: 0 },
8423
end: { line: 1, column: 13 }
8424
}
8425
}
8426
8427
},
8428
8429
'Postfix Expressions': {
8430
8431
'x++': {
8432
type: 'ExpressionStatement',
8433
expression: {
8434
type: 'UpdateExpression',
8435
operator: '++',
8436
argument: {
8437
type: 'Identifier',
8438
name: 'x',
8439
range: [0, 1],
8440
loc: {
8441
start: { line: 1, column: 0 },
8442
end: { line: 1, column: 1 }
8443
}
8444
},
8445
prefix: false,
8446
range: [0, 3],
8447
loc: {
8448
start: { line: 1, column: 0 },
8449
end: { line: 1, column: 3 }
8450
}
8451
},
8452
range: [0, 3],
8453
loc: {
8454
start: { line: 1, column: 0 },
8455
end: { line: 1, column: 3 }
8456
}
8457
},
8458
8459
'x--': {
8460
type: 'ExpressionStatement',
8461
expression: {
8462
type: 'UpdateExpression',
8463
operator: '--',
8464
argument: {
8465
type: 'Identifier',
8466
name: 'x',
8467
range: [0, 1],
8468
loc: {
8469
start: { line: 1, column: 0 },
8470
end: { line: 1, column: 1 }
8471
}
8472
},
8473
prefix: false,
8474
range: [0, 3],
8475
loc: {
8476
start: { line: 1, column: 0 },
8477
end: { line: 1, column: 3 }
8478
}
8479
},
8480
range: [0, 3],
8481
loc: {
8482
start: { line: 1, column: 0 },
8483
end: { line: 1, column: 3 }
8484
}
8485
},
8486
8487
'eval++': {
8488
type: 'ExpressionStatement',
8489
expression: {
8490
type: 'UpdateExpression',
8491
operator: '++',
8492
argument: {
8493
type: 'Identifier',
8494
name: 'eval',
8495
range: [0, 4],
8496
loc: {
8497
start: { line: 1, column: 0 },
8498
end: { line: 1, column: 4 }
8499
}
8500
},
8501
prefix: false,
8502
range: [0, 6],
8503
loc: {
8504
start: { line: 1, column: 0 },
8505
end: { line: 1, column: 6 }
8506
}
8507
},
8508
range: [0, 6],
8509
loc: {
8510
start: { line: 1, column: 0 },
8511
end: { line: 1, column: 6 }
8512
}
8513
},
8514
8515
'eval--': {
8516
type: 'ExpressionStatement',
8517
expression: {
8518
type: 'UpdateExpression',
8519
operator: '--',
8520
argument: {
8521
type: 'Identifier',
8522
name: 'eval',
8523
range: [0, 4],
8524
loc: {
8525
start: { line: 1, column: 0 },
8526
end: { line: 1, column: 4 }
8527
}
8528
},
8529
prefix: false,
8530
range: [0, 6],
8531
loc: {
8532
start: { line: 1, column: 0 },
8533
end: { line: 1, column: 6 }
8534
}
8535
},
8536
range: [0, 6],
8537
loc: {
8538
start: { line: 1, column: 0 },
8539
end: { line: 1, column: 6 }
8540
}
8541
},
8542
8543
'arguments++': {
8544
type: 'ExpressionStatement',
8545
expression: {
8546
type: 'UpdateExpression',
8547
operator: '++',
8548
argument: {
8549
type: 'Identifier',
8550
name: 'arguments',
8551
range: [0, 9],
8552
loc: {
8553
start: { line: 1, column: 0 },
8554
end: { line: 1, column: 9 }
8555
}
8556
},
8557
prefix: false,
8558
range: [0, 11],
8559
loc: {
8560
start: { line: 1, column: 0 },
8561
end: { line: 1, column: 11 }
8562
}
8563
},
8564
range: [0, 11],
8565
loc: {
8566
start: { line: 1, column: 0 },
8567
end: { line: 1, column: 11 }
8568
}
8569
},
8570
8571
'arguments--': {
8572
type: 'ExpressionStatement',
8573
expression: {
8574
type: 'UpdateExpression',
8575
operator: '--',
8576
argument: {
8577
type: 'Identifier',
8578
name: 'arguments',
8579
range: [0, 9],
8580
loc: {
8581
start: { line: 1, column: 0 },
8582
end: { line: 1, column: 9 }
8583
}
8584
},
8585
prefix: false,
8586
range: [0, 11],
8587
loc: {
8588
start: { line: 1, column: 0 },
8589
end: { line: 1, column: 11 }
8590
}
8591
},
8592
range: [0, 11],
8593
loc: {
8594
start: { line: 1, column: 0 },
8595
end: { line: 1, column: 11 }
8596
}
8597
}
8598
8599
},
8600
8601
'Unary Operators': {
8602
8603
'++x': {
8604
type: 'ExpressionStatement',
8605
expression: {
8606
type: 'UpdateExpression',
8607
operator: '++',
8608
argument: {
8609
type: 'Identifier',
8610
name: 'x',
8611
range: [2, 3],
8612
loc: {
8613
start: { line: 1, column: 2 },
8614
end: { line: 1, column: 3 }
8615
}
8616
},
8617
prefix: true,
8618
range: [0, 3],
8619
loc: {
8620
start: { line: 1, column: 0 },
8621
end: { line: 1, column: 3 }
8622
}
8623
},
8624
range: [0, 3],
8625
loc: {
8626
start: { line: 1, column: 0 },
8627
end: { line: 1, column: 3 }
8628
}
8629
},
8630
8631
'--x': {
8632
type: 'ExpressionStatement',
8633
expression: {
8634
type: 'UpdateExpression',
8635
operator: '--',
8636
argument: {
8637
type: 'Identifier',
8638
name: 'x',
8639
range: [2, 3],
8640
loc: {
8641
start: { line: 1, column: 2 },
8642
end: { line: 1, column: 3 }
8643
}
8644
},
8645
prefix: true,
8646
range: [0, 3],
8647
loc: {
8648
start: { line: 1, column: 0 },
8649
end: { line: 1, column: 3 }
8650
}
8651
},
8652
range: [0, 3],
8653
loc: {
8654
start: { line: 1, column: 0 },
8655
end: { line: 1, column: 3 }
8656
}
8657
},
8658
8659
'++eval': {
8660
type: 'ExpressionStatement',
8661
expression: {
8662
type: 'UpdateExpression',
8663
operator: '++',
8664
argument: {
8665
type: 'Identifier',
8666
name: 'eval',
8667
range: [2, 6],
8668
loc: {
8669
start: { line: 1, column: 2 },
8670
end: { line: 1, column: 6 }
8671
}
8672
},
8673
prefix: true,
8674
range: [0, 6],
8675
loc: {
8676
start: { line: 1, column: 0 },
8677
end: { line: 1, column: 6 }
8678
}
8679
},
8680
range: [0, 6],
8681
loc: {
8682
start: { line: 1, column: 0 },
8683
end: { line: 1, column: 6 }
8684
}
8685
},
8686
8687
'--eval': {
8688
type: 'ExpressionStatement',
8689
expression: {
8690
type: 'UpdateExpression',
8691
operator: '--',
8692
argument: {
8693
type: 'Identifier',
8694
name: 'eval',
8695
range: [2, 6],
8696
loc: {
8697
start: { line: 1, column: 2 },
8698
end: { line: 1, column: 6 }
8699
}
8700
},
8701
prefix: true,
8702
range: [0, 6],
8703
loc: {
8704
start: { line: 1, column: 0 },
8705
end: { line: 1, column: 6 }
8706
}
8707
},
8708
range: [0, 6],
8709
loc: {
8710
start: { line: 1, column: 0 },
8711
end: { line: 1, column: 6 }
8712
}
8713
},
8714
8715
'++arguments': {
8716
type: 'ExpressionStatement',
8717
expression: {
8718
type: 'UpdateExpression',
8719
operator: '++',
8720
argument: {
8721
type: 'Identifier',
8722
name: 'arguments',
8723
range: [2, 11],
8724
loc: {
8725
start: { line: 1, column: 2 },
8726
end: { line: 1, column: 11 }
8727
}
8728
},
8729
prefix: true,
8730
range: [0, 11],
8731
loc: {
8732
start: { line: 1, column: 0 },
8733
end: { line: 1, column: 11 }
8734
}
8735
},
8736
range: [0, 11],
8737
loc: {
8738
start: { line: 1, column: 0 },
8739
end: { line: 1, column: 11 }
8740
}
8741
},
8742
8743
'--arguments': {
8744
type: 'ExpressionStatement',
8745
expression: {
8746
type: 'UpdateExpression',
8747
operator: '--',
8748
argument: {
8749
type: 'Identifier',
8750
name: 'arguments',
8751
range: [2, 11],
8752
loc: {
8753
start: { line: 1, column: 2 },
8754
end: { line: 1, column: 11 }
8755
}
8756
},
8757
prefix: true,
8758
range: [0, 11],
8759
loc: {
8760
start: { line: 1, column: 0 },
8761
end: { line: 1, column: 11 }
8762
}
8763
},
8764
range: [0, 11],
8765
loc: {
8766
start: { line: 1, column: 0 },
8767
end: { line: 1, column: 11 }
8768
}
8769
},
8770
8771
'+x': {
8772
type: 'ExpressionStatement',
8773
expression: {
8774
type: 'UnaryExpression',
8775
operator: '+',
8776
argument: {
8777
type: 'Identifier',
8778
name: 'x',
8779
range: [1, 2],
8780
loc: {
8781
start: { line: 1, column: 1 },
8782
end: { line: 1, column: 2 }
8783
}
8784
},
8785
prefix: true,
8786
range: [0, 2],
8787
loc: {
8788
start: { line: 1, column: 0 },
8789
end: { line: 1, column: 2 }
8790
}
8791
},
8792
range: [0, 2],
8793
loc: {
8794
start: { line: 1, column: 0 },
8795
end: { line: 1, column: 2 }
8796
}
8797
},
8798
8799
'-x': {
8800
type: 'ExpressionStatement',
8801
expression: {
8802
type: 'UnaryExpression',
8803
operator: '-',
8804
argument: {
8805
type: 'Identifier',
8806
name: 'x',
8807
range: [1, 2],
8808
loc: {
8809
start: { line: 1, column: 1 },
8810
end: { line: 1, column: 2 }
8811
}
8812
},
8813
prefix: true,
8814
range: [0, 2],
8815
loc: {
8816
start: { line: 1, column: 0 },
8817
end: { line: 1, column: 2 }
8818
}
8819
},
8820
range: [0, 2],
8821
loc: {
8822
start: { line: 1, column: 0 },
8823
end: { line: 1, column: 2 }
8824
}
8825
},
8826
8827
'~x': {
8828
type: 'ExpressionStatement',
8829
expression: {
8830
type: 'UnaryExpression',
8831
operator: '~',
8832
argument: {
8833
type: 'Identifier',
8834
name: 'x',
8835
range: [1, 2],
8836
loc: {
8837
start: { line: 1, column: 1 },
8838
end: { line: 1, column: 2 }
8839
}
8840
},
8841
prefix: true,
8842
range: [0, 2],
8843
loc: {
8844
start: { line: 1, column: 0 },
8845
end: { line: 1, column: 2 }
8846
}
8847
},
8848
range: [0, 2],
8849
loc: {
8850
start: { line: 1, column: 0 },
8851
end: { line: 1, column: 2 }
8852
}
8853
},
8854
8855
'!x': {
8856
type: 'ExpressionStatement',
8857
expression: {
8858
type: 'UnaryExpression',
8859
operator: '!',
8860
argument: {
8861
type: 'Identifier',
8862
name: 'x',
8863
range: [1, 2],
8864
loc: {
8865
start: { line: 1, column: 1 },
8866
end: { line: 1, column: 2 }
8867
}
8868
},
8869
prefix: true,
8870
range: [0, 2],
8871
loc: {
8872
start: { line: 1, column: 0 },
8873
end: { line: 1, column: 2 }
8874
}
8875
},
8876
range: [0, 2],
8877
loc: {
8878
start: { line: 1, column: 0 },
8879
end: { line: 1, column: 2 }
8880
}
8881
},
8882
8883
'void x': {
8884
type: 'ExpressionStatement',
8885
expression: {
8886
type: 'UnaryExpression',
8887
operator: 'void',
8888
argument: {
8889
type: 'Identifier',
8890
name: 'x',
8891
range: [5, 6],
8892
loc: {
8893
start: { line: 1, column: 5 },
8894
end: { line: 1, column: 6 }
8895
}
8896
},
8897
prefix: true,
8898
range: [0, 6],
8899
loc: {
8900
start: { line: 1, column: 0 },
8901
end: { line: 1, column: 6 }
8902
}
8903
},
8904
range: [0, 6],
8905
loc: {
8906
start: { line: 1, column: 0 },
8907
end: { line: 1, column: 6 }
8908
}
8909
},
8910
8911
'delete x': {
8912
type: 'ExpressionStatement',
8913
expression: {
8914
type: 'UnaryExpression',
8915
operator: 'delete',
8916
argument: {
8917
type: 'Identifier',
8918
name: 'x',
8919
range: [7, 8],
8920
loc: {
8921
start: { line: 1, column: 7 },
8922
end: { line: 1, column: 8 }
8923
}
8924
},
8925
prefix: true,
8926
range: [0, 8],
8927
loc: {
8928
start: { line: 1, column: 0 },
8929
end: { line: 1, column: 8 }
8930
}
8931
},
8932
range: [0, 8],
8933
loc: {
8934
start: { line: 1, column: 0 },
8935
end: { line: 1, column: 8 }
8936
}
8937
},
8938
8939
'typeof x': {
8940
type: 'ExpressionStatement',
8941
expression: {
8942
type: 'UnaryExpression',
8943
operator: 'typeof',
8944
argument: {
8945
type: 'Identifier',
8946
name: 'x',
8947
range: [7, 8],
8948
loc: {
8949
start: { line: 1, column: 7 },
8950
end: { line: 1, column: 8 }
8951
}
8952
},
8953
prefix: true,
8954
range: [0, 8],
8955
loc: {
8956
start: { line: 1, column: 0 },
8957
end: { line: 1, column: 8 }
8958
}
8959
},
8960
range: [0, 8],
8961
loc: {
8962
start: { line: 1, column: 0 },
8963
end: { line: 1, column: 8 }
8964
}
8965
}
8966
8967
},
8968
8969
'Multiplicative Operators': {
8970
8971
'x * y': {
8972
type: 'ExpressionStatement',
8973
expression: {
8974
type: 'BinaryExpression',
8975
operator: '*',
8976
left: {
8977
type: 'Identifier',
8978
name: 'x',
8979
range: [0, 1],
8980
loc: {
8981
start: { line: 1, column: 0 },
8982
end: { line: 1, column: 1 }
8983
}
8984
},
8985
right: {
8986
type: 'Identifier',
8987
name: 'y',
8988
range: [4, 5],
8989
loc: {
8990
start: { line: 1, column: 4 },
8991
end: { line: 1, column: 5 }
8992
}
8993
},
8994
range: [0, 5],
8995
loc: {
8996
start: { line: 1, column: 0 },
8997
end: { line: 1, column: 5 }
8998
}
8999
},
9000
range: [0, 5],
9001
loc: {
9002
start: { line: 1, column: 0 },
9003
end: { line: 1, column: 5 }
9004
}
9005
},
9006
9007
'x / y': {
9008
type: 'ExpressionStatement',
9009
expression: {
9010
type: 'BinaryExpression',
9011
operator: '/',
9012
left: {
9013
type: 'Identifier',
9014
name: 'x',
9015
range: [0, 1],
9016
loc: {
9017
start: { line: 1, column: 0 },
9018
end: { line: 1, column: 1 }
9019
}
9020
},
9021
right: {
9022
type: 'Identifier',
9023
name: 'y',
9024
range: [4, 5],
9025
loc: {
9026
start: { line: 1, column: 4 },
9027
end: { line: 1, column: 5 }
9028
}
9029
},
9030
range: [0, 5],
9031
loc: {
9032
start: { line: 1, column: 0 },
9033
end: { line: 1, column: 5 }
9034
}
9035
},
9036
range: [0, 5],
9037
loc: {
9038
start: { line: 1, column: 0 },
9039
end: { line: 1, column: 5 }
9040
}
9041
},
9042
9043
'x % y': {
9044
type: 'ExpressionStatement',
9045
expression: {
9046
type: 'BinaryExpression',
9047
operator: '%',
9048
left: {
9049
type: 'Identifier',
9050
name: 'x',
9051
range: [0, 1],
9052
loc: {
9053
start: { line: 1, column: 0 },
9054
end: { line: 1, column: 1 }
9055
}
9056
},
9057
right: {
9058
type: 'Identifier',
9059
name: 'y',
9060
range: [4, 5],
9061
loc: {
9062
start: { line: 1, column: 4 },
9063
end: { line: 1, column: 5 }
9064
}
9065
},
9066
range: [0, 5],
9067
loc: {
9068
start: { line: 1, column: 0 },
9069
end: { line: 1, column: 5 }
9070
}
9071
},
9072
range: [0, 5],
9073
loc: {
9074
start: { line: 1, column: 0 },
9075
end: { line: 1, column: 5 }
9076
}
9077
}
9078
9079
},
9080
9081
'Additive Operators': {
9082
9083
'x + y': {
9084
type: 'ExpressionStatement',
9085
expression: {
9086
type: 'BinaryExpression',
9087
operator: '+',
9088
left: {
9089
type: 'Identifier',
9090
name: 'x',
9091
range: [0, 1],
9092
loc: {
9093
start: { line: 1, column: 0 },
9094
end: { line: 1, column: 1 }
9095
}
9096
},
9097
right: {
9098
type: 'Identifier',
9099
name: 'y',
9100
range: [4, 5],
9101
loc: {
9102
start: { line: 1, column: 4 },
9103
end: { line: 1, column: 5 }
9104
}
9105
},
9106
range: [0, 5],
9107
loc: {
9108
start: { line: 1, column: 0 },
9109
end: { line: 1, column: 5 }
9110
}
9111
},
9112
range: [0, 5],
9113
loc: {
9114
start: { line: 1, column: 0 },
9115
end: { line: 1, column: 5 }
9116
}
9117
},
9118
9119
'x - y': {
9120
type: 'ExpressionStatement',
9121
expression: {
9122
type: 'BinaryExpression',
9123
operator: '-',
9124
left: {
9125
type: 'Identifier',
9126
name: 'x',
9127
range: [0, 1],
9128
loc: {
9129
start: { line: 1, column: 0 },
9130
end: { line: 1, column: 1 }
9131
}
9132
},
9133
right: {
9134
type: 'Identifier',
9135
name: 'y',
9136
range: [4, 5],
9137
loc: {
9138
start: { line: 1, column: 4 },
9139
end: { line: 1, column: 5 }
9140
}
9141
},
9142
range: [0, 5],
9143
loc: {
9144
start: { line: 1, column: 0 },
9145
end: { line: 1, column: 5 }
9146
}
9147
},
9148
range: [0, 5],
9149
loc: {
9150
start: { line: 1, column: 0 },
9151
end: { line: 1, column: 5 }
9152
}
9153
},
9154
9155
'"use strict" + 42': {
9156
type: 'ExpressionStatement',
9157
expression: {
9158
type: 'BinaryExpression',
9159
operator: '+',
9160
left: {
9161
type: 'Literal',
9162
value: 'use strict',
9163
raw: '"use strict"',
9164
range: [0, 12],
9165
loc: {
9166
start: { line: 1, column: 0 },
9167
end: { line: 1, column: 12 }
9168
}
9169
},
9170
right: {
9171
type: 'Literal',
9172
value: 42,
9173
raw: '42',
9174
range: [15, 17],
9175
loc: {
9176
start: { line: 1, column: 15 },
9177
end: { line: 1, column: 17 }
9178
}
9179
},
9180
range: [0, 17],
9181
loc: {
9182
start: { line: 1, column: 0 },
9183
end: { line: 1, column: 17 }
9184
}
9185
},
9186
range: [0, 17],
9187
loc: {
9188
start: { line: 1, column: 0 },
9189
end: { line: 1, column: 17 }
9190
}
9191
}
9192
9193
},
9194
9195
'Bitwise Shift Operator': {
9196
9197
'x << y': {
9198
type: 'ExpressionStatement',
9199
expression: {
9200
type: 'BinaryExpression',
9201
operator: '<<',
9202
left: {
9203
type: 'Identifier',
9204
name: 'x',
9205
range: [0, 1],
9206
loc: {
9207
start: { line: 1, column: 0 },
9208
end: { line: 1, column: 1 }
9209
}
9210
},
9211
right: {
9212
type: 'Identifier',
9213
name: 'y',
9214
range: [5, 6],
9215
loc: {
9216
start: { line: 1, column: 5 },
9217
end: { line: 1, column: 6 }
9218
}
9219
},
9220
range: [0, 6],
9221
loc: {
9222
start: { line: 1, column: 0 },
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
9233
'x >> y': {
9234
type: 'ExpressionStatement',
9235
expression: {
9236
type: 'BinaryExpression',
9237
operator: '>>',
9238
left: {
9239
type: 'Identifier',
9240
name: 'x',
9241
range: [0, 1],
9242
loc: {
9243
start: { line: 1, column: 0 },
9244
end: { line: 1, column: 1 }
9245
}
9246
},
9247
right: {
9248
type: 'Identifier',
9249
name: 'y',
9250
range: [5, 6],
9251
loc: {
9252
start: { line: 1, column: 5 },
9253
end: { line: 1, column: 6 }
9254
}
9255
},
9256
range: [0, 6],
9257
loc: {
9258
start: { line: 1, column: 0 },
9259
end: { line: 1, column: 6 }
9260
}
9261
},
9262
range: [0, 6],
9263
loc: {
9264
start: { line: 1, column: 0 },
9265
end: { line: 1, column: 6 }
9266
}
9267
},
9268
9269
'x >>> y': {
9270
type: 'ExpressionStatement',
9271
expression: {
9272
type: 'BinaryExpression',
9273
operator: '>>>',
9274
left: {
9275
type: 'Identifier',
9276
name: 'x',
9277
range: [0, 1],
9278
loc: {
9279
start: { line: 1, column: 0 },
9280
end: { line: 1, column: 1 }
9281
}
9282
},
9283
right: {
9284
type: 'Identifier',
9285
name: 'y',
9286
range: [6, 7],
9287
loc: {
9288
start: { line: 1, column: 6 },
9289
end: { line: 1, column: 7 }
9290
}
9291
},
9292
range: [0, 7],
9293
loc: {
9294
start: { line: 1, column: 0 },
9295
end: { line: 1, column: 7 }
9296
}
9297
},
9298
range: [0, 7],
9299
loc: {
9300
start: { line: 1, column: 0 },
9301
end: { line: 1, column: 7 }
9302
}
9303
}
9304
9305
},
9306
9307
'Relational Operators': {
9308
9309
'x < y': {
9310
type: 'ExpressionStatement',
9311
expression: {
9312
type: 'BinaryExpression',
9313
operator: '<',
9314
left: {
9315
type: 'Identifier',
9316
name: 'x',
9317
range: [0, 1],
9318
loc: {
9319
start: { line: 1, column: 0 },
9320
end: { line: 1, column: 1 }
9321
}
9322
},
9323
right: {
9324
type: 'Identifier',
9325
name: 'y',
9326
range: [4, 5],
9327
loc: {
9328
start: { line: 1, column: 4 },
9329
end: { line: 1, column: 5 }
9330
}
9331
},
9332
range: [0, 5],
9333
loc: {
9334
start: { line: 1, column: 0 },
9335
end: { line: 1, column: 5 }
9336
}
9337
},
9338
range: [0, 5],
9339
loc: {
9340
start: { line: 1, column: 0 },
9341
end: { line: 1, column: 5 }
9342
}
9343
},
9344
9345
'x > y': {
9346
type: 'ExpressionStatement',
9347
expression: {
9348
type: 'BinaryExpression',
9349
operator: '>',
9350
left: {
9351
type: 'Identifier',
9352
name: 'x',
9353
range: [0, 1],
9354
loc: {
9355
start: { line: 1, column: 0 },
9356
end: { line: 1, column: 1 }
9357
}
9358
},
9359
right: {
9360
type: 'Identifier',
9361
name: 'y',
9362
range: [4, 5],
9363
loc: {
9364
start: { line: 1, column: 4 },
9365
end: { line: 1, column: 5 }
9366
}
9367
},
9368
range: [0, 5],
9369
loc: {
9370
start: { line: 1, column: 0 },
9371
end: { line: 1, column: 5 }
9372
}
9373
},
9374
range: [0, 5],
9375
loc: {
9376
start: { line: 1, column: 0 },
9377
end: { line: 1, column: 5 }
9378
}
9379
},
9380
9381
'x <= y': {
9382
type: 'ExpressionStatement',
9383
expression: {
9384
type: 'BinaryExpression',
9385
operator: '<=',
9386
left: {
9387
type: 'Identifier',
9388
name: 'x',
9389
range: [0, 1],
9390
loc: {
9391
start: { line: 1, column: 0 },
9392
end: { line: 1, column: 1 }
9393
}
9394
},
9395
right: {
9396
type: 'Identifier',
9397
name: 'y',
9398
range: [5, 6],
9399
loc: {
9400
start: { line: 1, column: 5 },
9401
end: { line: 1, column: 6 }
9402
}
9403
},
9404
range: [0, 6],
9405
loc: {
9406
start: { line: 1, column: 0 },
9407
end: { line: 1, column: 6 }
9408
}
9409
},
9410
range: [0, 6],
9411
loc: {
9412
start: { line: 1, column: 0 },
9413
end: { line: 1, column: 6 }
9414
}
9415
},
9416
9417
'x >= y': {
9418
type: 'ExpressionStatement',
9419
expression: {
9420
type: 'BinaryExpression',
9421
operator: '>=',
9422
left: {
9423
type: 'Identifier',
9424
name: 'x',
9425
range: [0, 1],
9426
loc: {
9427
start: { line: 1, column: 0 },
9428
end: { line: 1, column: 1 }
9429
}
9430
},
9431
right: {
9432
type: 'Identifier',
9433
name: 'y',
9434
range: [5, 6],
9435
loc: {
9436
start: { line: 1, column: 5 },
9437
end: { line: 1, column: 6 }
9438
}
9439
},
9440
range: [0, 6],
9441
loc: {
9442
start: { line: 1, column: 0 },
9443
end: { line: 1, column: 6 }
9444
}
9445
},
9446
range: [0, 6],
9447
loc: {
9448
start: { line: 1, column: 0 },
9449
end: { line: 1, column: 6 }
9450
}
9451
},
9452
9453
'x in y': {
9454
type: 'ExpressionStatement',
9455
expression: {
9456
type: 'BinaryExpression',
9457
operator: 'in',
9458
left: {
9459
type: 'Identifier',
9460
name: 'x',
9461
range: [0, 1],
9462
loc: {
9463
start: { line: 1, column: 0 },
9464
end: { line: 1, column: 1 }
9465
}
9466
},
9467
right: {
9468
type: 'Identifier',
9469
name: 'y',
9470
range: [5, 6],
9471
loc: {
9472
start: { line: 1, column: 5 },
9473
end: { line: 1, column: 6 }
9474
}
9475
},
9476
range: [0, 6],
9477
loc: {
9478
start: { line: 1, column: 0 },
9479
end: { line: 1, column: 6 }
9480
}
9481
},
9482
range: [0, 6],
9483
loc: {
9484
start: { line: 1, column: 0 },
9485
end: { line: 1, column: 6 }
9486
}
9487
},
9488
9489
'x instanceof y': {
9490
type: 'ExpressionStatement',
9491
expression: {
9492
type: 'BinaryExpression',
9493
operator: 'instanceof',
9494
left: {
9495
type: 'Identifier',
9496
name: 'x',
9497
range: [0, 1],
9498
loc: {
9499
start: { line: 1, column: 0 },
9500
end: { line: 1, column: 1 }
9501
}
9502
},
9503
right: {
9504
type: 'Identifier',
9505
name: 'y',
9506
range: [13, 14],
9507
loc: {
9508
start: { line: 1, column: 13 },
9509
end: { line: 1, column: 14 }
9510
}
9511
},
9512
range: [0, 14],
9513
loc: {
9514
start: { line: 1, column: 0 },
9515
end: { line: 1, column: 14 }
9516
}
9517
},
9518
range: [0, 14],
9519
loc: {
9520
start: { line: 1, column: 0 },
9521
end: { line: 1, column: 14 }
9522
}
9523
},
9524
9525
'x < y < z': {
9526
type: 'ExpressionStatement',
9527
expression: {
9528
type: 'BinaryExpression',
9529
operator: '<',
9530
left: {
9531
type: 'BinaryExpression',
9532
operator: '<',
9533
left: {
9534
type: 'Identifier',
9535
name: 'x',
9536
range: [0, 1],
9537
loc: {
9538
start: { line: 1, column: 0 },
9539
end: { line: 1, column: 1 }
9540
}
9541
},
9542
right: {
9543
type: 'Identifier',
9544
name: 'y',
9545
range: [4, 5],
9546
loc: {
9547
start: { line: 1, column: 4 },
9548
end: { line: 1, column: 5 }
9549
}
9550
},
9551
range: [0, 5],
9552
loc: {
9553
start: { line: 1, column: 0 },
9554
end: { line: 1, column: 5 }
9555
}
9556
},
9557
right: {
9558
type: 'Identifier',
9559
name: 'z',
9560
range: [8, 9],
9561
loc: {
9562
start: { line: 1, column: 8 },
9563
end: { line: 1, column: 9 }
9564
}
9565
},
9566
range: [0, 9],
9567
loc: {
9568
start: { line: 1, column: 0 },
9569
end: { line: 1, column: 9 }
9570
}
9571
},
9572
range: [0, 9],
9573
loc: {
9574
start: { line: 1, column: 0 },
9575
end: { line: 1, column: 9 }
9576
}
9577
}
9578
9579
},
9580
9581
'Equality Operators': {
9582
9583
'x == y': {
9584
type: 'ExpressionStatement',
9585
expression: {
9586
type: 'BinaryExpression',
9587
operator: '==',
9588
left: {
9589
type: 'Identifier',
9590
name: 'x',
9591
range: [0, 1],
9592
loc: {
9593
start: { line: 1, column: 0 },
9594
end: { line: 1, column: 1 }
9595
}
9596
},
9597
right: {
9598
type: 'Identifier',
9599
name: 'y',
9600
range: [5, 6],
9601
loc: {
9602
start: { line: 1, column: 5 },
9603
end: { line: 1, column: 6 }
9604
}
9605
},
9606
range: [0, 6],
9607
loc: {
9608
start: { line: 1, column: 0 },
9609
end: { line: 1, column: 6 }
9610
}
9611
},
9612
range: [0, 6],
9613
loc: {
9614
start: { line: 1, column: 0 },
9615
end: { line: 1, column: 6 }
9616
}
9617
},
9618
9619
'x != y': {
9620
type: 'ExpressionStatement',
9621
expression: {
9622
type: 'BinaryExpression',
9623
operator: '!=',
9624
left: {
9625
type: 'Identifier',
9626
name: 'x',
9627
range: [0, 1],
9628
loc: {
9629
start: { line: 1, column: 0 },
9630
end: { line: 1, column: 1 }
9631
}
9632
},
9633
right: {
9634
type: 'Identifier',
9635
name: 'y',
9636
range: [5, 6],
9637
loc: {
9638
start: { line: 1, column: 5 },
9639
end: { line: 1, column: 6 }
9640
}
9641
},
9642
range: [0, 6],
9643
loc: {
9644
start: { line: 1, column: 0 },
9645
end: { line: 1, column: 6 }
9646
}
9647
},
9648
range: [0, 6],
9649
loc: {
9650
start: { line: 1, column: 0 },
9651
end: { line: 1, column: 6 }
9652
}
9653
},
9654
9655
'x === y': {
9656
type: 'ExpressionStatement',
9657
expression: {
9658
type: 'BinaryExpression',
9659
operator: '===',
9660
left: {
9661
type: 'Identifier',
9662
name: 'x',
9663
range: [0, 1],
9664
loc: {
9665
start: { line: 1, column: 0 },
9666
end: { line: 1, column: 1 }
9667
}
9668
},
9669
right: {
9670
type: 'Identifier',
9671
name: 'y',
9672
range: [6, 7],
9673
loc: {
9674
start: { line: 1, column: 6 },
9675
end: { line: 1, column: 7 }
9676
}
9677
},
9678
range: [0, 7],
9679
loc: {
9680
start: { line: 1, column: 0 },
9681
end: { line: 1, column: 7 }
9682
}
9683
},
9684
range: [0, 7],
9685
loc: {
9686
start: { line: 1, column: 0 },
9687
end: { line: 1, column: 7 }
9688
}
9689
},
9690
9691
'x !== y': {
9692
type: 'ExpressionStatement',
9693
expression: {
9694
type: 'BinaryExpression',
9695
operator: '!==',
9696
left: {
9697
type: 'Identifier',
9698
name: 'x',
9699
range: [0, 1],
9700
loc: {
9701
start: { line: 1, column: 0 },
9702
end: { line: 1, column: 1 }
9703
}
9704
},
9705
right: {
9706
type: 'Identifier',
9707
name: 'y',
9708
range: [6, 7],
9709
loc: {
9710
start: { line: 1, column: 6 },
9711
end: { line: 1, column: 7 }
9712
}
9713
},
9714
range: [0, 7],
9715
loc: {
9716
start: { line: 1, column: 0 },
9717
end: { line: 1, column: 7 }
9718
}
9719
},
9720
range: [0, 7],
9721
loc: {
9722
start: { line: 1, column: 0 },
9723
end: { line: 1, column: 7 }
9724
}
9725
}
9726
9727
},
9728
9729
'Binary Bitwise Operators': {
9730
9731
'x & y': {
9732
type: 'ExpressionStatement',
9733
expression: {
9734
type: 'BinaryExpression',
9735
operator: '&',
9736
left: {
9737
type: 'Identifier',
9738
name: 'x',
9739
range: [0, 1],
9740
loc: {
9741
start: { line: 1, column: 0 },
9742
end: { line: 1, column: 1 }
9743
}
9744
},
9745
right: {
9746
type: 'Identifier',
9747
name: 'y',
9748
range: [4, 5],
9749
loc: {
9750
start: { line: 1, column: 4 },
9751
end: { line: 1, column: 5 }
9752
}
9753
},
9754
range: [0, 5],
9755
loc: {
9756
start: { line: 1, column: 0 },
9757
end: { line: 1, column: 5 }
9758
}
9759
},
9760
range: [0, 5],
9761
loc: {
9762
start: { line: 1, column: 0 },
9763
end: { line: 1, column: 5 }
9764
}
9765
},
9766
9767
'x ^ y': {
9768
type: 'ExpressionStatement',
9769
expression: {
9770
type: 'BinaryExpression',
9771
operator: '^',
9772
left: {
9773
type: 'Identifier',
9774
name: 'x',
9775
range: [0, 1],
9776
loc: {
9777
start: { line: 1, column: 0 },
9778
end: { line: 1, column: 1 }
9779
}
9780
},
9781
right: {
9782
type: 'Identifier',
9783
name: 'y',
9784
range: [4, 5],
9785
loc: {
9786
start: { line: 1, column: 4 },
9787
end: { line: 1, column: 5 }
9788
}
9789
},
9790
range: [0, 5],
9791
loc: {
9792
start: { line: 1, column: 0 },
9793
end: { line: 1, column: 5 }
9794
}
9795
},
9796
range: [0, 5],
9797
loc: {
9798
start: { line: 1, column: 0 },
9799
end: { line: 1, column: 5 }
9800
}
9801
},
9802
9803
'x | y': {
9804
type: 'ExpressionStatement',
9805
expression: {
9806
type: 'BinaryExpression',
9807
operator: '|',
9808
left: {
9809
type: 'Identifier',
9810
name: 'x',
9811
range: [0, 1],
9812
loc: {
9813
start: { line: 1, column: 0 },
9814
end: { line: 1, column: 1 }
9815
}
9816
},
9817
right: {
9818
type: 'Identifier',
9819
name: 'y',
9820
range: [4, 5],
9821
loc: {
9822
start: { line: 1, column: 4 },
9823
end: { line: 1, column: 5 }
9824
}
9825
},
9826
range: [0, 5],
9827
loc: {
9828
start: { line: 1, column: 0 },
9829
end: { line: 1, column: 5 }
9830
}
9831
},
9832
range: [0, 5],
9833
loc: {
9834
start: { line: 1, column: 0 },
9835
end: { line: 1, column: 5 }
9836
}
9837
}
9838
9839
},
9840
9841
'Binary Expressions': {
9842
9843
'x + y + z': {
9844
type: 'ExpressionStatement',
9845
expression: {
9846
type: 'BinaryExpression',
9847
operator: '+',
9848
left: {
9849
type: 'BinaryExpression',
9850
operator: '+',
9851
left: {
9852
type: 'Identifier',
9853
name: 'x',
9854
range: [0, 1],
9855
loc: {
9856
start: { line: 1, column: 0 },
9857
end: { line: 1, column: 1 }
9858
}
9859
},
9860
right: {
9861
type: 'Identifier',
9862
name: 'y',
9863
range: [4, 5],
9864
loc: {
9865
start: { line: 1, column: 4 },
9866
end: { line: 1, column: 5 }
9867
}
9868
},
9869
range: [0, 5],
9870
loc: {
9871
start: { line: 1, column: 0 },
9872
end: { line: 1, column: 5 }
9873
}
9874
},
9875
right: {
9876
type: 'Identifier',
9877
name: 'z',
9878
range: [8, 9],
9879
loc: {
9880
start: { line: 1, column: 8 },
9881
end: { line: 1, column: 9 }
9882
}
9883
},
9884
range: [0, 9],
9885
loc: {
9886
start: { line: 1, column: 0 },
9887
end: { line: 1, column: 9 }
9888
}
9889
},
9890
range: [0, 9],
9891
loc: {
9892
start: { line: 1, column: 0 },
9893
end: { line: 1, column: 9 }
9894
}
9895
},
9896
9897
'x - y + z': {
9898
type: 'ExpressionStatement',
9899
expression: {
9900
type: 'BinaryExpression',
9901
operator: '+',
9902
left: {
9903
type: 'BinaryExpression',
9904
operator: '-',
9905
left: {
9906
type: 'Identifier',
9907
name: 'x',
9908
range: [0, 1],
9909
loc: {
9910
start: { line: 1, column: 0 },
9911
end: { line: 1, column: 1 }
9912
}
9913
},
9914
right: {
9915
type: 'Identifier',
9916
name: 'y',
9917
range: [4, 5],
9918
loc: {
9919
start: { line: 1, column: 4 },
9920
end: { line: 1, column: 5 }
9921
}
9922
},
9923
range: [0, 5],
9924
loc: {
9925
start: { line: 1, column: 0 },
9926
end: { line: 1, column: 5 }
9927
}
9928
},
9929
right: {
9930
type: 'Identifier',
9931
name: 'z',
9932
range: [8, 9],
9933
loc: {
9934
start: { line: 1, column: 8 },
9935
end: { line: 1, column: 9 }
9936
}
9937
},
9938
range: [0, 9],
9939
loc: {
9940
start: { line: 1, column: 0 },
9941
end: { line: 1, column: 9 }
9942
}
9943
},
9944
range: [0, 9],
9945
loc: {
9946
start: { line: 1, column: 0 },
9947
end: { line: 1, column: 9 }
9948
}
9949
},
9950
9951
'x + y - z': {
9952
type: 'ExpressionStatement',
9953
expression: {
9954
type: 'BinaryExpression',
9955
operator: '-',
9956
left: {
9957
type: 'BinaryExpression',
9958
operator: '+',
9959
left: {
9960
type: 'Identifier',
9961
name: 'x',
9962
range: [0, 1],
9963
loc: {
9964
start: { line: 1, column: 0 },
9965
end: { line: 1, column: 1 }
9966
}
9967
},
9968
right: {
9969
type: 'Identifier',
9970
name: 'y',
9971
range: [4, 5],
9972
loc: {
9973
start: { line: 1, column: 4 },
9974
end: { line: 1, column: 5 }
9975
}
9976
},
9977
range: [0, 5],
9978
loc: {
9979
start: { line: 1, column: 0 },
9980
end: { line: 1, column: 5 }
9981
}
9982
},
9983
right: {
9984
type: 'Identifier',
9985
name: 'z',
9986
range: [8, 9],
9987
loc: {
9988
start: { line: 1, column: 8 },
9989
end: { line: 1, column: 9 }
9990
}
9991
},
9992
range: [0, 9],
9993
loc: {
9994
start: { line: 1, column: 0 },
9995
end: { line: 1, column: 9 }
9996
}
9997
},
9998
range: [0, 9],
9999
loc: {
10000
start: { line: 1, column: 0 },
10001
end: { line: 1, column: 9 }
10002
}
10003
},
10004
10005
'x - y - z': {
10006
type: 'ExpressionStatement',
10007
expression: {
10008
type: 'BinaryExpression',
10009
operator: '-',
10010
left: {
10011
type: 'BinaryExpression',
10012
operator: '-',
10013
left: {
10014
type: 'Identifier',
10015
name: 'x',
10016
range: [0, 1],
10017
loc: {
10018
start: { line: 1, column: 0 },
10019
end: { line: 1, column: 1 }
10020
}
10021
},
10022
right: {
10023
type: 'Identifier',
10024
name: 'y',
10025
range: [4, 5],
10026
loc: {
10027
start: { line: 1, column: 4 },
10028
end: { line: 1, column: 5 }
10029
}
10030
},
10031
range: [0, 5],
10032
loc: {
10033
start: { line: 1, column: 0 },
10034
end: { line: 1, column: 5 }
10035
}
10036
},
10037
right: {
10038
type: 'Identifier',
10039
name: 'z',
10040
range: [8, 9],
10041
loc: {
10042
start: { line: 1, column: 8 },
10043
end: { line: 1, column: 9 }
10044
}
10045
},
10046
range: [0, 9],
10047
loc: {
10048
start: { line: 1, column: 0 },
10049
end: { line: 1, column: 9 }
10050
}
10051
},
10052
range: [0, 9],
10053
loc: {
10054
start: { line: 1, column: 0 },
10055
end: { line: 1, column: 9 }
10056
}
10057
},
10058
10059
'x + y * z': {
10060
type: 'ExpressionStatement',
10061
expression: {
10062
type: 'BinaryExpression',
10063
operator: '+',
10064
left: {
10065
type: 'Identifier',
10066
name: 'x',
10067
range: [0, 1],
10068
loc: {
10069
start: { line: 1, column: 0 },
10070
end: { line: 1, column: 1 }
10071
}
10072
},
10073
right: {
10074
type: 'BinaryExpression',
10075
operator: '*',
10076
left: {
10077
type: 'Identifier',
10078
name: 'y',
10079
range: [4, 5],
10080
loc: {
10081
start: { line: 1, column: 4 },
10082
end: { line: 1, column: 5 }
10083
}
10084
},
10085
right: {
10086
type: 'Identifier',
10087
name: 'z',
10088
range: [8, 9],
10089
loc: {
10090
start: { line: 1, column: 8 },
10091
end: { line: 1, column: 9 }
10092
}
10093
},
10094
range: [4, 9],
10095
loc: {
10096
start: { line: 1, column: 4 },
10097
end: { line: 1, column: 9 }
10098
}
10099
},
10100
range: [0, 9],
10101
loc: {
10102
start: { line: 1, column: 0 },
10103
end: { line: 1, column: 9 }
10104
}
10105
},
10106
range: [0, 9],
10107
loc: {
10108
start: { line: 1, column: 0 },
10109
end: { line: 1, column: 9 }
10110
}
10111
},
10112
10113
'x + y / z': {
10114
type: 'ExpressionStatement',
10115
expression: {
10116
type: 'BinaryExpression',
10117
operator: '+',
10118
left: {
10119
type: 'Identifier',
10120
name: 'x',
10121
range: [0, 1],
10122
loc: {
10123
start: { line: 1, column: 0 },
10124
end: { line: 1, column: 1 }
10125
}
10126
},
10127
right: {
10128
type: 'BinaryExpression',
10129
operator: '/',
10130
left: {
10131
type: 'Identifier',
10132
name: 'y',
10133
range: [4, 5],
10134
loc: {
10135
start: { line: 1, column: 4 },
10136
end: { line: 1, column: 5 }
10137
}
10138
},
10139
right: {
10140
type: 'Identifier',
10141
name: 'z',
10142
range: [8, 9],
10143
loc: {
10144
start: { line: 1, column: 8 },
10145
end: { line: 1, column: 9 }
10146
}
10147
},
10148
range: [4, 9],
10149
loc: {
10150
start: { line: 1, column: 4 },
10151
end: { line: 1, column: 9 }
10152
}
10153
},
10154
range: [0, 9],
10155
loc: {
10156
start: { line: 1, column: 0 },
10157
end: { line: 1, column: 9 }
10158
}
10159
},
10160
range: [0, 9],
10161
loc: {
10162
start: { line: 1, column: 0 },
10163
end: { line: 1, column: 9 }
10164
}
10165
},
10166
10167
'x - y % z': {
10168
type: 'ExpressionStatement',
10169
expression: {
10170
type: 'BinaryExpression',
10171
operator: '-',
10172
left: {
10173
type: 'Identifier',
10174
name: 'x',
10175
range: [0, 1],
10176
loc: {
10177
start: { line: 1, column: 0 },
10178
end: { line: 1, column: 1 }
10179
}
10180
},
10181
right: {
10182
type: 'BinaryExpression',
10183
operator: '%',
10184
left: {
10185
type: 'Identifier',
10186
name: 'y',
10187
range: [4, 5],
10188
loc: {
10189
start: { line: 1, column: 4 },
10190
end: { line: 1, column: 5 }
10191
}
10192
},
10193
right: {
10194
type: 'Identifier',
10195
name: 'z',
10196
range: [8, 9],
10197
loc: {
10198
start: { line: 1, column: 8 },
10199
end: { line: 1, column: 9 }
10200
}
10201
},
10202
range: [4, 9],
10203
loc: {
10204
start: { line: 1, column: 4 },
10205
end: { line: 1, column: 9 }
10206
}
10207
},
10208
range: [0, 9],
10209
loc: {
10210
start: { line: 1, column: 0 },
10211
end: { line: 1, column: 9 }
10212
}
10213
},
10214
range: [0, 9],
10215
loc: {
10216
start: { line: 1, column: 0 },
10217
end: { line: 1, column: 9 }
10218
}
10219
},
10220
10221
'x * y * z': {
10222
type: 'ExpressionStatement',
10223
expression: {
10224
type: 'BinaryExpression',
10225
operator: '*',
10226
left: {
10227
type: 'BinaryExpression',
10228
operator: '*',
10229
left: {
10230
type: 'Identifier',
10231
name: 'x',
10232
range: [0, 1],
10233
loc: {
10234
start: { line: 1, column: 0 },
10235
end: { line: 1, column: 1 }
10236
}
10237
},
10238
right: {
10239
type: 'Identifier',
10240
name: 'y',
10241
range: [4, 5],
10242
loc: {
10243
start: { line: 1, column: 4 },
10244
end: { line: 1, column: 5 }
10245
}
10246
},
10247
range: [0, 5],
10248
loc: {
10249
start: { line: 1, column: 0 },
10250
end: { line: 1, column: 5 }
10251
}
10252
},
10253
right: {
10254
type: 'Identifier',
10255
name: 'z',
10256
range: [8, 9],
10257
loc: {
10258
start: { line: 1, column: 8 },
10259
end: { line: 1, column: 9 }
10260
}
10261
},
10262
range: [0, 9],
10263
loc: {
10264
start: { line: 1, column: 0 },
10265
end: { line: 1, column: 9 }
10266
}
10267
},
10268
range: [0, 9],
10269
loc: {
10270
start: { line: 1, column: 0 },
10271
end: { line: 1, column: 9 }
10272
}
10273
},
10274
10275
'x * y / z': {
10276
type: 'ExpressionStatement',
10277
expression: {
10278
type: 'BinaryExpression',
10279
operator: '/',
10280
left: {
10281
type: 'BinaryExpression',
10282
operator: '*',
10283
left: {
10284
type: 'Identifier',
10285
name: 'x',
10286
range: [0, 1],
10287
loc: {
10288
start: { line: 1, column: 0 },
10289
end: { line: 1, column: 1 }
10290
}
10291
},
10292
right: {
10293
type: 'Identifier',
10294
name: 'y',
10295
range: [4, 5],
10296
loc: {
10297
start: { line: 1, column: 4 },
10298
end: { line: 1, column: 5 }
10299
}
10300
},
10301
range: [0, 5],
10302
loc: {
10303
start: { line: 1, column: 0 },
10304
end: { line: 1, column: 5 }
10305
}
10306
},
10307
right: {
10308
type: 'Identifier',
10309
name: 'z',
10310
range: [8, 9],
10311
loc: {
10312
start: { line: 1, column: 8 },
10313
end: { line: 1, column: 9 }
10314
}
10315
},
10316
range: [0, 9],
10317
loc: {
10318
start: { line: 1, column: 0 },
10319
end: { line: 1, column: 9 }
10320
}
10321
},
10322
range: [0, 9],
10323
loc: {
10324
start: { line: 1, column: 0 },
10325
end: { line: 1, column: 9 }
10326
}
10327
},
10328
10329
'x * y % z': {
10330
type: 'ExpressionStatement',
10331
expression: {
10332
type: 'BinaryExpression',
10333
operator: '%',
10334
left: {
10335
type: 'BinaryExpression',
10336
operator: '*',
10337
left: {
10338
type: 'Identifier',
10339
name: 'x',
10340
range: [0, 1],
10341
loc: {
10342
start: { line: 1, column: 0 },
10343
end: { line: 1, column: 1 }
10344
}
10345
},
10346
right: {
10347
type: 'Identifier',
10348
name: 'y',
10349
range: [4, 5],
10350
loc: {
10351
start: { line: 1, column: 4 },
10352
end: { line: 1, column: 5 }
10353
}
10354
},
10355
range: [0, 5],
10356
loc: {
10357
start: { line: 1, column: 0 },
10358
end: { line: 1, column: 5 }
10359
}
10360
},
10361
right: {
10362
type: 'Identifier',
10363
name: 'z',
10364
range: [8, 9],
10365
loc: {
10366
start: { line: 1, column: 8 },
10367
end: { line: 1, column: 9 }
10368
}
10369
},
10370
range: [0, 9],
10371
loc: {
10372
start: { line: 1, column: 0 },
10373
end: { line: 1, column: 9 }
10374
}
10375
},
10376
range: [0, 9],
10377
loc: {
10378
start: { line: 1, column: 0 },
10379
end: { line: 1, column: 9 }
10380
}
10381
},
10382
10383
'x % y * z': {
10384
type: 'ExpressionStatement',
10385
expression: {
10386
type: 'BinaryExpression',
10387
operator: '*',
10388
left: {
10389
type: 'BinaryExpression',
10390
operator: '%',
10391
left: {
10392
type: 'Identifier',
10393
name: 'x',
10394
range: [0, 1],
10395
loc: {
10396
start: { line: 1, column: 0 },
10397
end: { line: 1, column: 1 }
10398
}
10399
},
10400
right: {
10401
type: 'Identifier',
10402
name: 'y',
10403
range: [4, 5],
10404
loc: {
10405
start: { line: 1, column: 4 },
10406
end: { line: 1, column: 5 }
10407
}
10408
},
10409
range: [0, 5],
10410
loc: {
10411
start: { line: 1, column: 0 },
10412
end: { line: 1, column: 5 }
10413
}
10414
},
10415
right: {
10416
type: 'Identifier',
10417
name: 'z',
10418
range: [8, 9],
10419
loc: {
10420
start: { line: 1, column: 8 },
10421
end: { line: 1, column: 9 }
10422
}
10423
},
10424
range: [0, 9],
10425
loc: {
10426
start: { line: 1, column: 0 },
10427
end: { line: 1, column: 9 }
10428
}
10429
},
10430
range: [0, 9],
10431
loc: {
10432
start: { line: 1, column: 0 },
10433
end: { line: 1, column: 9 }
10434
}
10435
},
10436
10437
'x << y << z': {
10438
type: 'ExpressionStatement',
10439
expression: {
10440
type: 'BinaryExpression',
10441
operator: '<<',
10442
left: {
10443
type: 'BinaryExpression',
10444
operator: '<<',
10445
left: {
10446
type: 'Identifier',
10447
name: 'x',
10448
range: [0, 1],
10449
loc: {
10450
start: { line: 1, column: 0 },
10451
end: { line: 1, column: 1 }
10452
}
10453
},
10454
right: {
10455
type: 'Identifier',
10456
name: 'y',
10457
range: [5, 6],
10458
loc: {
10459
start: { line: 1, column: 5 },
10460
end: { line: 1, column: 6 }
10461
}
10462
},
10463
range: [0, 6],
10464
loc: {
10465
start: { line: 1, column: 0 },
10466
end: { line: 1, column: 6 }
10467
}
10468
},
10469
right: {
10470
type: 'Identifier',
10471
name: 'z',
10472
range: [10, 11],
10473
loc: {
10474
start: { line: 1, column: 10 },
10475
end: { line: 1, column: 11 }
10476
}
10477
},
10478
range: [0, 11],
10479
loc: {
10480
start: { line: 1, column: 0 },
10481
end: { line: 1, column: 11 }
10482
}
10483
},
10484
range: [0, 11],
10485
loc: {
10486
start: { line: 1, column: 0 },
10487
end: { line: 1, column: 11 }
10488
}
10489
},
10490
10491
'x | y | z': {
10492
type: 'ExpressionStatement',
10493
expression: {
10494
type: 'BinaryExpression',
10495
operator: '|',
10496
left: {
10497
type: 'BinaryExpression',
10498
operator: '|',
10499
left: {
10500
type: 'Identifier',
10501
name: 'x',
10502
range: [0, 1],
10503
loc: {
10504
start: { line: 1, column: 0 },
10505
end: { line: 1, column: 1 }
10506
}
10507
},
10508
right: {
10509
type: 'Identifier',
10510
name: 'y',
10511
range: [4, 5],
10512
loc: {
10513
start: { line: 1, column: 4 },
10514
end: { line: 1, column: 5 }
10515
}
10516
},
10517
range: [0, 5],
10518
loc: {
10519
start: { line: 1, column: 0 },
10520
end: { line: 1, column: 5 }
10521
}
10522
},
10523
right: {
10524
type: 'Identifier',
10525
name: 'z',
10526
range: [8, 9],
10527
loc: {
10528
start: { line: 1, column: 8 },
10529
end: { line: 1, column: 9 }
10530
}
10531
},
10532
range: [0, 9],
10533
loc: {
10534
start: { line: 1, column: 0 },
10535
end: { line: 1, column: 9 }
10536
}
10537
},
10538
range: [0, 9],
10539
loc: {
10540
start: { line: 1, column: 0 },
10541
end: { line: 1, column: 9 }
10542
}
10543
},
10544
10545
'x & y & z': {
10546
type: 'ExpressionStatement',
10547
expression: {
10548
type: 'BinaryExpression',
10549
operator: '&',
10550
left: {
10551
type: 'BinaryExpression',
10552
operator: '&',
10553
left: {
10554
type: 'Identifier',
10555
name: 'x',
10556
range: [0, 1],
10557
loc: {
10558
start: { line: 1, column: 0 },
10559
end: { line: 1, column: 1 }
10560
}
10561
},
10562
right: {
10563
type: 'Identifier',
10564
name: 'y',
10565
range: [4, 5],
10566
loc: {
10567
start: { line: 1, column: 4 },
10568
end: { line: 1, column: 5 }
10569
}
10570
},
10571
range: [0, 5],
10572
loc: {
10573
start: { line: 1, column: 0 },
10574
end: { line: 1, column: 5 }
10575
}
10576
},
10577
right: {
10578
type: 'Identifier',
10579
name: 'z',
10580
range: [8, 9],
10581
loc: {
10582
start: { line: 1, column: 8 },
10583
end: { line: 1, column: 9 }
10584
}
10585
},
10586
range: [0, 9],
10587
loc: {
10588
start: { line: 1, column: 0 },
10589
end: { line: 1, column: 9 }
10590
}
10591
},
10592
range: [0, 9],
10593
loc: {
10594
start: { line: 1, column: 0 },
10595
end: { line: 1, column: 9 }
10596
}
10597
},
10598
10599
'x ^ y ^ z': {
10600
type: 'ExpressionStatement',
10601
expression: {
10602
type: 'BinaryExpression',
10603
operator: '^',
10604
left: {
10605
type: 'BinaryExpression',
10606
operator: '^',
10607
left: {
10608
type: 'Identifier',
10609
name: 'x',
10610
range: [0, 1],
10611
loc: {
10612
start: { line: 1, column: 0 },
10613
end: { line: 1, column: 1 }
10614
}
10615
},
10616
right: {
10617
type: 'Identifier',
10618
name: 'y',
10619
range: [4, 5],
10620
loc: {
10621
start: { line: 1, column: 4 },
10622
end: { line: 1, column: 5 }
10623
}
10624
},
10625
range: [0, 5],
10626
loc: {
10627
start: { line: 1, column: 0 },
10628
end: { line: 1, column: 5 }
10629
}
10630
},
10631
right: {
10632
type: 'Identifier',
10633
name: 'z',
10634
range: [8, 9],
10635
loc: {
10636
start: { line: 1, column: 8 },
10637
end: { line: 1, column: 9 }
10638
}
10639
},
10640
range: [0, 9],
10641
loc: {
10642
start: { line: 1, column: 0 },
10643
end: { line: 1, column: 9 }
10644
}
10645
},
10646
range: [0, 9],
10647
loc: {
10648
start: { line: 1, column: 0 },
10649
end: { line: 1, column: 9 }
10650
}
10651
},
10652
10653
'x & y | z': {
10654
type: 'ExpressionStatement',
10655
expression: {
10656
type: 'BinaryExpression',
10657
operator: '|',
10658
left: {
10659
type: 'BinaryExpression',
10660
operator: '&',
10661
left: {
10662
type: 'Identifier',
10663
name: 'x',
10664
range: [0, 1],
10665
loc: {
10666
start: { line: 1, column: 0 },
10667
end: { line: 1, column: 1 }
10668
}
10669
},
10670
right: {
10671
type: 'Identifier',
10672
name: 'y',
10673
range: [4, 5],
10674
loc: {
10675
start: { line: 1, column: 4 },
10676
end: { line: 1, column: 5 }
10677
}
10678
},
10679
range: [0, 5],
10680
loc: {
10681
start: { line: 1, column: 0 },
10682
end: { line: 1, column: 5 }
10683
}
10684
},
10685
right: {
10686
type: 'Identifier',
10687
name: 'z',
10688
range: [8, 9],
10689
loc: {
10690
start: { line: 1, column: 8 },
10691
end: { line: 1, column: 9 }
10692
}
10693
},
10694
range: [0, 9],
10695
loc: {
10696
start: { line: 1, column: 0 },
10697
end: { line: 1, column: 9 }
10698
}
10699
},
10700
range: [0, 9],
10701
loc: {
10702
start: { line: 1, column: 0 },
10703
end: { line: 1, column: 9 }
10704
}
10705
},
10706
10707
'x | y ^ z': {
10708
type: 'ExpressionStatement',
10709
expression: {
10710
type: 'BinaryExpression',
10711
operator: '|',
10712
left: {
10713
type: 'Identifier',
10714
name: 'x',
10715
range: [0, 1],
10716
loc: {
10717
start: { line: 1, column: 0 },
10718
end: { line: 1, column: 1 }
10719
}
10720
},
10721
right: {
10722
type: 'BinaryExpression',
10723
operator: '^',
10724
left: {
10725
type: 'Identifier',
10726
name: 'y',
10727
range: [4, 5],
10728
loc: {
10729
start: { line: 1, column: 4 },
10730
end: { line: 1, column: 5 }
10731
}
10732
},
10733
right: {
10734
type: 'Identifier',
10735
name: 'z',
10736
range: [8, 9],
10737
loc: {
10738
start: { line: 1, column: 8 },
10739
end: { line: 1, column: 9 }
10740
}
10741
},
10742
range: [4, 9],
10743
loc: {
10744
start: { line: 1, column: 4 },
10745
end: { line: 1, column: 9 }
10746
}
10747
},
10748
range: [0, 9],
10749
loc: {
10750
start: { line: 1, column: 0 },
10751
end: { line: 1, column: 9 }
10752
}
10753
},
10754
range: [0, 9],
10755
loc: {
10756
start: { line: 1, column: 0 },
10757
end: { line: 1, column: 9 }
10758
}
10759
},
10760
10761
'x | y & z': {
10762
type: 'ExpressionStatement',
10763
expression: {
10764
type: 'BinaryExpression',
10765
operator: '|',
10766
left: {
10767
type: 'Identifier',
10768
name: 'x',
10769
range: [0, 1],
10770
loc: {
10771
start: { line: 1, column: 0 },
10772
end: { line: 1, column: 1 }
10773
}
10774
},
10775
right: {
10776
type: 'BinaryExpression',
10777
operator: '&',
10778
left: {
10779
type: 'Identifier',
10780
name: 'y',
10781
range: [4, 5],
10782
loc: {
10783
start: { line: 1, column: 4 },
10784
end: { line: 1, column: 5 }
10785
}
10786
},
10787
right: {
10788
type: 'Identifier',
10789
name: 'z',
10790
range: [8, 9],
10791
loc: {
10792
start: { line: 1, column: 8 },
10793
end: { line: 1, column: 9 }
10794
}
10795
},
10796
range: [4, 9],
10797
loc: {
10798
start: { line: 1, column: 4 },
10799
end: { line: 1, column: 9 }
10800
}
10801
},
10802
range: [0, 9],
10803
loc: {
10804
start: { line: 1, column: 0 },
10805
end: { line: 1, column: 9 }
10806
}
10807
},
10808
range: [0, 9],
10809
loc: {
10810
start: { line: 1, column: 0 },
10811
end: { line: 1, column: 9 }
10812
}
10813
}
10814
10815
},
10816
10817
'Binary Logical Operators': {
10818
10819
'x || y': {
10820
type: 'ExpressionStatement',
10821
expression: {
10822
type: 'LogicalExpression',
10823
operator: '||',
10824
left: {
10825
type: 'Identifier',
10826
name: 'x',
10827
range: [0, 1],
10828
loc: {
10829
start: { line: 1, column: 0 },
10830
end: { line: 1, column: 1 }
10831
}
10832
},
10833
right: {
10834
type: 'Identifier',
10835
name: 'y',
10836
range: [5, 6],
10837
loc: {
10838
start: { line: 1, column: 5 },
10839
end: { line: 1, column: 6 }
10840
}
10841
},
10842
range: [0, 6],
10843
loc: {
10844
start: { line: 1, column: 0 },
10845
end: { line: 1, column: 6 }
10846
}
10847
},
10848
range: [0, 6],
10849
loc: {
10850
start: { line: 1, column: 0 },
10851
end: { line: 1, column: 6 }
10852
}
10853
},
10854
10855
'x && y': {
10856
type: 'ExpressionStatement',
10857
expression: {
10858
type: 'LogicalExpression',
10859
operator: '&&',
10860
left: {
10861
type: 'Identifier',
10862
name: 'x',
10863
range: [0, 1],
10864
loc: {
10865
start: { line: 1, column: 0 },
10866
end: { line: 1, column: 1 }
10867
}
10868
},
10869
right: {
10870
type: 'Identifier',
10871
name: 'y',
10872
range: [5, 6],
10873
loc: {
10874
start: { line: 1, column: 5 },
10875
end: { line: 1, column: 6 }
10876
}
10877
},
10878
range: [0, 6],
10879
loc: {
10880
start: { line: 1, column: 0 },
10881
end: { line: 1, column: 6 }
10882
}
10883
},
10884
range: [0, 6],
10885
loc: {
10886
start: { line: 1, column: 0 },
10887
end: { line: 1, column: 6 }
10888
}
10889
},
10890
10891
'x || y || z': {
10892
type: 'ExpressionStatement',
10893
expression: {
10894
type: 'LogicalExpression',
10895
operator: '||',
10896
left: {
10897
type: 'LogicalExpression',
10898
operator: '||',
10899
left: {
10900
type: 'Identifier',
10901
name: 'x',
10902
range: [0, 1],
10903
loc: {
10904
start: { line: 1, column: 0 },
10905
end: { line: 1, column: 1 }
10906
}
10907
},
10908
right: {
10909
type: 'Identifier',
10910
name: 'y',
10911
range: [5, 6],
10912
loc: {
10913
start: { line: 1, column: 5 },
10914
end: { line: 1, column: 6 }
10915
}
10916
},
10917
range: [0, 6],
10918
loc: {
10919
start: { line: 1, column: 0 },
10920
end: { line: 1, column: 6 }
10921
}
10922
},
10923
right: {
10924
type: 'Identifier',
10925
name: 'z',
10926
range: [10, 11],
10927
loc: {
10928
start: { line: 1, column: 10 },
10929
end: { line: 1, column: 11 }
10930
}
10931
},
10932
range: [0, 11],
10933
loc: {
10934
start: { line: 1, column: 0 },
10935
end: { line: 1, column: 11 }
10936
}
10937
},
10938
range: [0, 11],
10939
loc: {
10940
start: { line: 1, column: 0 },
10941
end: { line: 1, column: 11 }
10942
}
10943
},
10944
10945
'x && y && z': {
10946
type: 'ExpressionStatement',
10947
expression: {
10948
type: 'LogicalExpression',
10949
operator: '&&',
10950
left: {
10951
type: 'LogicalExpression',
10952
operator: '&&',
10953
left: {
10954
type: 'Identifier',
10955
name: 'x',
10956
range: [0, 1],
10957
loc: {
10958
start: { line: 1, column: 0 },
10959
end: { line: 1, column: 1 }
10960
}
10961
},
10962
right: {
10963
type: 'Identifier',
10964
name: 'y',
10965
range: [5, 6],
10966
loc: {
10967
start: { line: 1, column: 5 },
10968
end: { line: 1, column: 6 }
10969
}
10970
},
10971
range: [0, 6],
10972
loc: {
10973
start: { line: 1, column: 0 },
10974
end: { line: 1, column: 6 }
10975
}
10976
},
10977
right: {
10978
type: 'Identifier',
10979
name: 'z',
10980
range: [10, 11],
10981
loc: {
10982
start: { line: 1, column: 10 },
10983
end: { line: 1, column: 11 }
10984
}
10985
},
10986
range: [0, 11],
10987
loc: {
10988
start: { line: 1, column: 0 },
10989
end: { line: 1, column: 11 }
10990
}
10991
},
10992
range: [0, 11],
10993
loc: {
10994
start: { line: 1, column: 0 },
10995
end: { line: 1, column: 11 }
10996
}
10997
},
10998
10999
'x || y && z': {
11000
type: 'ExpressionStatement',
11001
expression: {
11002
type: 'LogicalExpression',
11003
operator: '||',
11004
left: {
11005
type: 'Identifier',
11006
name: 'x',
11007
range: [0, 1],
11008
loc: {
11009
start: { line: 1, column: 0 },
11010
end: { line: 1, column: 1 }
11011
}
11012
},
11013
right: {
11014
type: 'LogicalExpression',
11015
operator: '&&',
11016
left: {
11017
type: 'Identifier',
11018
name: 'y',
11019
range: [5, 6],
11020
loc: {
11021
start: { line: 1, column: 5 },
11022
end: { line: 1, column: 6 }
11023
}
11024
},
11025
right: {
11026
type: 'Identifier',
11027
name: 'z',
11028
range: [10, 11],
11029
loc: {
11030
start: { line: 1, column: 10 },
11031
end: { line: 1, column: 11 }
11032
}
11033
},
11034
range: [5, 11],
11035
loc: {
11036
start: { line: 1, column: 5 },
11037
end: { line: 1, column: 11 }
11038
}
11039
},
11040
range: [0, 11],
11041
loc: {
11042
start: { line: 1, column: 0 },
11043
end: { line: 1, column: 11 }
11044
}
11045
},
11046
range: [0, 11],
11047
loc: {
11048
start: { line: 1, column: 0 },
11049
end: { line: 1, column: 11 }
11050
}
11051
},
11052
11053
'x || y ^ z': {
11054
type: 'ExpressionStatement',
11055
expression: {
11056
type: 'LogicalExpression',
11057
operator: '||',
11058
left: {
11059
type: 'Identifier',
11060
name: 'x',
11061
range: [0, 1],
11062
loc: {
11063
start: { line: 1, column: 0 },
11064
end: { line: 1, column: 1 }
11065
}
11066
},
11067
right: {
11068
type: 'BinaryExpression',
11069
operator: '^',
11070
left: {
11071
type: 'Identifier',
11072
name: 'y',
11073
range: [5, 6],
11074
loc: {
11075
start: { line: 1, column: 5 },
11076
end: { line: 1, column: 6 }
11077
}
11078
},
11079
right: {
11080
type: 'Identifier',
11081
name: 'z',
11082
range: [9, 10],
11083
loc: {
11084
start: { line: 1, column: 9 },
11085
end: { line: 1, column: 10 }
11086
}
11087
},
11088
range: [5, 10],
11089
loc: {
11090
start: { line: 1, column: 5 },
11091
end: { line: 1, column: 10 }
11092
}
11093
},
11094
range: [0, 10],
11095
loc: {
11096
start: { line: 1, column: 0 },
11097
end: { line: 1, column: 10 }
11098
}
11099
},
11100
range: [0, 10],
11101
loc: {
11102
start: { line: 1, column: 0 },
11103
end: { line: 1, column: 10 }
11104
}
11105
}
11106
11107
},
11108
11109
'Conditional Operator': {
11110
11111
'y ? 1 : 2': {
11112
type: 'ExpressionStatement',
11113
expression: {
11114
type: 'ConditionalExpression',
11115
test: {
11116
type: 'Identifier',
11117
name: 'y',
11118
range: [0, 1],
11119
loc: {
11120
start: { line: 1, column: 0 },
11121
end: { line: 1, column: 1 }
11122
}
11123
},
11124
consequent: {
11125
type: 'Literal',
11126
value: 1,
11127
raw: '1',
11128
range: [4, 5],
11129
loc: {
11130
start: { line: 1, column: 4 },
11131
end: { line: 1, column: 5 }
11132
}
11133
},
11134
alternate: {
11135
type: 'Literal',
11136
value: 2,
11137
raw: '2',
11138
range: [8, 9],
11139
loc: {
11140
start: { line: 1, column: 8 },
11141
end: { line: 1, column: 9 }
11142
}
11143
},
11144
range: [0, 9],
11145
loc: {
11146
start: { line: 1, column: 0 },
11147
end: { line: 1, column: 9 }
11148
}
11149
},
11150
range: [0, 9],
11151
loc: {
11152
start: { line: 1, column: 0 },
11153
end: { line: 1, column: 9 }
11154
}
11155
},
11156
11157
'x && y ? 1 : 2': {
11158
type: 'ExpressionStatement',
11159
expression: {
11160
type: 'ConditionalExpression',
11161
test: {
11162
type: 'LogicalExpression',
11163
operator: '&&',
11164
left: {
11165
type: 'Identifier',
11166
name: 'x',
11167
range: [0, 1],
11168
loc: {
11169
start: { line: 1, column: 0 },
11170
end: { line: 1, column: 1 }
11171
}
11172
},
11173
right: {
11174
type: 'Identifier',
11175
name: 'y',
11176
range: [5, 6],
11177
loc: {
11178
start: { line: 1, column: 5 },
11179
end: { line: 1, column: 6 }
11180
}
11181
},
11182
range: [0, 6],
11183
loc: {
11184
start: { line: 1, column: 0 },
11185
end: { line: 1, column: 6 }
11186
}
11187
},
11188
consequent: {
11189
type: 'Literal',
11190
value: 1,
11191
raw: '1',
11192
range: [9, 10],
11193
loc: {
11194
start: { line: 1, column: 9 },
11195
end: { line: 1, column: 10 }
11196
}
11197
},
11198
alternate: {
11199
type: 'Literal',
11200
value: 2,
11201
raw: '2',
11202
range: [13, 14],
11203
loc: {
11204
start: { line: 1, column: 13 },
11205
end: { line: 1, column: 14 }
11206
}
11207
},
11208
range: [0, 14],
11209
loc: {
11210
start: { line: 1, column: 0 },
11211
end: { line: 1, column: 14 }
11212
}
11213
},
11214
range: [0, 14],
11215
loc: {
11216
start: { line: 1, column: 0 },
11217
end: { line: 1, column: 14 }
11218
}
11219
},
11220
'x = (0) ? 1 : 2' : {
11221
type: 'ExpressionStatement',
11222
expression: {
11223
type: 'AssignmentExpression',
11224
operator: '=',
11225
left: {
11226
type: 'Identifier',
11227
name: 'x',
11228
range: [ 0, 1 ],
11229
loc: {
11230
start: { line: 1, column: 0 },
11231
end: { line: 1, column: 1 }
11232
}
11233
},
11234
right: {
11235
type: 'ConditionalExpression',
11236
test: {
11237
type: 'Literal',
11238
value: 0,
11239
raw: '0',
11240
range: [ 5, 6 ],
11241
loc: { start: { line: 1, column: 5 }, end: { line: 1, column: 6 } }
11242
},
11243
consequent: {
11244
type: 'Literal',
11245
value: 1,
11246
raw: '1',
11247
range: [ 10, 11 ],
11248
loc: { start: { line: 1, column: 10 }, end: { line: 1, column: 11 } }
11249
},
11250
alternate: {
11251
type: 'Literal',
11252
value: 2,
11253
raw: '2',
11254
range: [ 14, 15 ],
11255
loc: { start: { line: 1, column: 14 }, end: { line: 1, column: 15 } }
11256
},
11257
range: [ 4, 15 ],
11258
loc: { start: { line: 1, column: 4 }, end: { line: 1, column: 15 } }
11259
},
11260
range: [ 0, 15 ],
11261
loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }
11262
},
11263
range: [ 0, 15 ],
11264
loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }
11265
}
11266
},
11267
11268
'Assignment Operators': {
11269
11270
'x = 42': {
11271
type: 'ExpressionStatement',
11272
expression: {
11273
type: 'AssignmentExpression',
11274
operator: '=',
11275
left: {
11276
type: 'Identifier',
11277
name: 'x',
11278
range: [0, 1],
11279
loc: {
11280
start: { line: 1, column: 0 },
11281
end: { line: 1, column: 1 }
11282
}
11283
},
11284
right: {
11285
type: 'Literal',
11286
value: 42,
11287
raw: '42',
11288
range: [4, 6],
11289
loc: {
11290
start: { line: 1, column: 4 },
11291
end: { line: 1, column: 6 }
11292
}
11293
},
11294
range: [0, 6],
11295
loc: {
11296
start: { line: 1, column: 0 },
11297
end: { line: 1, column: 6 }
11298
}
11299
},
11300
range: [0, 6],
11301
loc: {
11302
start: { line: 1, column: 0 },
11303
end: { line: 1, column: 6 }
11304
}
11305
},
11306
11307
'eval = 42': {
11308
type: 'ExpressionStatement',
11309
expression: {
11310
type: 'AssignmentExpression',
11311
operator: '=',
11312
left: {
11313
type: 'Identifier',
11314
name: 'eval',
11315
range: [0, 4],
11316
loc: {
11317
start: { line: 1, column: 0 },
11318
end: { line: 1, column: 4 }
11319
}
11320
},
11321
right: {
11322
type: 'Literal',
11323
value: 42,
11324
raw: '42',
11325
range: [7, 9],
11326
loc: {
11327
start: { line: 1, column: 7 },
11328
end: { line: 1, column: 9 }
11329
}
11330
},
11331
range: [0, 9],
11332
loc: {
11333
start: { line: 1, column: 0 },
11334
end: { line: 1, column: 9 }
11335
}
11336
},
11337
range: [0, 9],
11338
loc: {
11339
start: { line: 1, column: 0 },
11340
end: { line: 1, column: 9 }
11341
}
11342
},
11343
11344
'arguments = 42': {
11345
type: 'ExpressionStatement',
11346
expression: {
11347
type: 'AssignmentExpression',
11348
operator: '=',
11349
left: {
11350
type: 'Identifier',
11351
name: 'arguments',
11352
range: [0, 9],
11353
loc: {
11354
start: { line: 1, column: 0 },
11355
end: { line: 1, column: 9 }
11356
}
11357
},
11358
right: {
11359
type: 'Literal',
11360
value: 42,
11361
raw: '42',
11362
range: [12, 14],
11363
loc: {
11364
start: { line: 1, column: 12 },
11365
end: { line: 1, column: 14 }
11366
}
11367
},
11368
range: [0, 14],
11369
loc: {
11370
start: { line: 1, column: 0 },
11371
end: { line: 1, column: 14 }
11372
}
11373
},
11374
range: [0, 14],
11375
loc: {
11376
start: { line: 1, column: 0 },
11377
end: { line: 1, column: 14 }
11378
}
11379
},
11380
11381
'x *= 42': {
11382
type: 'ExpressionStatement',
11383
expression: {
11384
type: 'AssignmentExpression',
11385
operator: '*=',
11386
left: {
11387
type: 'Identifier',
11388
name: 'x',
11389
range: [0, 1],
11390
loc: {
11391
start: { line: 1, column: 0 },
11392
end: { line: 1, column: 1 }
11393
}
11394
},
11395
right: {
11396
type: 'Literal',
11397
value: 42,
11398
raw: '42',
11399
range: [5, 7],
11400
loc: {
11401
start: { line: 1, column: 5 },
11402
end: { line: 1, column: 7 }
11403
}
11404
},
11405
range: [0, 7],
11406
loc: {
11407
start: { line: 1, column: 0 },
11408
end: { line: 1, column: 7 }
11409
}
11410
},
11411
range: [0, 7],
11412
loc: {
11413
start: { line: 1, column: 0 },
11414
end: { line: 1, column: 7 }
11415
}
11416
},
11417
11418
'x /= 42': {
11419
type: 'ExpressionStatement',
11420
expression: {
11421
type: 'AssignmentExpression',
11422
operator: '/=',
11423
left: {
11424
type: 'Identifier',
11425
name: 'x',
11426
range: [0, 1],
11427
loc: {
11428
start: { line: 1, column: 0 },
11429
end: { line: 1, column: 1 }
11430
}
11431
},
11432
right: {
11433
type: 'Literal',
11434
value: 42,
11435
raw: '42',
11436
range: [5, 7],
11437
loc: {
11438
start: { line: 1, column: 5 },
11439
end: { line: 1, column: 7 }
11440
}
11441
},
11442
range: [0, 7],
11443
loc: {
11444
start: { line: 1, column: 0 },
11445
end: { line: 1, column: 7 }
11446
}
11447
},
11448
range: [0, 7],
11449
loc: {
11450
start: { line: 1, column: 0 },
11451
end: { line: 1, column: 7 }
11452
}
11453
},
11454
11455
'x %= 42': {
11456
type: 'ExpressionStatement',
11457
expression: {
11458
type: 'AssignmentExpression',
11459
operator: '%=',
11460
left: {
11461
type: 'Identifier',
11462
name: 'x',
11463
range: [0, 1],
11464
loc: {
11465
start: { line: 1, column: 0 },
11466
end: { line: 1, column: 1 }
11467
}
11468
},
11469
right: {
11470
type: 'Literal',
11471
value: 42,
11472
raw: '42',
11473
range: [5, 7],
11474
loc: {
11475
start: { line: 1, column: 5 },
11476
end: { line: 1, column: 7 }
11477
}
11478
},
11479
range: [0, 7],
11480
loc: {
11481
start: { line: 1, column: 0 },
11482
end: { line: 1, column: 7 }
11483
}
11484
},
11485
range: [0, 7],
11486
loc: {
11487
start: { line: 1, column: 0 },
11488
end: { line: 1, column: 7 }
11489
}
11490
},
11491
11492
'x += 42': {
11493
type: 'ExpressionStatement',
11494
expression: {
11495
type: 'AssignmentExpression',
11496
operator: '+=',
11497
left: {
11498
type: 'Identifier',
11499
name: 'x',
11500
range: [0, 1],
11501
loc: {
11502
start: { line: 1, column: 0 },
11503
end: { line: 1, column: 1 }
11504
}
11505
},
11506
right: {
11507
type: 'Literal',
11508
value: 42,
11509
raw: '42',
11510
range: [5, 7],
11511
loc: {
11512
start: { line: 1, column: 5 },
11513
end: { line: 1, column: 7 }
11514
}
11515
},
11516
range: [0, 7],
11517
loc: {
11518
start: { line: 1, column: 0 },
11519
end: { line: 1, column: 7 }
11520
}
11521
},
11522
range: [0, 7],
11523
loc: {
11524
start: { line: 1, column: 0 },
11525
end: { line: 1, column: 7 }
11526
}
11527
},
11528
11529
'x -= 42': {
11530
type: 'ExpressionStatement',
11531
expression: {
11532
type: 'AssignmentExpression',
11533
operator: '-=',
11534
left: {
11535
type: 'Identifier',
11536
name: 'x',
11537
range: [0, 1],
11538
loc: {
11539
start: { line: 1, column: 0 },
11540
end: { line: 1, column: 1 }
11541
}
11542
},
11543
right: {
11544
type: 'Literal',
11545
value: 42,
11546
raw: '42',
11547
range: [5, 7],
11548
loc: {
11549
start: { line: 1, column: 5 },
11550
end: { line: 1, column: 7 }
11551
}
11552
},
11553
range: [0, 7],
11554
loc: {
11555
start: { line: 1, column: 0 },
11556
end: { line: 1, column: 7 }
11557
}
11558
},
11559
range: [0, 7],
11560
loc: {
11561
start: { line: 1, column: 0 },
11562
end: { line: 1, column: 7 }
11563
}
11564
},
11565
11566
'x <<= 42': {
11567
type: 'ExpressionStatement',
11568
expression: {
11569
type: 'AssignmentExpression',
11570
operator: '<<=',
11571
left: {
11572
type: 'Identifier',
11573
name: 'x',
11574
range: [0, 1],
11575
loc: {
11576
start: { line: 1, column: 0 },
11577
end: { line: 1, column: 1 }
11578
}
11579
},
11580
right: {
11581
type: 'Literal',
11582
value: 42,
11583
raw: '42',
11584
range: [6, 8],
11585
loc: {
11586
start: { line: 1, column: 6 },
11587
end: { line: 1, column: 8 }
11588
}
11589
},
11590
range: [0, 8],
11591
loc: {
11592
start: { line: 1, column: 0 },
11593
end: { line: 1, column: 8 }
11594
}
11595
},
11596
range: [0, 8],
11597
loc: {
11598
start: { line: 1, column: 0 },
11599
end: { line: 1, column: 8 }
11600
}
11601
},
11602
11603
'x >>= 42': {
11604
type: 'ExpressionStatement',
11605
expression: {
11606
type: 'AssignmentExpression',
11607
operator: '>>=',
11608
left: {
11609
type: 'Identifier',
11610
name: 'x',
11611
range: [0, 1],
11612
loc: {
11613
start: { line: 1, column: 0 },
11614
end: { line: 1, column: 1 }
11615
}
11616
},
11617
right: {
11618
type: 'Literal',
11619
value: 42,
11620
raw: '42',
11621
range: [6, 8],
11622
loc: {
11623
start: { line: 1, column: 6 },
11624
end: { line: 1, column: 8 }
11625
}
11626
},
11627
range: [0, 8],
11628
loc: {
11629
start: { line: 1, column: 0 },
11630
end: { line: 1, column: 8 }
11631
}
11632
},
11633
range: [0, 8],
11634
loc: {
11635
start: { line: 1, column: 0 },
11636
end: { line: 1, column: 8 }
11637
}
11638
},
11639
11640
'x >>>= 42': {
11641
type: 'ExpressionStatement',
11642
expression: {
11643
type: 'AssignmentExpression',
11644
operator: '>>>=',
11645
left: {
11646
type: 'Identifier',
11647
name: 'x',
11648
range: [0, 1],
11649
loc: {
11650
start: { line: 1, column: 0 },
11651
end: { line: 1, column: 1 }
11652
}
11653
},
11654
right: {
11655
type: 'Literal',
11656
value: 42,
11657
raw: '42',
11658
range: [7, 9],
11659
loc: {
11660
start: { line: 1, column: 7 },
11661
end: { line: 1, column: 9 }
11662
}
11663
},
11664
range: [0, 9],
11665
loc: {
11666
start: { line: 1, column: 0 },
11667
end: { line: 1, column: 9 }
11668
}
11669
},
11670
range: [0, 9],
11671
loc: {
11672
start: { line: 1, column: 0 },
11673
end: { line: 1, column: 9 }
11674
}
11675
},
11676
11677
'x &= 42': {
11678
type: 'ExpressionStatement',
11679
expression: {
11680
type: 'AssignmentExpression',
11681
operator: '&=',
11682
left: {
11683
type: 'Identifier',
11684
name: 'x',
11685
range: [0, 1],
11686
loc: {
11687
start: { line: 1, column: 0 },
11688
end: { line: 1, column: 1 }
11689
}
11690
},
11691
right: {
11692
type: 'Literal',
11693
value: 42,
11694
raw: '42',
11695
range: [5, 7],
11696
loc: {
11697
start: { line: 1, column: 5 },
11698
end: { line: 1, column: 7 }
11699
}
11700
},
11701
range: [0, 7],
11702
loc: {
11703
start: { line: 1, column: 0 },
11704
end: { line: 1, column: 7 }
11705
}
11706
},
11707
range: [0, 7],
11708
loc: {
11709
start: { line: 1, column: 0 },
11710
end: { line: 1, column: 7 }
11711
}
11712
},
11713
11714
'x ^= 42': {
11715
type: 'ExpressionStatement',
11716
expression: {
11717
type: 'AssignmentExpression',
11718
operator: '^=',
11719
left: {
11720
type: 'Identifier',
11721
name: 'x',
11722
range: [0, 1],
11723
loc: {
11724
start: { line: 1, column: 0 },
11725
end: { line: 1, column: 1 }
11726
}
11727
},
11728
right: {
11729
type: 'Literal',
11730
value: 42,
11731
raw: '42',
11732
range: [5, 7],
11733
loc: {
11734
start: { line: 1, column: 5 },
11735
end: { line: 1, column: 7 }
11736
}
11737
},
11738
range: [0, 7],
11739
loc: {
11740
start: { line: 1, column: 0 },
11741
end: { line: 1, column: 7 }
11742
}
11743
},
11744
range: [0, 7],
11745
loc: {
11746
start: { line: 1, column: 0 },
11747
end: { line: 1, column: 7 }
11748
}
11749
},
11750
11751
'x |= 42': {
11752
type: 'ExpressionStatement',
11753
expression: {
11754
type: 'AssignmentExpression',
11755
operator: '|=',
11756
left: {
11757
type: 'Identifier',
11758
name: 'x',
11759
range: [0, 1],
11760
loc: {
11761
start: { line: 1, column: 0 },
11762
end: { line: 1, column: 1 }
11763
}
11764
},
11765
right: {
11766
type: 'Literal',
11767
value: 42,
11768
raw: '42',
11769
range: [5, 7],
11770
loc: {
11771
start: { line: 1, column: 5 },
11772
end: { line: 1, column: 7 }
11773
}
11774
},
11775
range: [0, 7],
11776
loc: {
11777
start: { line: 1, column: 0 },
11778
end: { line: 1, column: 7 }
11779
}
11780
},
11781
range: [0, 7],
11782
loc: {
11783
start: { line: 1, column: 0 },
11784
end: { line: 1, column: 7 }
11785
}
11786
}
11787
11788
},
11789
11790
'Complex Expression': {
11791
11792
'a || b && c | d ^ e & f == g < h >>> i + j * k': {
11793
type: 'ExpressionStatement',
11794
expression: {
11795
type: 'LogicalExpression',
11796
operator: '||',
11797
left: {
11798
type: 'Identifier',
11799
name: 'a',
11800
range: [0, 1],
11801
loc: {
11802
start: { line: 1, column: 0 },
11803
end: { line: 1, column: 1 }
11804
}
11805
},
11806
right: {
11807
type: 'LogicalExpression',
11808
operator: '&&',
11809
left: {
11810
type: 'Identifier',
11811
name: 'b',
11812
range: [5, 6],
11813
loc: {
11814
start: { line: 1, column: 5 },
11815
end: { line: 1, column: 6 }
11816
}
11817
},
11818
right: {
11819
type: 'BinaryExpression',
11820
operator: '|',
11821
left: {
11822
type: 'Identifier',
11823
name: 'c',
11824
range: [10, 11],
11825
loc: {
11826
start: { line: 1, column: 10 },
11827
end: { line: 1, column: 11 }
11828
}
11829
},
11830
right: {
11831
type: 'BinaryExpression',
11832
operator: '^',
11833
left: {
11834
type: 'Identifier',
11835
name: 'd',
11836
range: [14, 15],
11837
loc: {
11838
start: { line: 1, column: 14 },
11839
end: { line: 1, column: 15 }
11840
}
11841
},
11842
right: {
11843
type: 'BinaryExpression',
11844
operator: '&',
11845
left: {
11846
type: 'Identifier',
11847
name: 'e',
11848
range: [18, 19],
11849
loc: {
11850
start: { line: 1, column: 18 },
11851
end: { line: 1, column: 19 }
11852
}
11853
},
11854
right: {
11855
type: 'BinaryExpression',
11856
operator: '==',
11857
left: {
11858
type: 'Identifier',
11859
name: 'f',
11860
range: [22, 23],
11861
loc: {
11862
start: { line: 1, column: 22 },
11863
end: { line: 1, column: 23 }
11864
}
11865
},
11866
right: {
11867
type: 'BinaryExpression',
11868
operator: '<',
11869
left: {
11870
type: 'Identifier',
11871
name: 'g',
11872
range: [27, 28],
11873
loc: {
11874
start: { line: 1, column: 27 },
11875
end: { line: 1, column: 28 }
11876
}
11877
},
11878
right: {
11879
type: 'BinaryExpression',
11880
operator: '>>>',
11881
left: {
11882
type: 'Identifier',
11883
name: 'h',
11884
range: [31, 32],
11885
loc: {
11886
start: { line: 1, column: 31 },
11887
end: { line: 1, column: 32 }
11888
}
11889
},
11890
right: {
11891
type: 'BinaryExpression',
11892
operator: '+',
11893
left: {
11894
type: 'Identifier',
11895
name: 'i',
11896
range: [37, 38],
11897
loc: {
11898
start: { line: 1, column: 37 },
11899
end: { line: 1, column: 38 }
11900
}
11901
},
11902
right: {
11903
type: 'BinaryExpression',
11904
operator: '*',
11905
left: {
11906
type: 'Identifier',
11907
name: 'j',
11908
range: [41, 42],
11909
loc: {
11910
start: { line: 1, column: 41 },
11911
end: { line: 1, column: 42 }
11912
}
11913
},
11914
right: {
11915
type: 'Identifier',
11916
name: 'k',
11917
range: [45, 46],
11918
loc: {
11919
start: { line: 1, column: 45 },
11920
end: { line: 1, column: 46 }
11921
}
11922
},
11923
range: [41, 46],
11924
loc: {
11925
start: { line: 1, column: 41 },
11926
end: { line: 1, column: 46 }
11927
}
11928
},
11929
range: [37, 46],
11930
loc: {
11931
start: { line: 1, column: 37 },
11932
end: { line: 1, column: 46 }
11933
}
11934
},
11935
range: [31, 46],
11936
loc: {
11937
start: { line: 1, column: 31 },
11938
end: { line: 1, column: 46 }
11939
}
11940
},
11941
range: [27, 46],
11942
loc: {
11943
start: { line: 1, column: 27 },
11944
end: { line: 1, column: 46 }
11945
}
11946
},
11947
range: [22, 46],
11948
loc: {
11949
start: { line: 1, column: 22 },
11950
end: { line: 1, column: 46 }
11951
}
11952
},
11953
range: [18, 46],
11954
loc: {
11955
start: { line: 1, column: 18 },
11956
end: { line: 1, column: 46 }
11957
}
11958
},
11959
range: [14, 46],
11960
loc: {
11961
start: { line: 1, column: 14 },
11962
end: { line: 1, column: 46 }
11963
}
11964
},
11965
range: [10, 46],
11966
loc: {
11967
start: { line: 1, column: 10 },
11968
end: { line: 1, column: 46 }
11969
}
11970
},
11971
range: [5, 46],
11972
loc: {
11973
start: { line: 1, column: 5 },
11974
end: { line: 1, column: 46 }
11975
}
11976
},
11977
range: [0, 46],
11978
loc: {
11979
start: { line: 1, column: 0 },
11980
end: { line: 1, column: 46 }
11981
}
11982
},
11983
range: [0, 46],
11984
loc: {
11985
start: { line: 1, column: 0 },
11986
end: { line: 1, column: 46 }
11987
}
11988
}
11989
11990
},
11991
11992
'Block': {
11993
11994
'{ foo }': {
11995
type: 'BlockStatement',
11996
body: [{
11997
type: 'ExpressionStatement',
11998
expression: {
11999
type: 'Identifier',
12000
name: 'foo',
12001
range: [2, 5],
12002
loc: {
12003
start: { line: 1, column: 2 },
12004
end: { line: 1, column: 5 }
12005
}
12006
},
12007
range: [2, 6],
12008
loc: {
12009
start: { line: 1, column: 2 },
12010
end: { line: 1, column: 6 }
12011
}
12012
}],
12013
range: [0, 7],
12014
loc: {
12015
start: { line: 1, column: 0 },
12016
end: { line: 1, column: 7 }
12017
}
12018
},
12019
12020
'{ doThis(); doThat(); }': {
12021
type: 'BlockStatement',
12022
body: [{
12023
type: 'ExpressionStatement',
12024
expression: {
12025
type: 'CallExpression',
12026
callee: {
12027
type: 'Identifier',
12028
name: 'doThis',
12029
range: [2, 8],
12030
loc: {
12031
start: { line: 1, column: 2 },
12032
end: { line: 1, column: 8 }
12033
}
12034
},
12035
'arguments': [],
12036
range: [2, 10],
12037
loc: {
12038
start: { line: 1, column: 2 },
12039
end: { line: 1, column: 10 }
12040
}
12041
},
12042
range: [2, 11],
12043
loc: {
12044
start: { line: 1, column: 2 },
12045
end: { line: 1, column: 11 }
12046
}
12047
}, {
12048
type: 'ExpressionStatement',
12049
expression: {
12050
type: 'CallExpression',
12051
callee: {
12052
type: 'Identifier',
12053
name: 'doThat',
12054
range: [12, 18],
12055
loc: {
12056
start: { line: 1, column: 12 },
12057
end: { line: 1, column: 18 }
12058
}
12059
},
12060
'arguments': [],
12061
range: [12, 20],
12062
loc: {
12063
start: { line: 1, column: 12 },
12064
end: { line: 1, column: 20 }
12065
}
12066
},
12067
range: [12, 21],
12068
loc: {
12069
start: { line: 1, column: 12 },
12070
end: { line: 1, column: 21 }
12071
}
12072
}],
12073
range: [0, 23],
12074
loc: {
12075
start: { line: 1, column: 0 },
12076
end: { line: 1, column: 23 }
12077
}
12078
},
12079
12080
'{}': {
12081
type: 'BlockStatement',
12082
body: [],
12083
range: [0, 2],
12084
loc: {
12085
start: { line: 1, column: 0 },
12086
end: { line: 1, column: 2 }
12087
}
12088
}
12089
12090
},
12091
12092
'Variable Statement': {
12093
12094
'var x': {
12095
type: 'VariableDeclaration',
12096
declarations: [{
12097
type: 'VariableDeclarator',
12098
id: {
12099
type: 'Identifier',
12100
name: 'x',
12101
range: [4, 5],
12102
loc: {
12103
start: { line: 1, column: 4 },
12104
end: { line: 1, column: 5 }
12105
}
12106
},
12107
init: null,
12108
range: [4, 5],
12109
loc: {
12110
start: { line: 1, column: 4 },
12111
end: { line: 1, column: 5 }
12112
}
12113
}],
12114
kind: 'var',
12115
range: [0, 5],
12116
loc: {
12117
start: { line: 1, column: 0 },
12118
end: { line: 1, column: 5 }
12119
}
12120
},
12121
12122
'var x, y;': {
12123
type: 'VariableDeclaration',
12124
declarations: [{
12125
type: 'VariableDeclarator',
12126
id: {
12127
type: 'Identifier',
12128
name: 'x',
12129
range: [4, 5],
12130
loc: {
12131
start: { line: 1, column: 4 },
12132
end: { line: 1, column: 5 }
12133
}
12134
},
12135
init: null,
12136
range: [4, 5],
12137
loc: {
12138
start: { line: 1, column: 4 },
12139
end: { line: 1, column: 5 }
12140
}
12141
}, {
12142
type: 'VariableDeclarator',
12143
id: {
12144
type: 'Identifier',
12145
name: 'y',
12146
range: [7, 8],
12147
loc: {
12148
start: { line: 1, column: 7 },
12149
end: { line: 1, column: 8 }
12150
}
12151
},
12152
init: null,
12153
range: [7, 8],
12154
loc: {
12155
start: { line: 1, column: 7 },
12156
end: { line: 1, column: 8 }
12157
}
12158
}],
12159
kind: 'var',
12160
range: [0, 9],
12161
loc: {
12162
start: { line: 1, column: 0 },
12163
end: { line: 1, column: 9 }
12164
}
12165
},
12166
12167
'var x = 42': {
12168
type: 'VariableDeclaration',
12169
declarations: [{
12170
type: 'VariableDeclarator',
12171
id: {
12172
type: 'Identifier',
12173
name: 'x',
12174
range: [4, 5],
12175
loc: {
12176
start: { line: 1, column: 4 },
12177
end: { line: 1, column: 5 }
12178
}
12179
},
12180
init: {
12181
type: 'Literal',
12182
value: 42,
12183
raw: '42',
12184
range: [8, 10],
12185
loc: {
12186
start: { line: 1, column: 8 },
12187
end: { line: 1, column: 10 }
12188
}
12189
},
12190
range: [4, 10],
12191
loc: {
12192
start: { line: 1, column: 4 },
12193
end: { line: 1, column: 10 }
12194
}
12195
}],
12196
kind: 'var',
12197
range: [0, 10],
12198
loc: {
12199
start: { line: 1, column: 0 },
12200
end: { line: 1, column: 10 }
12201
}
12202
},
12203
12204
'var eval = 42, arguments = 42': {
12205
type: 'VariableDeclaration',
12206
declarations: [{
12207
type: 'VariableDeclarator',
12208
id: {
12209
type: 'Identifier',
12210
name: 'eval',
12211
range: [4, 8],
12212
loc: {
12213
start: { line: 1, column: 4 },
12214
end: { line: 1, column: 8 }
12215
}
12216
},
12217
init: {
12218
type: 'Literal',
12219
value: 42,
12220
raw: '42',
12221
range: [11, 13],
12222
loc: {
12223
start: { line: 1, column: 11 },
12224
end: { line: 1, column: 13 }
12225
}
12226
},
12227
range: [4, 13],
12228
loc: {
12229
start: { line: 1, column: 4 },
12230
end: { line: 1, column: 13 }
12231
}
12232
}, {
12233
type: 'VariableDeclarator',
12234
id: {
12235
type: 'Identifier',
12236
name: 'arguments',
12237
range: [15, 24],
12238
loc: {
12239
start: { line: 1, column: 15 },
12240
end: { line: 1, column: 24 }
12241
}
12242
},
12243
init: {
12244
type: 'Literal',
12245
value: 42,
12246
raw: '42',
12247
range: [27, 29],
12248
loc: {
12249
start: { line: 1, column: 27 },
12250
end: { line: 1, column: 29 }
12251
}
12252
},
12253
range: [15, 29],
12254
loc: {
12255
start: { line: 1, column: 15 },
12256
end: { line: 1, column: 29 }
12257
}
12258
}],
12259
kind: 'var',
12260
range: [0, 29],
12261
loc: {
12262
start: { line: 1, column: 0 },
12263
end: { line: 1, column: 29 }
12264
}
12265
},
12266
12267
'var x = 14, y = 3, z = 1977': {
12268
type: 'VariableDeclaration',
12269
declarations: [{
12270
type: 'VariableDeclarator',
12271
id: {
12272
type: 'Identifier',
12273
name: 'x',
12274
range: [4, 5],
12275
loc: {
12276
start: { line: 1, column: 4 },
12277
end: { line: 1, column: 5 }
12278
}
12279
},
12280
init: {
12281
type: 'Literal',
12282
value: 14,
12283
raw: '14',
12284
range: [8, 10],
12285
loc: {
12286
start: { line: 1, column: 8 },
12287
end: { line: 1, column: 10 }
12288
}
12289
},
12290
range: [4, 10],
12291
loc: {
12292
start: { line: 1, column: 4 },
12293
end: { line: 1, column: 10 }
12294
}
12295
}, {
12296
type: 'VariableDeclarator',
12297
id: {
12298
type: 'Identifier',
12299
name: 'y',
12300
range: [12, 13],
12301
loc: {
12302
start: { line: 1, column: 12 },
12303
end: { line: 1, column: 13 }
12304
}
12305
},
12306
init: {
12307
type: 'Literal',
12308
value: 3,
12309
raw: '3',
12310
range: [16, 17],
12311
loc: {
12312
start: { line: 1, column: 16 },
12313
end: { line: 1, column: 17 }
12314
}
12315
},
12316
range: [12, 17],
12317
loc: {
12318
start: { line: 1, column: 12 },
12319
end: { line: 1, column: 17 }
12320
}
12321
}, {
12322
type: 'VariableDeclarator',
12323
id: {
12324
type: 'Identifier',
12325
name: 'z',
12326
range: [19, 20],
12327
loc: {
12328
start: { line: 1, column: 19 },
12329
end: { line: 1, column: 20 }
12330
}
12331
},
12332
init: {
12333
type: 'Literal',
12334
value: 1977,
12335
raw: '1977',
12336
range: [23, 27],
12337
loc: {
12338
start: { line: 1, column: 23 },
12339
end: { line: 1, column: 27 }
12340
}
12341
},
12342
range: [19, 27],
12343
loc: {
12344
start: { line: 1, column: 19 },
12345
end: { line: 1, column: 27 }
12346
}
12347
}],
12348
kind: 'var',
12349
range: [0, 27],
12350
loc: {
12351
start: { line: 1, column: 0 },
12352
end: { line: 1, column: 27 }
12353
}
12354
},
12355
12356
'var implements, interface, package': {
12357
type: 'VariableDeclaration',
12358
declarations: [{
12359
type: 'VariableDeclarator',
12360
id: {
12361
type: 'Identifier',
12362
name: 'implements',
12363
range: [4, 14],
12364
loc: {
12365
start: { line: 1, column: 4 },
12366
end: { line: 1, column: 14 }
12367
}
12368
},
12369
init: null,
12370
range: [4, 14],
12371
loc: {
12372
start: { line: 1, column: 4 },
12373
end: { line: 1, column: 14 }
12374
}
12375
}, {
12376
type: 'VariableDeclarator',
12377
id: {
12378
type: 'Identifier',
12379
name: 'interface',
12380
range: [16, 25],
12381
loc: {
12382
start: { line: 1, column: 16 },
12383
end: { line: 1, column: 25 }
12384
}
12385
},
12386
init: null,
12387
range: [16, 25],
12388
loc: {
12389
start: { line: 1, column: 16 },
12390
end: { line: 1, column: 25 }
12391
}
12392
}, {
12393
type: 'VariableDeclarator',
12394
id: {
12395
type: 'Identifier',
12396
name: 'package',
12397
range: [27, 34],
12398
loc: {
12399
start: { line: 1, column: 27 },
12400
end: { line: 1, column: 34 }
12401
}
12402
},
12403
init: null,
12404
range: [27, 34],
12405
loc: {
12406
start: { line: 1, column: 27 },
12407
end: { line: 1, column: 34 }
12408
}
12409
}],
12410
kind: 'var',
12411
range: [0, 34],
12412
loc: {
12413
start: { line: 1, column: 0 },
12414
end: { line: 1, column: 34 }
12415
}
12416
},
12417
12418
'var private, protected, public, static': {
12419
type: 'VariableDeclaration',
12420
declarations: [{
12421
type: 'VariableDeclarator',
12422
id: {
12423
type: 'Identifier',
12424
name: 'private',
12425
range: [4, 11],
12426
loc: {
12427
start: { line: 1, column: 4 },
12428
end: { line: 1, column: 11 }
12429
}
12430
},
12431
init: null,
12432
range: [4, 11],
12433
loc: {
12434
start: { line: 1, column: 4 },
12435
end: { line: 1, column: 11 }
12436
}
12437
}, {
12438
type: 'VariableDeclarator',
12439
id: {
12440
type: 'Identifier',
12441
name: 'protected',
12442
range: [13, 22],
12443
loc: {
12444
start: { line: 1, column: 13 },
12445
end: { line: 1, column: 22 }
12446
}
12447
},
12448
init: null,
12449
range: [13, 22],
12450
loc: {
12451
start: { line: 1, column: 13 },
12452
end: { line: 1, column: 22 }
12453
}
12454
}, {
12455
type: 'VariableDeclarator',
12456
id: {
12457
type: 'Identifier',
12458
name: 'public',
12459
range: [24, 30],
12460
loc: {
12461
start: { line: 1, column: 24 },
12462
end: { line: 1, column: 30 }
12463
}
12464
},
12465
init: null,
12466
range: [24, 30],
12467
loc: {
12468
start: { line: 1, column: 24 },
12469
end: { line: 1, column: 30 }
12470
}
12471
}, {
12472
type: 'VariableDeclarator',
12473
id: {
12474
type: 'Identifier',
12475
name: 'static',
12476
range: [32, 38],
12477
loc: {
12478
start: { line: 1, column: 32 },
12479
end: { line: 1, column: 38 }
12480
}
12481
},
12482
init: null,
12483
range: [32, 38],
12484
loc: {
12485
start: { line: 1, column: 32 },
12486
end: { line: 1, column: 38 }
12487
}
12488
}],
12489
kind: 'var',
12490
range: [0, 38],
12491
loc: {
12492
start: { line: 1, column: 0 },
12493
end: { line: 1, column: 38 }
12494
}
12495
}
12496
12497
},
12498
12499
'Let Statement': {
12500
12501
'let x': {
12502
type: 'VariableDeclaration',
12503
declarations: [{
12504
type: 'VariableDeclarator',
12505
id: {
12506
type: 'Identifier',
12507
name: 'x',
12508
range: [4, 5],
12509
loc: {
12510
start: { line: 1, column: 4 },
12511
end: { line: 1, column: 5 }
12512
}
12513
},
12514
init: null,
12515
range: [4, 5],
12516
loc: {
12517
start: { line: 1, column: 4 },
12518
end: { line: 1, column: 5 }
12519
}
12520
}],
12521
kind: 'let',
12522
range: [0, 5],
12523
loc: {
12524
start: { line: 1, column: 0 },
12525
end: { line: 1, column: 5 }
12526
}
12527
},
12528
12529
'{ let x }': {
12530
type: 'BlockStatement',
12531
body: [{
12532
type: 'VariableDeclaration',
12533
declarations: [{
12534
type: 'VariableDeclarator',
12535
id: {
12536
type: 'Identifier',
12537
name: 'x',
12538
range: [6, 7],
12539
loc: {
12540
start: { line: 1, column: 6 },
12541
end: { line: 1, column: 7 }
12542
}
12543
},
12544
init: null,
12545
range: [6, 7],
12546
loc: {
12547
start: { line: 1, column: 6 },
12548
end: { line: 1, column: 7 }
12549
}
12550
}],
12551
kind: 'let',
12552
range: [2, 8],
12553
loc: {
12554
start: { line: 1, column: 2 },
12555
end: { line: 1, column: 8 }
12556
}
12557
}],
12558
range: [0, 9],
12559
loc: {
12560
start: { line: 1, column: 0 },
12561
end: { line: 1, column: 9 }
12562
}
12563
},
12564
12565
'{ let x = 42 }': {
12566
type: 'BlockStatement',
12567
body: [{
12568
type: 'VariableDeclaration',
12569
declarations: [{
12570
type: 'VariableDeclarator',
12571
id: {
12572
type: 'Identifier',
12573
name: 'x',
12574
range: [6, 7],
12575
loc: {
12576
start: { line: 1, column: 6 },
12577
end: { line: 1, column: 7 }
12578
}
12579
},
12580
init: {
12581
type: 'Literal',
12582
value: 42,
12583
raw: '42',
12584
range: [10, 12],
12585
loc: {
12586
start: { line: 1, column: 10 },
12587
end: { line: 1, column: 12 }
12588
}
12589
},
12590
range: [6, 12],
12591
loc: {
12592
start: { line: 1, column: 6 },
12593
end: { line: 1, column: 12 }
12594
}
12595
}],
12596
kind: 'let',
12597
range: [2, 13],
12598
loc: {
12599
start: { line: 1, column: 2 },
12600
end: { line: 1, column: 13 }
12601
}
12602
}],
12603
range: [0, 14],
12604
loc: {
12605
start: { line: 1, column: 0 },
12606
end: { line: 1, column: 14 }
12607
}
12608
},
12609
12610
'{ let x = 14, y = 3, z = 1977 }': {
12611
type: 'BlockStatement',
12612
body: [{
12613
type: 'VariableDeclaration',
12614
declarations: [{
12615
type: 'VariableDeclarator',
12616
id: {
12617
type: 'Identifier',
12618
name: 'x',
12619
range: [6, 7],
12620
loc: {
12621
start: { line: 1, column: 6 },
12622
end: { line: 1, column: 7 }
12623
}
12624
},
12625
init: {
12626
type: 'Literal',
12627
value: 14,
12628
raw: '14',
12629
range: [10, 12],
12630
loc: {
12631
start: { line: 1, column: 10 },
12632
end: { line: 1, column: 12 }
12633
}
12634
},
12635
range: [6, 12],
12636
loc: {
12637
start: { line: 1, column: 6 },
12638
end: { line: 1, column: 12 }
12639
}
12640
}, {
12641
type: 'VariableDeclarator',
12642
id: {
12643
type: 'Identifier',
12644
name: 'y',
12645
range: [14, 15],
12646
loc: {
12647
start: { line: 1, column: 14 },
12648
end: { line: 1, column: 15 }
12649
}
12650
},
12651
init: {
12652
type: 'Literal',
12653
value: 3,
12654
raw: '3',
12655
range: [18, 19],
12656
loc: {
12657
start: { line: 1, column: 18 },
12658
end: { line: 1, column: 19 }
12659
}
12660
},
12661
range: [14, 19],
12662
loc: {
12663
start: { line: 1, column: 14 },
12664
end: { line: 1, column: 19 }
12665
}
12666
}, {
12667
type: 'VariableDeclarator',
12668
id: {
12669
type: 'Identifier',
12670
name: 'z',
12671
range: [21, 22],
12672
loc: {
12673
start: { line: 1, column: 21 },
12674
end: { line: 1, column: 22 }
12675
}
12676
},
12677
init: {
12678
type: 'Literal',
12679
value: 1977,
12680
raw: '1977',
12681
range: [25, 29],
12682
loc: {
12683
start: { line: 1, column: 25 },
12684
end: { line: 1, column: 29 }
12685
}
12686
},
12687
range: [21, 29],
12688
loc: {
12689
start: { line: 1, column: 21 },
12690
end: { line: 1, column: 29 }
12691
}
12692
}],
12693
kind: 'let',
12694
range: [2, 30],
12695
loc: {
12696
start: { line: 1, column: 2 },
12697
end: { line: 1, column: 30 }
12698
}
12699
}],
12700
range: [0, 31],
12701
loc: {
12702
start: { line: 1, column: 0 },
12703
end: { line: 1, column: 31 }
12704
}
12705
}
12706
12707
},
12708
12709
'Const Statement': {
12710
12711
'const x = 42': {
12712
type: 'VariableDeclaration',
12713
declarations: [{
12714
type: 'VariableDeclarator',
12715
id: {
12716
type: 'Identifier',
12717
name: 'x',
12718
range: [6, 7],
12719
loc: {
12720
start: { line: 1, column: 6 },
12721
end: { line: 1, column: 7 }
12722
}
12723
},
12724
init: {
12725
type: 'Literal',
12726
value: 42,
12727
raw: '42',
12728
range: [10, 12],
12729
loc: {
12730
start: { line: 1, column: 10 },
12731
end: { line: 1, column: 12 }
12732
}
12733
},
12734
range: [6, 12],
12735
loc: {
12736
start: { line: 1, column: 6 },
12737
end: { line: 1, column: 12 }
12738
}
12739
}],
12740
kind: 'const',
12741
range: [0, 12],
12742
loc: {
12743
start: { line: 1, column: 0 },
12744
end: { line: 1, column: 12 }
12745
}
12746
},
12747
12748
'{ const x = 42 }': {
12749
type: 'BlockStatement',
12750
body: [{
12751
type: 'VariableDeclaration',
12752
declarations: [{
12753
type: 'VariableDeclarator',
12754
id: {
12755
type: 'Identifier',
12756
name: 'x',
12757
range: [8, 9],
12758
loc: {
12759
start: { line: 1, column: 8 },
12760
end: { line: 1, column: 9 }
12761
}
12762
},
12763
init: {
12764
type: 'Literal',
12765
value: 42,
12766
raw: '42',
12767
range: [12, 14],
12768
loc: {
12769
start: { line: 1, column: 12 },
12770
end: { line: 1, column: 14 }
12771
}
12772
},
12773
range: [8, 14],
12774
loc: {
12775
start: { line: 1, column: 8 },
12776
end: { line: 1, column: 14 }
12777
}
12778
}],
12779
kind: 'const',
12780
range: [2, 15],
12781
loc: {
12782
start: { line: 1, column: 2 },
12783
end: { line: 1, column: 15 }
12784
}
12785
}],
12786
range: [0, 16],
12787
loc: {
12788
start: { line: 1, column: 0 },
12789
end: { line: 1, column: 16 }
12790
}
12791
},
12792
12793
'{ const x = 14, y = 3, z = 1977 }': {
12794
type: 'BlockStatement',
12795
body: [{
12796
type: 'VariableDeclaration',
12797
declarations: [{
12798
type: 'VariableDeclarator',
12799
id: {
12800
type: 'Identifier',
12801
name: 'x',
12802
range: [8, 9],
12803
loc: {
12804
start: { line: 1, column: 8 },
12805
end: { line: 1, column: 9 }
12806
}
12807
},
12808
init: {
12809
type: 'Literal',
12810
value: 14,
12811
raw: '14',
12812
range: [12, 14],
12813
loc: {
12814
start: { line: 1, column: 12 },
12815
end: { line: 1, column: 14 }
12816
}
12817
},
12818
range: [8, 14],
12819
loc: {
12820
start: { line: 1, column: 8 },
12821
end: { line: 1, column: 14 }
12822
}
12823
}, {
12824
type: 'VariableDeclarator',
12825
id: {
12826
type: 'Identifier',
12827
name: 'y',
12828
range: [16, 17],
12829
loc: {
12830
start: { line: 1, column: 16 },
12831
end: { line: 1, column: 17 }
12832
}
12833
},
12834
init: {
12835
type: 'Literal',
12836
value: 3,
12837
raw: '3',
12838
range: [20, 21],
12839
loc: {
12840
start: { line: 1, column: 20 },
12841
end: { line: 1, column: 21 }
12842
}
12843
},
12844
range: [16, 21],
12845
loc: {
12846
start: { line: 1, column: 16 },
12847
end: { line: 1, column: 21 }
12848
}
12849
}, {
12850
type: 'VariableDeclarator',
12851
id: {
12852
type: 'Identifier',
12853
name: 'z',
12854
range: [23, 24],
12855
loc: {
12856
start: { line: 1, column: 23 },
12857
end: { line: 1, column: 24 }
12858
}
12859
},
12860
init: {
12861
type: 'Literal',
12862
value: 1977,
12863
raw: '1977',
12864
range: [27, 31],
12865
loc: {
12866
start: { line: 1, column: 27 },
12867
end: { line: 1, column: 31 }
12868
}
12869
},
12870
range: [23, 31],
12871
loc: {
12872
start: { line: 1, column: 23 },
12873
end: { line: 1, column: 31 }
12874
}
12875
}],
12876
kind: 'const',
12877
range: [2, 32],
12878
loc: {
12879
start: { line: 1, column: 2 },
12880
end: { line: 1, column: 32 }
12881
}
12882
}],
12883
range: [0, 33],
12884
loc: {
12885
start: { line: 1, column: 0 },
12886
end: { line: 1, column: 33 }
12887
}
12888
}
12889
12890
},
12891
12892
'Empty Statement': {
12893
12894
';': {
12895
type: 'EmptyStatement',
12896
range: [0, 1],
12897
loc: {
12898
start: { line: 1, column: 0 },
12899
end: { line: 1, column: 1 }
12900
}
12901
}
12902
12903
},
12904
12905
'Expression Statement': {
12906
12907
'x': {
12908
type: 'ExpressionStatement',
12909
expression: {
12910
type: 'Identifier',
12911
name: 'x',
12912
range: [0, 1],
12913
loc: {
12914
start: { line: 1, column: 0 },
12915
end: { line: 1, column: 1 }
12916
}
12917
},
12918
range: [0, 1],
12919
loc: {
12920
start: { line: 1, column: 0 },
12921
end: { line: 1, column: 1 }
12922
}
12923
},
12924
12925
'x, y': {
12926
type: 'ExpressionStatement',
12927
expression: {
12928
type: 'SequenceExpression',
12929
expressions: [{
12930
type: 'Identifier',
12931
name: 'x',
12932
range: [0, 1],
12933
loc: {
12934
start: { line: 1, column: 0 },
12935
end: { line: 1, column: 1 }
12936
}
12937
}, {
12938
type: 'Identifier',
12939
name: 'y',
12940
range: [3, 4],
12941
loc: {
12942
start: { line: 1, column: 3 },
12943
end: { line: 1, column: 4 }
12944
}
12945
}],
12946
range: [0, 4],
12947
loc: {
12948
start: { line: 1, column: 0 },
12949
end: { line: 1, column: 4 }
12950
}
12951
},
12952
range: [0, 4],
12953
loc: {
12954
start: { line: 1, column: 0 },
12955
end: { line: 1, column: 4 }
12956
}
12957
},
12958
12959
'\\u0061': {
12960
type: 'ExpressionStatement',
12961
expression: {
12962
type: 'Identifier',
12963
name: 'a',
12964
range: [0, 6],
12965
loc: {
12966
start: { line: 1, column: 0 },
12967
end: { line: 1, column: 6 }
12968
}
12969
},
12970
range: [0, 6],
12971
loc: {
12972
start: { line: 1, column: 0 },
12973
end: { line: 1, column: 6 }
12974
}
12975
},
12976
12977
'a\\u0061': {
12978
type: 'ExpressionStatement',
12979
expression: {
12980
type: 'Identifier',
12981
name: 'aa',
12982
range: [0, 7],
12983
loc: {
12984
start: { line: 1, column: 0 },
12985
end: { line: 1, column: 7 }
12986
}
12987
},
12988
range: [0, 7],
12989
loc: {
12990
start: { line: 1, column: 0 },
12991
end: { line: 1, column: 7 }
12992
}
12993
},
12994
12995
'\\u0061a': {
12996
type: 'ExpressionStatement',
12997
expression: {
12998
type: 'Identifier',
12999
name: 'aa',
13000
range: [0, 7],
13001
loc: {
13002
start: { line: 1, column: 0 },
13003
end: { line: 1, column: 7 }
13004
}
13005
},
13006
range: [0, 7],
13007
loc: {
13008
start: { line: 1, column: 0 },
13009
end: { line: 1, column: 7 }
13010
}
13011
},
13012
13013
'\\u0061a ': {
13014
type: 'ExpressionStatement',
13015
expression: {
13016
type: 'Identifier',
13017
name: 'aa',
13018
range: [0, 7],
13019
loc: {
13020
start: { line: 1, column: 0 },
13021
end: { line: 1, column: 7 }
13022
}
13023
},
13024
range: [0, 8],
13025
loc: {
13026
start: { line: 1, column: 0 },
13027
end: { line: 1, column: 8 }
13028
}
13029
}
13030
},
13031
13032
'If Statement': {
13033
13034
'if (morning) goodMorning()': {
13035
type: 'IfStatement',
13036
test: {
13037
type: 'Identifier',
13038
name: 'morning',
13039
range: [4, 11],
13040
loc: {
13041
start: { line: 1, column: 4 },
13042
end: { line: 1, column: 11 }
13043
}
13044
},
13045
consequent: {
13046
type: 'ExpressionStatement',
13047
expression: {
13048
type: 'CallExpression',
13049
callee: {
13050
type: 'Identifier',
13051
name: 'goodMorning',
13052
range: [13, 24],
13053
loc: {
13054
start: { line: 1, column: 13 },
13055
end: { line: 1, column: 24 }
13056
}
13057
},
13058
'arguments': [],
13059
range: [13, 26],
13060
loc: {
13061
start: { line: 1, column: 13 },
13062
end: { line: 1, column: 26 }
13063
}
13064
},
13065
range: [13, 26],
13066
loc: {
13067
start: { line: 1, column: 13 },
13068
end: { line: 1, column: 26 }
13069
}
13070
},
13071
alternate: null,
13072
range: [0, 26],
13073
loc: {
13074
start: { line: 1, column: 0 },
13075
end: { line: 1, column: 26 }
13076
}
13077
},
13078
13079
'if (morning) (function(){})': {
13080
type: 'IfStatement',
13081
test: {
13082
type: 'Identifier',
13083
name: 'morning',
13084
range: [4, 11],
13085
loc: {
13086
start: { line: 1, column: 4 },
13087
end: { line: 1, column: 11 }
13088
}
13089
},
13090
consequent: {
13091
type: 'ExpressionStatement',
13092
expression: {
13093
type: 'FunctionExpression',
13094
id: null,
13095
params: [],
13096
defaults: [],
13097
body: {
13098
type: 'BlockStatement',
13099
body: [],
13100
range: [24, 26],
13101
loc: {
13102
start: { line: 1, column: 24 },
13103
end: { line: 1, column: 26 }
13104
}
13105
},
13106
rest: null,
13107
generator: false,
13108
expression: false,
13109
range: [14, 26],
13110
loc: {
13111
start: { line: 1, column: 14 },
13112
end: { line: 1, column: 26 }
13113
}
13114
},
13115
range: [13, 27],
13116
loc: {
13117
start: { line: 1, column: 13 },
13118
end: { line: 1, column: 27 }
13119
}
13120
},
13121
alternate: null,
13122
range: [0, 27],
13123
loc: {
13124
start: { line: 1, column: 0 },
13125
end: { line: 1, column: 27 }
13126
}
13127
},
13128
13129
'if (morning) var x = 0;': {
13130
type: 'IfStatement',
13131
test: {
13132
type: 'Identifier',
13133
name: 'morning',
13134
range: [4, 11],
13135
loc: {
13136
start: { line: 1, column: 4 },
13137
end: { line: 1, column: 11 }
13138
}
13139
},
13140
consequent: {
13141
type: 'VariableDeclaration',
13142
declarations: [{
13143
type: 'VariableDeclarator',
13144
id: {
13145
type: 'Identifier',
13146
name: 'x',
13147
range: [17, 18],
13148
loc: {
13149
start: { line: 1, column: 17 },
13150
end: { line: 1, column: 18 }
13151
}
13152
},
13153
init: {
13154
type: 'Literal',
13155
value: 0,
13156
raw: '0',
13157
range: [21, 22],
13158
loc: {
13159
start: { line: 1, column: 21 },
13160
end: { line: 1, column: 22 }
13161
}
13162
},
13163
range: [17, 22],
13164
loc: {
13165
start: { line: 1, column: 17 },
13166
end: { line: 1, column: 22 }
13167
}
13168
}],
13169
kind: 'var',
13170
range: [13, 23],
13171
loc: {
13172
start: { line: 1, column: 13 },
13173
end: { line: 1, column: 23 }
13174
}
13175
},
13176
alternate: null,
13177
range: [0, 23],
13178
loc: {
13179
start: { line: 1, column: 0 },
13180
end: { line: 1, column: 23 }
13181
}
13182
},
13183
13184
'if (morning) function a(){}': {
13185
type: 'IfStatement',
13186
test: {
13187
type: 'Identifier',
13188
name: 'morning',
13189
range: [4, 11],
13190
loc: {
13191
start: { line: 1, column: 4 },
13192
end: { line: 1, column: 11 }
13193
}
13194
},
13195
consequent: {
13196
type: 'FunctionDeclaration',
13197
id: {
13198
type: 'Identifier',
13199
name: 'a',
13200
range: [22, 23],
13201
loc: {
13202
start: { line: 1, column: 22 },
13203
end: { line: 1, column: 23 }
13204
}
13205
},
13206
params: [],
13207
defaults: [],
13208
body: {
13209
type: 'BlockStatement',
13210
body: [],
13211
range: [25, 27],
13212
loc: {
13213
start: { line: 1, column: 25 },
13214
end: { line: 1, column: 27 }
13215
}
13216
},
13217
rest: null,
13218
generator: false,
13219
expression: false,
13220
range: [13, 27],
13221
loc: {
13222
start: { line: 1, column: 13 },
13223
end: { line: 1, column: 27 }
13224
}
13225
},
13226
alternate: null,
13227
range: [0, 27],
13228
loc: {
13229
start: { line: 1, column: 0 },
13230
end: { line: 1, column: 27 }
13231
}
13232
},
13233
13234
'if (morning) goodMorning(); else goodDay()': {
13235
type: 'IfStatement',
13236
test: {
13237
type: 'Identifier',
13238
name: 'morning',
13239
range: [4, 11],
13240
loc: {
13241
start: { line: 1, column: 4 },
13242
end: { line: 1, column: 11 }
13243
}
13244
},
13245
consequent: {
13246
type: 'ExpressionStatement',
13247
expression: {
13248
type: 'CallExpression',
13249
callee: {
13250
type: 'Identifier',
13251
name: 'goodMorning',
13252
range: [13, 24],
13253
loc: {
13254
start: { line: 1, column: 13 },
13255
end: { line: 1, column: 24 }
13256
}
13257
},
13258
'arguments': [],
13259
range: [13, 26],
13260
loc: {
13261
start: { line: 1, column: 13 },
13262
end: { line: 1, column: 26 }
13263
}
13264
},
13265
range: [13, 27],
13266
loc: {
13267
start: { line: 1, column: 13 },
13268
end: { line: 1, column: 27 }
13269
}
13270
},
13271
alternate: {
13272
type: 'ExpressionStatement',
13273
expression: {
13274
type: 'CallExpression',
13275
callee: {
13276
type: 'Identifier',
13277
name: 'goodDay',
13278
range: [33, 40],
13279
loc: {
13280
start: { line: 1, column: 33 },
13281
end: { line: 1, column: 40 }
13282
}
13283
},
13284
'arguments': [],
13285
range: [33, 42],
13286
loc: {
13287
start: { line: 1, column: 33 },
13288
end: { line: 1, column: 42 }
13289
}
13290
},
13291
range: [33, 42],
13292
loc: {
13293
start: { line: 1, column: 33 },
13294
end: { line: 1, column: 42 }
13295
}
13296
},
13297
range: [0, 42],
13298
loc: {
13299
start: { line: 1, column: 0 },
13300
end: { line: 1, column: 42 }
13301
}
13302
},
13303
13304
'if (true) that()\n; else;': {
13305
type: "IfStatement",
13306
test: {
13307
type: "Literal",
13308
value: true,
13309
raw: "true",
13310
range: [4, 8],
13311
loc: {
13312
start: { line: 1, column: 4 },
13313
end: { line: 1, column: 8 }
13314
}
13315
},
13316
consequent: {
13317
type: "ExpressionStatement",
13318
expression: {
13319
type: "CallExpression",
13320
callee: {
13321
type: "Identifier",
13322
name: "that",
13323
range: [10, 14],
13324
loc: {
13325
start: { line: 1, column: 10 },
13326
end: { line: 1, column: 14 }
13327
}
13328
},
13329
"arguments": [],
13330
range: [10, 16],
13331
loc: {
13332
start: { line: 1, column: 10 },
13333
end: { line: 1, column: 16 }
13334
}
13335
},
13336
range: [10, 18],
13337
loc: {
13338
start: { line: 1, column: 10 },
13339
end: { line: 2, column: 1 }
13340
}
13341
},
13342
alternate: {
13343
type: "EmptyStatement",
13344
range: [23, 24],
13345
loc: {
13346
start: { line: 2, column: 6 },
13347
end: { line: 2, column: 7 }
13348
}
13349
},
13350
range: [0, 24],
13351
loc: {
13352
start: { line: 1, column: 0 },
13353
end: { line: 2, column: 7 }
13354
}
13355
},
13356
13357
'if (true) that(); else;': {
13358
type: "IfStatement",
13359
test: {
13360
type: "Literal",
13361
value: true,
13362
raw: "true",
13363
range: [4, 8],
13364
loc: {
13365
start: { line: 1, column: 4 },
13366
end: { line: 1, column: 8 }
13367
}
13368
},
13369
consequent: {
13370
type: "ExpressionStatement",
13371
expression: {
13372
type: "CallExpression",
13373
callee: {
13374
type: "Identifier",
13375
name: "that",
13376
range: [10, 14],
13377
loc: {
13378
start: { line: 1, column: 10 },
13379
end: { line: 1, column: 14 }
13380
}
13381
},
13382
"arguments": [],
13383
range: [10, 16],
13384
loc: {
13385
start: { line: 1, column: 10 },
13386
end: { line: 1, column: 16 }
13387
}
13388
},
13389
range: [10, 17],
13390
loc: {
13391
start: { line: 1, column: 10 },
13392
end: { line: 1, column: 17 }
13393
}
13394
},
13395
alternate: {
13396
type: "EmptyStatement",
13397
range: [22, 23],
13398
loc: {
13399
start: { line: 1, column: 22 },
13400
end: { line: 1, column: 23 }
13401
}
13402
},
13403
range: [0, 23],
13404
loc: {
13405
start: { line: 1, column: 0 },
13406
end: { line: 1, column: 23 }
13407
}
13408
}
13409
13410
},
13411
13412
'Iteration Statements': {
13413
13414
'do keep(); while (true)': {
13415
type: 'DoWhileStatement',
13416
body: {
13417
type: 'ExpressionStatement',
13418
expression: {
13419
type: 'CallExpression',
13420
callee: {
13421
type: 'Identifier',
13422
name: 'keep',
13423
range: [3, 7],
13424
loc: {
13425
start: { line: 1, column: 3 },
13426
end: { line: 1, column: 7 }
13427
}
13428
},
13429
'arguments': [],
13430
range: [3, 9],
13431
loc: {
13432
start: { line: 1, column: 3 },
13433
end: { line: 1, column: 9 }
13434
}
13435
},
13436
range: [3, 10],
13437
loc: {
13438
start: { line: 1, column: 3 },
13439
end: { line: 1, column: 10 }
13440
}
13441
},
13442
test: {
13443
type: 'Literal',
13444
value: true,
13445
raw: 'true',
13446
range: [18, 22],
13447
loc: {
13448
start: { line: 1, column: 18 },
13449
end: { line: 1, column: 22 }
13450
}
13451
},
13452
range: [0, 23],
13453
loc: {
13454
start: { line: 1, column: 0 },
13455
end: { line: 1, column: 23 }
13456
}
13457
},
13458
13459
'do keep(); while (true);': {
13460
type: 'DoWhileStatement',
13461
body: {
13462
type: 'ExpressionStatement',
13463
expression: {
13464
type: 'CallExpression',
13465
callee: {
13466
type: 'Identifier',
13467
name: 'keep',
13468
range: [3, 7],
13469
loc: {
13470
start: { line: 1, column: 3 },
13471
end: { line: 1, column: 7 }
13472
}
13473
},
13474
'arguments': [],
13475
range: [3, 9],
13476
loc: {
13477
start: { line: 1, column: 3 },
13478
end: { line: 1, column: 9 }
13479
}
13480
},
13481
range: [3, 10],
13482
loc: {
13483
start: { line: 1, column: 3 },
13484
end: { line: 1, column: 10 }
13485
}
13486
},
13487
test: {
13488
type: 'Literal',
13489
value: true,
13490
raw: 'true',
13491
range: [18, 22],
13492
loc: {
13493
start: { line: 1, column: 18 },
13494
end: { line: 1, column: 22 }
13495
}
13496
},
13497
range: [0, 24],
13498
loc: {
13499
start: { line: 1, column: 0 },
13500
end: { line: 1, column: 24 }
13501
}
13502
},
13503
13504
'do { x++; y--; } while (x < 10)': {
13505
type: 'DoWhileStatement',
13506
body: {
13507
type: 'BlockStatement',
13508
body: [{
13509
type: 'ExpressionStatement',
13510
expression: {
13511
type: 'UpdateExpression',
13512
operator: '++',
13513
argument: {
13514
type: 'Identifier',
13515
name: 'x',
13516
range: [5, 6],
13517
loc: {
13518
start: { line: 1, column: 5 },
13519
end: { line: 1, column: 6 }
13520
}
13521
},
13522
prefix: false,
13523
range: [5, 8],
13524
loc: {
13525
start: { line: 1, column: 5 },
13526
end: { line: 1, column: 8 }
13527
}
13528
},
13529
range: [5, 9],
13530
loc: {
13531
start: { line: 1, column: 5 },
13532
end: { line: 1, column: 9 }
13533
}
13534
}, {
13535
type: 'ExpressionStatement',
13536
expression: {
13537
type: 'UpdateExpression',
13538
operator: '--',
13539
argument: {
13540
type: 'Identifier',
13541
name: 'y',
13542
range: [10, 11],
13543
loc: {
13544
start: { line: 1, column: 10 },
13545
end: { line: 1, column: 11 }
13546
}
13547
},
13548
prefix: false,
13549
range: [10, 13],
13550
loc: {
13551
start: { line: 1, column: 10 },
13552
end: { line: 1, column: 13 }
13553
}
13554
},
13555
range: [10, 14],
13556
loc: {
13557
start: { line: 1, column: 10 },
13558
end: { line: 1, column: 14 }
13559
}
13560
}],
13561
range: [3, 16],
13562
loc: {
13563
start: { line: 1, column: 3 },
13564
end: { line: 1, column: 16 }
13565
}
13566
},
13567
test: {
13568
type: 'BinaryExpression',
13569
operator: '<',
13570
left: {
13571
type: 'Identifier',
13572
name: 'x',
13573
range: [24, 25],
13574
loc: {
13575
start: { line: 1, column: 24 },
13576
end: { line: 1, column: 25 }
13577
}
13578
},
13579
right: {
13580
type: 'Literal',
13581
value: 10,
13582
raw: '10',
13583
range: [28, 30],
13584
loc: {
13585
start: { line: 1, column: 28 },
13586
end: { line: 1, column: 30 }
13587
}
13588
},
13589
range: [24, 30],
13590
loc: {
13591
start: { line: 1, column: 24 },
13592
end: { line: 1, column: 30 }
13593
}
13594
},
13595
range: [0, 31],
13596
loc: {
13597
start: { line: 1, column: 0 },
13598
end: { line: 1, column: 31 }
13599
}
13600
},
13601
13602
'{ do { } while (false) false }': {
13603
type: 'BlockStatement',
13604
body: [{
13605
type: 'DoWhileStatement',
13606
body: {
13607
type: 'BlockStatement',
13608
body: [],
13609
range: [5, 8],
13610
loc: {
13611
start: { line: 1, column: 5 },
13612
end: { line: 1, column: 8 }
13613
}
13614
},
13615
test: {
13616
type: 'Literal',
13617
value: false,
13618
raw: 'false',
13619
range: [16, 21],
13620
loc: {
13621
start: { line: 1, column: 16 },
13622
end: { line: 1, column: 21 }
13623
}
13624
},
13625
range: [2, 22],
13626
loc: {
13627
start: { line: 1, column: 2 },
13628
end: { line: 1, column: 22 }
13629
}
13630
}, {
13631
type: 'ExpressionStatement',
13632
expression: {
13633
type: 'Literal',
13634
value: false,
13635
raw: 'false',
13636
range: [23, 28],
13637
loc: {
13638
start: { line: 1, column: 23 },
13639
end: { line: 1, column: 28 }
13640
}
13641
},
13642
range: [23, 29],
13643
loc: {
13644
start: { line: 1, column: 23 },
13645
end: { line: 1, column: 29 }
13646
}
13647
}],
13648
range: [0, 30],
13649
loc: {
13650
start: { line: 1, column: 0 },
13651
end: { line: 1, column: 30 }
13652
}
13653
},
13654
13655
'do that();while (true)': {
13656
type: "DoWhileStatement",
13657
body: {
13658
type: "ExpressionStatement",
13659
expression: {
13660
type: "CallExpression",
13661
callee: {
13662
type: "Identifier",
13663
name: "that",
13664
range: [3, 7],
13665
loc: {
13666
start: { line: 1, column: 3 },
13667
end: { line: 1, column: 7 }
13668
}
13669
},
13670
"arguments": [],
13671
range: [3, 9],
13672
loc: {
13673
start: { line: 1, column: 3 },
13674
end: { line: 1, column: 9 }
13675
}
13676
},
13677
range: [3, 10],
13678
loc: {
13679
start: { line: 1, column: 3 },
13680
end: { line: 1, column: 10 }
13681
}
13682
},
13683
test: {
13684
type: "Literal",
13685
value: true,
13686
raw: "true",
13687
range: [17, 21],
13688
loc: {
13689
start: { line: 1, column: 17 },
13690
end: { line: 1, column: 21 }
13691
}
13692
},
13693
range: [0, 22],
13694
loc: {
13695
start: { line: 1, column: 0 },
13696
end: { line: 1, column: 22 }
13697
}
13698
},
13699
13700
'do that()\n;while (true)': {
13701
type: "DoWhileStatement",
13702
body: {
13703
type: "ExpressionStatement",
13704
expression: {
13705
type: "CallExpression",
13706
callee: {
13707
type: "Identifier",
13708
name: "that",
13709
range: [3, 7],
13710
loc: {
13711
start: { line: 1, column: 3 },
13712
end: { line: 1, column: 7 }
13713
}
13714
},
13715
"arguments": [],
13716
range: [3, 9],
13717
loc: {
13718
start: { line: 1, column: 3 },
13719
end: { line: 1, column: 9 }
13720
}
13721
},
13722
range: [3, 11],
13723
loc: {
13724
start: { line: 1, column: 3 },
13725
end: { line: 2, column: 1 }
13726
}
13727
},
13728
test: {
13729
type: "Literal",
13730
value: true,
13731
raw: "true",
13732
range: [18, 22],
13733
loc: {
13734
start: { line: 2, column: 8 },
13735
end: { line: 2, column: 12 }
13736
}
13737
},
13738
range: [0, 23],
13739
loc: {
13740
start: { line: 1, column: 0 },
13741
end: { line: 2, column: 13 }
13742
}
13743
},
13744
13745
'while (true) doSomething()': {
13746
type: 'WhileStatement',
13747
test: {
13748
type: 'Literal',
13749
value: true,
13750
raw: 'true',
13751
range: [7, 11],
13752
loc: {
13753
start: { line: 1, column: 7 },
13754
end: { line: 1, column: 11 }
13755
}
13756
},
13757
body: {
13758
type: 'ExpressionStatement',
13759
expression: {
13760
type: 'CallExpression',
13761
callee: {
13762
type: 'Identifier',
13763
name: 'doSomething',
13764
range: [13, 24],
13765
loc: {
13766
start: { line: 1, column: 13 },
13767
end: { line: 1, column: 24 }
13768
}
13769
},
13770
'arguments': [],
13771
range: [13, 26],
13772
loc: {
13773
start: { line: 1, column: 13 },
13774
end: { line: 1, column: 26 }
13775
}
13776
},
13777
range: [13, 26],
13778
loc: {
13779
start: { line: 1, column: 13 },
13780
end: { line: 1, column: 26 }
13781
}
13782
},
13783
range: [0, 26],
13784
loc: {
13785
start: { line: 1, column: 0 },
13786
end: { line: 1, column: 26 }
13787
}
13788
},
13789
13790
'while (x < 10) { x++; y--; }': {
13791
type: 'WhileStatement',
13792
test: {
13793
type: 'BinaryExpression',
13794
operator: '<',
13795
left: {
13796
type: 'Identifier',
13797
name: 'x',
13798
range: [7, 8],
13799
loc: {
13800
start: { line: 1, column: 7 },
13801
end: { line: 1, column: 8 }
13802
}
13803
},
13804
right: {
13805
type: 'Literal',
13806
value: 10,
13807
raw: '10',
13808
range: [11, 13],
13809
loc: {
13810
start: { line: 1, column: 11 },
13811
end: { line: 1, column: 13 }
13812
}
13813
},
13814
range: [7, 13],
13815
loc: {
13816
start: { line: 1, column: 7 },
13817
end: { line: 1, column: 13 }
13818
}
13819
},
13820
body: {
13821
type: 'BlockStatement',
13822
body: [{
13823
type: 'ExpressionStatement',
13824
expression: {
13825
type: 'UpdateExpression',
13826
operator: '++',
13827
argument: {
13828
type: 'Identifier',
13829
name: 'x',
13830
range: [17, 18],
13831
loc: {
13832
start: { line: 1, column: 17 },
13833
end: { line: 1, column: 18 }
13834
}
13835
},
13836
prefix: false,
13837
range: [17, 20],
13838
loc: {
13839
start: { line: 1, column: 17 },
13840
end: { line: 1, column: 20 }
13841
}
13842
},
13843
range: [17, 21],
13844
loc: {
13845
start: { line: 1, column: 17 },
13846
end: { line: 1, column: 21 }
13847
}
13848
}, {
13849
type: 'ExpressionStatement',
13850
expression: {
13851
type: 'UpdateExpression',
13852
operator: '--',
13853
argument: {
13854
type: 'Identifier',
13855
name: 'y',
13856
range: [22, 23],
13857
loc: {
13858
start: { line: 1, column: 22 },
13859
end: { line: 1, column: 23 }
13860
}
13861
},
13862
prefix: false,
13863
range: [22, 25],
13864
loc: {
13865
start: { line: 1, column: 22 },
13866
end: { line: 1, column: 25 }
13867
}
13868
},
13869
range: [22, 26],
13870
loc: {
13871
start: { line: 1, column: 22 },
13872
end: { line: 1, column: 26 }
13873
}
13874
}],
13875
range: [15, 28],
13876
loc: {
13877
start: { line: 1, column: 15 },
13878
end: { line: 1, column: 28 }
13879
}
13880
},
13881
range: [0, 28],
13882
loc: {
13883
start: { line: 1, column: 0 },
13884
end: { line: 1, column: 28 }
13885
}
13886
},
13887
13888
'for(;;);': {
13889
type: 'ForStatement',
13890
init: null,
13891
test: null,
13892
update: null,
13893
body: {
13894
type: 'EmptyStatement',
13895
range: [7, 8],
13896
loc: {
13897
start: { line: 1, column: 7 },
13898
end: { line: 1, column: 8 }
13899
}
13900
},
13901
range: [0, 8],
13902
loc: {
13903
start: { line: 1, column: 0 },
13904
end: { line: 1, column: 8 }
13905
}
13906
},
13907
13908
'for(;;){}': {
13909
type: 'ForStatement',
13910
init: null,
13911
test: null,
13912
update: null,
13913
body: {
13914
type: 'BlockStatement',
13915
body: [],
13916
range: [7, 9],
13917
loc: {
13918
start: { line: 1, column: 7 },
13919
end: { line: 1, column: 9 }
13920
}
13921
},
13922
range: [0, 9],
13923
loc: {
13924
start: { line: 1, column: 0 },
13925
end: { line: 1, column: 9 }
13926
}
13927
},
13928
13929
'for(x = 0;;);': {
13930
type: 'ForStatement',
13931
init: {
13932
type: 'AssignmentExpression',
13933
operator: '=',
13934
left: {
13935
type: 'Identifier',
13936
name: 'x',
13937
range: [4, 5],
13938
loc: {
13939
start: { line: 1, column: 4 },
13940
end: { line: 1, column: 5 }
13941
}
13942
},
13943
right: {
13944
type: 'Literal',
13945
value: 0,
13946
raw: '0',
13947
range: [8, 9],
13948
loc: {
13949
start: { line: 1, column: 8 },
13950
end: { line: 1, column: 9 }
13951
}
13952
},
13953
range: [4, 9],
13954
loc: {
13955
start: { line: 1, column: 4 },
13956
end: { line: 1, column: 9 }
13957
}
13958
},
13959
test: null,
13960
update: null,
13961
body: {
13962
type: 'EmptyStatement',
13963
range: [12, 13],
13964
loc: {
13965
start: { line: 1, column: 12 },
13966
end: { line: 1, column: 13 }
13967
}
13968
},
13969
range: [0, 13],
13970
loc: {
13971
start: { line: 1, column: 0 },
13972
end: { line: 1, column: 13 }
13973
}
13974
},
13975
13976
'for(var x = 0;;);': {
13977
type: 'ForStatement',
13978
init: {
13979
type: 'VariableDeclaration',
13980
declarations: [{
13981
type: 'VariableDeclarator',
13982
id: {
13983
type: 'Identifier',
13984
name: 'x',
13985
range: [8, 9],
13986
loc: {
13987
start: { line: 1, column: 8 },
13988
end: { line: 1, column: 9 }
13989
}
13990
},
13991
init: {
13992
type: 'Literal',
13993
value: 0,
13994
raw: '0',
13995
range: [12, 13],
13996
loc: {
13997
start: { line: 1, column: 12 },
13998
end: { line: 1, column: 13 }
13999
}
14000
},
14001
range: [8, 13],
14002
loc: {
14003
start: { line: 1, column: 8 },
14004
end: { line: 1, column: 13 }
14005
}
14006
}],
14007
kind: 'var',
14008
range: [4, 13],
14009
loc: {
14010
start: { line: 1, column: 4 },
14011
end: { line: 1, column: 13 }
14012
}
14013
},
14014
test: null,
14015
update: null,
14016
body: {
14017
type: 'EmptyStatement',
14018
range: [16, 17],
14019
loc: {
14020
start: { line: 1, column: 16 },
14021
end: { line: 1, column: 17 }
14022
}
14023
},
14024
range: [0, 17],
14025
loc: {
14026
start: { line: 1, column: 0 },
14027
end: { line: 1, column: 17 }
14028
}
14029
},
14030
14031
'for(let x = 0;;);': {
14032
type: 'ForStatement',
14033
init: {
14034
type: 'VariableDeclaration',
14035
declarations: [{
14036
type: 'VariableDeclarator',
14037
id: {
14038
type: 'Identifier',
14039
name: 'x',
14040
range: [8, 9],
14041
loc: {
14042
start: { line: 1, column: 8 },
14043
end: { line: 1, column: 9 }
14044
}
14045
},
14046
init: {
14047
type: 'Literal',
14048
value: 0,
14049
raw: '0',
14050
range: [12, 13],
14051
loc: {
14052
start: { line: 1, column: 12 },
14053
end: { line: 1, column: 13 }
14054
}
14055
},
14056
range: [8, 13],
14057
loc: {
14058
start: { line: 1, column: 8 },
14059
end: { line: 1, column: 13 }
14060
}
14061
}],
14062
kind: 'let',
14063
range: [4, 13],
14064
loc: {
14065
start: { line: 1, column: 4 },
14066
end: { line: 1, column: 13 }
14067
}
14068
},
14069
test: null,
14070
update: null,
14071
body: {
14072
type: 'EmptyStatement',
14073
range: [16, 17],
14074
loc: {
14075
start: { line: 1, column: 16 },
14076
end: { line: 1, column: 17 }
14077
}
14078
},
14079
range: [0, 17],
14080
loc: {
14081
start: { line: 1, column: 0 },
14082
end: { line: 1, column: 17 }
14083
}
14084
},
14085
14086
'for(var x = 0, y = 1;;);': {
14087
type: 'ForStatement',
14088
init: {
14089
type: 'VariableDeclaration',
14090
declarations: [{
14091
type: 'VariableDeclarator',
14092
id: {
14093
type: 'Identifier',
14094
name: 'x',
14095
range: [8, 9],
14096
loc: {
14097
start: { line: 1, column: 8 },
14098
end: { line: 1, column: 9 }
14099
}
14100
},
14101
init: {
14102
type: 'Literal',
14103
value: 0,
14104
raw: '0',
14105
range: [12, 13],
14106
loc: {
14107
start: { line: 1, column: 12 },
14108
end: { line: 1, column: 13 }
14109
}
14110
},
14111
range: [8, 13],
14112
loc: {
14113
start: { line: 1, column: 8 },
14114
end: { line: 1, column: 13 }
14115
}
14116
}, {
14117
type: 'VariableDeclarator',
14118
id: {
14119
type: 'Identifier',
14120
name: 'y',
14121
range: [15, 16],
14122
loc: {
14123
start: { line: 1, column: 15 },
14124
end: { line: 1, column: 16 }
14125
}
14126
},
14127
init: {
14128
type: 'Literal',
14129
value: 1,
14130
raw: '1',
14131
range: [19, 20],
14132
loc: {
14133
start: { line: 1, column: 19 },
14134
end: { line: 1, column: 20 }
14135
}
14136
},
14137
range: [15, 20],
14138
loc: {
14139
start: { line: 1, column: 15 },
14140
end: { line: 1, column: 20 }
14141
}
14142
}],
14143
kind: 'var',
14144
range: [4, 20],
14145
loc: {
14146
start: { line: 1, column: 4 },
14147
end: { line: 1, column: 20 }
14148
}
14149
},
14150
test: null,
14151
update: null,
14152
body: {
14153
type: 'EmptyStatement',
14154
range: [23, 24],
14155
loc: {
14156
start: { line: 1, column: 23 },
14157
end: { line: 1, column: 24 }
14158
}
14159
},
14160
range: [0, 24],
14161
loc: {
14162
start: { line: 1, column: 0 },
14163
end: { line: 1, column: 24 }
14164
}
14165
},
14166
14167
'for(x = 0; x < 42;);': {
14168
type: 'ForStatement',
14169
init: {
14170
type: 'AssignmentExpression',
14171
operator: '=',
14172
left: {
14173
type: 'Identifier',
14174
name: 'x',
14175
range: [4, 5],
14176
loc: {
14177
start: { line: 1, column: 4 },
14178
end: { line: 1, column: 5 }
14179
}
14180
},
14181
right: {
14182
type: 'Literal',
14183
value: 0,
14184
raw: '0',
14185
range: [8, 9],
14186
loc: {
14187
start: { line: 1, column: 8 },
14188
end: { line: 1, column: 9 }
14189
}
14190
},
14191
range: [4, 9],
14192
loc: {
14193
start: { line: 1, column: 4 },
14194
end: { line: 1, column: 9 }
14195
}
14196
},
14197
test: {
14198
type: 'BinaryExpression',
14199
operator: '<',
14200
left: {
14201
type: 'Identifier',
14202
name: 'x',
14203
range: [11, 12],
14204
loc: {
14205
start: { line: 1, column: 11 },
14206
end: { line: 1, column: 12 }
14207
}
14208
},
14209
right: {
14210
type: 'Literal',
14211
value: 42,
14212
raw: '42',
14213
range: [15, 17],
14214
loc: {
14215
start: { line: 1, column: 15 },
14216
end: { line: 1, column: 17 }
14217
}
14218
},
14219
range: [11, 17],
14220
loc: {
14221
start: { line: 1, column: 11 },
14222
end: { line: 1, column: 17 }
14223
}
14224
},
14225
update: null,
14226
body: {
14227
type: 'EmptyStatement',
14228
range: [19, 20],
14229
loc: {
14230
start: { line: 1, column: 19 },
14231
end: { line: 1, column: 20 }
14232
}
14233
},
14234
range: [0, 20],
14235
loc: {
14236
start: { line: 1, column: 0 },
14237
end: { line: 1, column: 20 }
14238
}
14239
},
14240
14241
'for(x = 0; x < 42; x++);': {
14242
type: 'ForStatement',
14243
init: {
14244
type: 'AssignmentExpression',
14245
operator: '=',
14246
left: {
14247
type: 'Identifier',
14248
name: 'x',
14249
range: [4, 5],
14250
loc: {
14251
start: { line: 1, column: 4 },
14252
end: { line: 1, column: 5 }
14253
}
14254
},
14255
right: {
14256
type: 'Literal',
14257
value: 0,
14258
raw: '0',
14259
range: [8, 9],
14260
loc: {
14261
start: { line: 1, column: 8 },
14262
end: { line: 1, column: 9 }
14263
}
14264
},
14265
range: [4, 9],
14266
loc: {
14267
start: { line: 1, column: 4 },
14268
end: { line: 1, column: 9 }
14269
}
14270
},
14271
test: {
14272
type: 'BinaryExpression',
14273
operator: '<',
14274
left: {
14275
type: 'Identifier',
14276
name: 'x',
14277
range: [11, 12],
14278
loc: {
14279
start: { line: 1, column: 11 },
14280
end: { line: 1, column: 12 }
14281
}
14282
},
14283
right: {
14284
type: 'Literal',
14285
value: 42,
14286
raw: '42',
14287
range: [15, 17],
14288
loc: {
14289
start: { line: 1, column: 15 },
14290
end: { line: 1, column: 17 }
14291
}
14292
},
14293
range: [11, 17],
14294
loc: {
14295
start: { line: 1, column: 11 },
14296
end: { line: 1, column: 17 }
14297
}
14298
},
14299
update: {
14300
type: 'UpdateExpression',
14301
operator: '++',
14302
argument: {
14303
type: 'Identifier',
14304
name: 'x',
14305
range: [19, 20],
14306
loc: {
14307
start: { line: 1, column: 19 },
14308
end: { line: 1, column: 20 }
14309
}
14310
},
14311
prefix: false,
14312
range: [19, 22],
14313
loc: {
14314
start: { line: 1, column: 19 },
14315
end: { line: 1, column: 22 }
14316
}
14317
},
14318
body: {
14319
type: 'EmptyStatement',
14320
range: [23, 24],
14321
loc: {
14322
start: { line: 1, column: 23 },
14323
end: { line: 1, column: 24 }
14324
}
14325
},
14326
range: [0, 24],
14327
loc: {
14328
start: { line: 1, column: 0 },
14329
end: { line: 1, column: 24 }
14330
}
14331
},
14332
14333
'for(x = 0; x < 42; x++) process(x);': {
14334
type: 'ForStatement',
14335
init: {
14336
type: 'AssignmentExpression',
14337
operator: '=',
14338
left: {
14339
type: 'Identifier',
14340
name: 'x',
14341
range: [4, 5],
14342
loc: {
14343
start: { line: 1, column: 4 },
14344
end: { line: 1, column: 5 }
14345
}
14346
},
14347
right: {
14348
type: 'Literal',
14349
value: 0,
14350
raw: '0',
14351
range: [8, 9],
14352
loc: {
14353
start: { line: 1, column: 8 },
14354
end: { line: 1, column: 9 }
14355
}
14356
},
14357
range: [4, 9],
14358
loc: {
14359
start: { line: 1, column: 4 },
14360
end: { line: 1, column: 9 }
14361
}
14362
},
14363
test: {
14364
type: 'BinaryExpression',
14365
operator: '<',
14366
left: {
14367
type: 'Identifier',
14368
name: 'x',
14369
range: [11, 12],
14370
loc: {
14371
start: { line: 1, column: 11 },
14372
end: { line: 1, column: 12 }
14373
}
14374
},
14375
right: {
14376
type: 'Literal',
14377
value: 42,
14378
raw: '42',
14379
range: [15, 17],
14380
loc: {
14381
start: { line: 1, column: 15 },
14382
end: { line: 1, column: 17 }
14383
}
14384
},
14385
range: [11, 17],
14386
loc: {
14387
start: { line: 1, column: 11 },
14388
end: { line: 1, column: 17 }
14389
}
14390
},
14391
update: {
14392
type: 'UpdateExpression',
14393
operator: '++',
14394
argument: {
14395
type: 'Identifier',
14396
name: 'x',
14397
range: [19, 20],
14398
loc: {
14399
start: { line: 1, column: 19 },
14400
end: { line: 1, column: 20 }
14401
}
14402
},
14403
prefix: false,
14404
range: [19, 22],
14405
loc: {
14406
start: { line: 1, column: 19 },
14407
end: { line: 1, column: 22 }
14408
}
14409
},
14410
body: {
14411
type: 'ExpressionStatement',
14412
expression: {
14413
type: 'CallExpression',
14414
callee: {
14415
type: 'Identifier',
14416
name: 'process',
14417
range: [24, 31],
14418
loc: {
14419
start: { line: 1, column: 24 },
14420
end: { line: 1, column: 31 }
14421
}
14422
},
14423
'arguments': [{
14424
type: 'Identifier',
14425
name: 'x',
14426
range: [32, 33],
14427
loc: {
14428
start: { line: 1, column: 32 },
14429
end: { line: 1, column: 33 }
14430
}
14431
}],
14432
range: [24, 34],
14433
loc: {
14434
start: { line: 1, column: 24 },
14435
end: { line: 1, column: 34 }
14436
}
14437
},
14438
range: [24, 35],
14439
loc: {
14440
start: { line: 1, column: 24 },
14441
end: { line: 1, column: 35 }
14442
}
14443
},
14444
range: [0, 35],
14445
loc: {
14446
start: { line: 1, column: 0 },
14447
end: { line: 1, column: 35 }
14448
}
14449
},
14450
14451
'for(x in list) process(x);': {
14452
type: 'ForInStatement',
14453
left: {
14454
type: 'Identifier',
14455
name: 'x',
14456
range: [4, 5],
14457
loc: {
14458
start: { line: 1, column: 4 },
14459
end: { line: 1, column: 5 }
14460
}
14461
},
14462
right: {
14463
type: 'Identifier',
14464
name: 'list',
14465
range: [9, 13],
14466
loc: {
14467
start: { line: 1, column: 9 },
14468
end: { line: 1, column: 13 }
14469
}
14470
},
14471
body: {
14472
type: 'ExpressionStatement',
14473
expression: {
14474
type: 'CallExpression',
14475
callee: {
14476
type: 'Identifier',
14477
name: 'process',
14478
range: [15, 22],
14479
loc: {
14480
start: { line: 1, column: 15 },
14481
end: { line: 1, column: 22 }
14482
}
14483
},
14484
'arguments': [{
14485
type: 'Identifier',
14486
name: 'x',
14487
range: [23, 24],
14488
loc: {
14489
start: { line: 1, column: 23 },
14490
end: { line: 1, column: 24 }
14491
}
14492
}],
14493
range: [15, 25],
14494
loc: {
14495
start: { line: 1, column: 15 },
14496
end: { line: 1, column: 25 }
14497
}
14498
},
14499
range: [15, 26],
14500
loc: {
14501
start: { line: 1, column: 15 },
14502
end: { line: 1, column: 26 }
14503
}
14504
},
14505
each: false,
14506
range: [0, 26],
14507
loc: {
14508
start: { line: 1, column: 0 },
14509
end: { line: 1, column: 26 }
14510
}
14511
},
14512
14513
'for (var x in list) process(x);': {
14514
type: 'ForInStatement',
14515
left: {
14516
type: 'VariableDeclaration',
14517
declarations: [{
14518
type: 'VariableDeclarator',
14519
id: {
14520
type: 'Identifier',
14521
name: 'x',
14522
range: [9, 10],
14523
loc: {
14524
start: { line: 1, column: 9 },
14525
end: { line: 1, column: 10 }
14526
}
14527
},
14528
init: null,
14529
range: [9, 10],
14530
loc: {
14531
start: { line: 1, column: 9 },
14532
end: { line: 1, column: 10 }
14533
}
14534
}],
14535
kind: 'var',
14536
range: [5, 10],
14537
loc: {
14538
start: { line: 1, column: 5 },
14539
end: { line: 1, column: 10 }
14540
}
14541
},
14542
right: {
14543
type: 'Identifier',
14544
name: 'list',
14545
range: [14, 18],
14546
loc: {
14547
start: { line: 1, column: 14 },
14548
end: { line: 1, column: 18 }
14549
}
14550
},
14551
body: {
14552
type: 'ExpressionStatement',
14553
expression: {
14554
type: 'CallExpression',
14555
callee: {
14556
type: 'Identifier',
14557
name: 'process',
14558
range: [20, 27],
14559
loc: {
14560
start: { line: 1, column: 20 },
14561
end: { line: 1, column: 27 }
14562
}
14563
},
14564
'arguments': [{
14565
type: 'Identifier',
14566
name: 'x',
14567
range: [28, 29],
14568
loc: {
14569
start: { line: 1, column: 28 },
14570
end: { line: 1, column: 29 }
14571
}
14572
}],
14573
range: [20, 30],
14574
loc: {
14575
start: { line: 1, column: 20 },
14576
end: { line: 1, column: 30 }
14577
}
14578
},
14579
range: [20, 31],
14580
loc: {
14581
start: { line: 1, column: 20 },
14582
end: { line: 1, column: 31 }
14583
}
14584
},
14585
each: false,
14586
range: [0, 31],
14587
loc: {
14588
start: { line: 1, column: 0 },
14589
end: { line: 1, column: 31 }
14590
}
14591
},
14592
14593
'for (var x = 42 in list) process(x);': {
14594
type: 'ForInStatement',
14595
left: {
14596
type: 'VariableDeclaration',
14597
declarations: [{
14598
type: 'VariableDeclarator',
14599
id: {
14600
type: 'Identifier',
14601
name: 'x',
14602
range: [9, 10],
14603
loc: {
14604
start: { line: 1, column: 9 },
14605
end: { line: 1, column: 10 }
14606
}
14607
},
14608
init: {
14609
type: 'Literal',
14610
value: 42,
14611
raw: '42',
14612
range: [13, 15],
14613
loc: {
14614
start: { line: 1, column: 13 },
14615
end: { line: 1, column: 15 }
14616
}
14617
},
14618
range: [9, 15],
14619
loc: {
14620
start: { line: 1, column: 9 },
14621
end: { line: 1, column: 15 }
14622
}
14623
}],
14624
kind: 'var',
14625
range: [5, 15],
14626
loc: {
14627
start: { line: 1, column: 5 },
14628
end: { line: 1, column: 15 }
14629
}
14630
},
14631
right: {
14632
type: 'Identifier',
14633
name: 'list',
14634
range: [19, 23],
14635
loc: {
14636
start: { line: 1, column: 19 },
14637
end: { line: 1, column: 23 }
14638
}
14639
},
14640
body: {
14641
type: 'ExpressionStatement',
14642
expression: {
14643
type: 'CallExpression',
14644
callee: {
14645
type: 'Identifier',
14646
name: 'process',
14647
range: [25, 32],
14648
loc: {
14649
start: { line: 1, column: 25 },
14650
end: { line: 1, column: 32 }
14651
}
14652
},
14653
'arguments': [{
14654
type: 'Identifier',
14655
name: 'x',
14656
range: [33, 34],
14657
loc: {
14658
start: { line: 1, column: 33 },
14659
end: { line: 1, column: 34 }
14660
}
14661
}],
14662
range: [25, 35],
14663
loc: {
14664
start: { line: 1, column: 25 },
14665
end: { line: 1, column: 35 }
14666
}
14667
},
14668
range: [25, 36],
14669
loc: {
14670
start: { line: 1, column: 25 },
14671
end: { line: 1, column: 36 }
14672
}
14673
},
14674
each: false,
14675
range: [0, 36],
14676
loc: {
14677
start: { line: 1, column: 0 },
14678
end: { line: 1, column: 36 }
14679
}
14680
},
14681
14682
'for (let x in list) process(x);': {
14683
type: 'ForInStatement',
14684
left: {
14685
type: 'VariableDeclaration',
14686
declarations: [{
14687
type: 'VariableDeclarator',
14688
id: {
14689
type: 'Identifier',
14690
name: 'x',
14691
range: [9, 10],
14692
loc: {
14693
start: { line: 1, column: 9 },
14694
end: { line: 1, column: 10 }
14695
}
14696
},
14697
init: null,
14698
range: [9, 10],
14699
loc: {
14700
start: { line: 1, column: 9 },
14701
end: { line: 1, column: 10 }
14702
}
14703
}],
14704
kind: 'let',
14705
range: [5, 10],
14706
loc: {
14707
start: { line: 1, column: 5 },
14708
end: { line: 1, column: 10 }
14709
}
14710
},
14711
right: {
14712
type: 'Identifier',
14713
name: 'list',
14714
range: [14, 18],
14715
loc: {
14716
start: { line: 1, column: 14 },
14717
end: { line: 1, column: 18 }
14718
}
14719
},
14720
body: {
14721
type: 'ExpressionStatement',
14722
expression: {
14723
type: 'CallExpression',
14724
callee: {
14725
type: 'Identifier',
14726
name: 'process',
14727
range: [20, 27],
14728
loc: {
14729
start: { line: 1, column: 20 },
14730
end: { line: 1, column: 27 }
14731
}
14732
},
14733
'arguments': [{
14734
type: 'Identifier',
14735
name: 'x',
14736
range: [28, 29],
14737
loc: {
14738
start: { line: 1, column: 28 },
14739
end: { line: 1, column: 29 }
14740
}
14741
}],
14742
range: [20, 30],
14743
loc: {
14744
start: { line: 1, column: 20 },
14745
end: { line: 1, column: 30 }
14746
}
14747
},
14748
range: [20, 31],
14749
loc: {
14750
start: { line: 1, column: 20 },
14751
end: { line: 1, column: 31 }
14752
}
14753
},
14754
each: false,
14755
range: [0, 31],
14756
loc: {
14757
start: { line: 1, column: 0 },
14758
end: { line: 1, column: 31 }
14759
}
14760
},
14761
14762
'for (var x = y = z in q);': {
14763
type: 'ForInStatement',
14764
left: {
14765
type: 'VariableDeclaration',
14766
declarations: [{
14767
type: 'VariableDeclarator',
14768
id: {
14769
type: 'Identifier',
14770
name: 'x',
14771
range: [9, 10],
14772
loc: {
14773
start: { line: 1, column: 9 },
14774
end: { line: 1, column: 10 }
14775
}
14776
},
14777
init: {
14778
type: 'AssignmentExpression',
14779
operator: '=',
14780
left: {
14781
type: 'Identifier',
14782
name: 'y',
14783
range: [13, 14],
14784
loc: {
14785
start: { line: 1, column: 13 },
14786
end: { line: 1, column: 14 }
14787
}
14788
},
14789
right: {
14790
type: 'Identifier',
14791
name: 'z',
14792
range: [17, 18],
14793
loc: {
14794
start: { line: 1, column: 17 },
14795
end: { line: 1, column: 18 }
14796
}
14797
},
14798
range: [13, 18],
14799
loc: {
14800
start: { line: 1, column: 13 },
14801
end: { line: 1, column: 18 }
14802
}
14803
},
14804
range: [9, 18],
14805
loc: {
14806
start: { line: 1, column: 9 },
14807
end: { line: 1, column: 18 }
14808
}
14809
}],
14810
kind: 'var',
14811
range: [5, 18],
14812
loc: {
14813
start: { line: 1, column: 5 },
14814
end: { line: 1, column: 18 }
14815
}
14816
},
14817
right: {
14818
type: 'Identifier',
14819
name: 'q',
14820
range: [22, 23],
14821
loc: {
14822
start: { line: 1, column: 22 },
14823
end: { line: 1, column: 23 }
14824
}
14825
},
14826
body: {
14827
type: 'EmptyStatement',
14828
range: [24, 25],
14829
loc: {
14830
start: { line: 1, column: 24 },
14831
end: { line: 1, column: 25 }
14832
}
14833
},
14834
each: false,
14835
range: [0, 25],
14836
loc: {
14837
start: { line: 1, column: 0 },
14838
end: { line: 1, column: 25 }
14839
}
14840
},
14841
14842
'for (var a = b = c = (d in e) in z);': {
14843
type: 'ForInStatement',
14844
left: {
14845
type: 'VariableDeclaration',
14846
declarations: [{
14847
type: 'VariableDeclarator',
14848
id: {
14849
type: 'Identifier',
14850
name: 'a',
14851
range: [9, 10],
14852
loc: {
14853
start: { line: 1, column: 9 },
14854
end: { line: 1, column: 10 }
14855
}
14856
},
14857
init: {
14858
type: 'AssignmentExpression',
14859
operator: '=',
14860
left: {
14861
type: 'Identifier',
14862
name: 'b',
14863
range: [13, 14],
14864
loc: {
14865
start: { line: 1, column: 13 },
14866
end: { line: 1, column: 14 }
14867
}
14868
},
14869
right: {
14870
type: 'AssignmentExpression',
14871
operator: '=',
14872
left: {
14873
type: 'Identifier',
14874
name: 'c',
14875
range: [17, 18],
14876
loc: {
14877
start: { line: 1, column: 17 },
14878
end: { line: 1, column: 18 }
14879
}
14880
},
14881
right: {
14882
type: 'BinaryExpression',
14883
operator: 'in',
14884
left: {
14885
type: 'Identifier',
14886
name: 'd',
14887
range: [22, 23],
14888
loc: {
14889
start: { line: 1, column: 22 },
14890
end: { line: 1, column: 23 }
14891
}
14892
},
14893
right: {
14894
type: 'Identifier',
14895
name: 'e',
14896
range: [27, 28],
14897
loc: {
14898
start: { line: 1, column: 27 },
14899
end: { line: 1, column: 28 }
14900
}
14901
},
14902
range: [22, 28],
14903
loc: {
14904
start: { line: 1, column: 22 },
14905
end: { line: 1, column: 28 }
14906
}
14907
},
14908
range: [17, 29],
14909
loc: {
14910
start: { line: 1, column: 17 },
14911
end: { line: 1, column: 29 }
14912
}
14913
},
14914
range: [13, 29],
14915
loc: {
14916
start: { line: 1, column: 13 },
14917
end: { line: 1, column: 29 }
14918
}
14919
},
14920
range: [9, 29],
14921
loc: {
14922
start: { line: 1, column: 9 },
14923
end: { line: 1, column: 29 }
14924
}
14925
}],
14926
kind: 'var',
14927
range: [5, 29],
14928
loc: {
14929
start: { line: 1, column: 5 },
14930
end: { line: 1, column: 29 }
14931
}
14932
},
14933
right: {
14934
type: 'Identifier',
14935
name: 'z',
14936
range: [33, 34],
14937
loc: {
14938
start: { line: 1, column: 33 },
14939
end: { line: 1, column: 34 }
14940
}
14941
},
14942
body: {
14943
type: 'EmptyStatement',
14944
range: [35, 36],
14945
loc: {
14946
start: { line: 1, column: 35 },
14947
end: { line: 1, column: 36 }
14948
}
14949
},
14950
each: false,
14951
range: [0, 36],
14952
loc: {
14953
start: { line: 1, column: 0 },
14954
end: { line: 1, column: 36 }
14955
}
14956
},
14957
14958
'for (var i = function() { return 10 in [] } in list) process(x);': {
14959
type: 'ForInStatement',
14960
left: {
14961
type: 'VariableDeclaration',
14962
declarations: [{
14963
type: 'VariableDeclarator',
14964
id: {
14965
type: 'Identifier',
14966
name: 'i',
14967
range: [9, 10],
14968
loc: {
14969
start: { line: 1, column: 9 },
14970
end: { line: 1, column: 10 }
14971
}
14972
},
14973
init: {
14974
type: 'FunctionExpression',
14975
id: null,
14976
params: [],
14977
defaults: [],
14978
body: {
14979
type: 'BlockStatement',
14980
body: [{
14981
type: 'ReturnStatement',
14982
argument: {
14983
type: 'BinaryExpression',
14984
operator: 'in',
14985
left: {
14986
type: 'Literal',
14987
value: 10,
14988
raw: '10',
14989
range: [33, 35],
14990
loc: {
14991
start: { line: 1, column: 33 },
14992
end: { line: 1, column: 35 }
14993
}
14994
},
14995
right: {
14996
type: 'ArrayExpression',
14997
elements: [],
14998
range: [39, 41],
14999
loc: {
15000
start: { line: 1, column: 39 },
15001
end: { line: 1, column: 41 }
15002
}
15003
},
15004
range: [33, 41],
15005
loc: {
15006
start: { line: 1, column: 33 },
15007
end: { line: 1, column: 41 }
15008
}
15009
},
15010
range: [26, 42],
15011
loc: {
15012
start: { line: 1, column: 26 },
15013
end: { line: 1, column: 42 }
15014
}
15015
}],
15016
range: [24, 43],
15017
loc: {
15018
start: { line: 1, column: 24 },
15019
end: { line: 1, column: 43 }
15020
}
15021
},
15022
rest: null,
15023
generator: false,
15024
expression: false,
15025
range: [13, 43],
15026
loc: {
15027
start: { line: 1, column: 13 },
15028
end: { line: 1, column: 43 }
15029
}
15030
},
15031
range: [9, 43],
15032
loc: {
15033
start: { line: 1, column: 9 },
15034
end: { line: 1, column: 43 }
15035
}
15036
}],
15037
kind: 'var',
15038
range: [5, 43],
15039
loc: {
15040
start: { line: 1, column: 5 },
15041
end: { line: 1, column: 43 }
15042
}
15043
},
15044
right: {
15045
type: 'Identifier',
15046
name: 'list',
15047
range: [47, 51],
15048
loc: {
15049
start: { line: 1, column: 47 },
15050
end: { line: 1, column: 51 }
15051
}
15052
},
15053
body: {
15054
type: 'ExpressionStatement',
15055
expression: {
15056
type: 'CallExpression',
15057
callee: {
15058
type: 'Identifier',
15059
name: 'process',
15060
range: [53, 60],
15061
loc: {
15062
start: { line: 1, column: 53 },
15063
end: { line: 1, column: 60 }
15064
}
15065
},
15066
'arguments': [{
15067
type: 'Identifier',
15068
name: 'x',
15069
range: [61, 62],
15070
loc: {
15071
start: { line: 1, column: 61 },
15072
end: { line: 1, column: 62 }
15073
}
15074
}],
15075
range: [53, 63],
15076
loc: {
15077
start: { line: 1, column: 53 },
15078
end: { line: 1, column: 63 }
15079
}
15080
},
15081
range: [53, 64],
15082
loc: {
15083
start: { line: 1, column: 53 },
15084
end: { line: 1, column: 64 }
15085
}
15086
},
15087
each: false,
15088
range: [0, 64],
15089
loc: {
15090
start: { line: 1, column: 0 },
15091
end: { line: 1, column: 64 }
15092
}
15093
},
15094
15095
'for (a[b in c] in d);': {
15096
type: 'ForInStatement',
15097
left: {
15098
type: 'MemberExpression',
15099
computed: true,
15100
object: {
15101
type: 'Identifier',
15102
name: 'a',
15103
range: [5, 6],
15104
loc: {
15105
start: { line: 1, column: 5 },
15106
end: { line: 1, column: 6 }
15107
}
15108
},
15109
property: {
15110
type: 'BinaryExpression',
15111
operator: 'in',
15112
left: {
15113
type: 'Identifier',
15114
name: 'b',
15115
range: [7, 8],
15116
loc: {
15117
start: { line: 1, column: 7 },
15118
end: { line: 1, column: 8 }
15119
}
15120
},
15121
right: {
15122
type: 'Identifier',
15123
name: 'c',
15124
range: [12, 13],
15125
loc: {
15126
start: { line: 1, column: 12 },
15127
end: { line: 1, column: 13 }
15128
}
15129
},
15130
range: [7, 13],
15131
loc: {
15132
start: { line: 1, column: 7 },
15133
end: { line: 1, column: 13 }
15134
}
15135
},
15136
range: [5, 14],
15137
loc: {
15138
start: { line: 1, column: 5 },
15139
end: { line: 1, column: 14 }
15140
}
15141
},
15142
right: {
15143
type: 'Identifier',
15144
name: 'd',
15145
range: [18, 19],
15146
loc: {
15147
start: { line: 1, column: 18 },
15148
end: { line: 1, column: 19 }
15149
}
15150
},
15151
body: {
15152
type: 'EmptyStatement',
15153
range: [20, 21],
15154
loc: {
15155
start: { line: 1, column: 20 },
15156
end: { line: 1, column: 21 }
15157
}
15158
},
15159
each: false,
15160
range: [0, 21],
15161
loc: {
15162
start: { line: 1, column: 0 },
15163
end: { line: 1, column: 21 }
15164
}
15165
},
15166
15167
'for (a(b in c)[0] in d);': {
15168
type: 'ForInStatement',
15169
left: {
15170
type: 'MemberExpression',
15171
computed: true,
15172
object: {
15173
type: 'CallExpression',
15174
callee: {
15175
type: 'Identifier',
15176
name: 'a',
15177
range: [5, 6],
15178
loc: {
15179
start: { line: 1, column: 5 },
15180
end: { line: 1, column: 6 }
15181
}
15182
},
15183
arguments: [{
15184
type: 'BinaryExpression',
15185
operator: 'in',
15186
left: {
15187
type: 'Identifier',
15188
name: 'b',
15189
range: [7, 8],
15190
loc: {
15191
start: { line: 1, column: 7 },
15192
end: { line: 1, column: 8 }
15193
}
15194
},
15195
right: {
15196
type: 'Identifier',
15197
name: 'c',
15198
range: [12, 13],
15199
loc: {
15200
start: { line: 1, column: 12 },
15201
end: { line: 1, column: 13 }
15202
}
15203
},
15204
range: [7, 13],
15205
loc: {
15206
start: { line: 1, column: 7 },
15207
end: { line: 1, column: 13 }
15208
}
15209
}],
15210
range: [5, 14],
15211
loc: {
15212
start: { line: 1, column: 5 },
15213
end: { line: 1, column: 14 }
15214
}
15215
},
15216
property: {
15217
type: 'Literal',
15218
value: 0,
15219
raw: '0',
15220
range: [15, 16],
15221
loc: {
15222
start: { line: 1, column: 15 },
15223
end: { line: 1, column: 16 }
15224
}
15225
},
15226
range: [5, 17],
15227
loc: {
15228
start: { line: 1, column: 5 },
15229
end: { line: 1, column: 17 }
15230
}
15231
},
15232
right: {
15233
type: 'Identifier',
15234
name: 'd',
15235
range: [21, 22],
15236
loc: {
15237
start: { line: 1, column: 21 },
15238
end: { line: 1, column: 22 }
15239
}
15240
},
15241
body: {
15242
type: 'EmptyStatement',
15243
range: [23, 24],
15244
loc: {
15245
start: { line: 1, column: 23 },
15246
end: { line: 1, column: 24 }
15247
}
15248
},
15249
each: false,
15250
range: [0, 24],
15251
loc: {
15252
start: { line: 1, column: 0 },
15253
end: { line: 1, column: 24 }
15254
}
15255
},
15256
15257
'for (a.in in a);': {
15258
type: 'ForInStatement',
15259
left: {
15260
type: 'MemberExpression',
15261
computed: false,
15262
object: {
15263
type: 'Identifier',
15264
name: 'a',
15265
range: [5, 6],
15266
loc: {
15267
start: { line: 1, column: 5 },
15268
end: { line: 1, column: 6 }
15269
}
15270
},
15271
property: {
15272
type: 'Identifier',
15273
name: 'in',
15274
range: [7, 9],
15275
loc: {
15276
start: { line: 1, column: 7 },
15277
end: { line: 1, column: 9 }
15278
}
15279
},
15280
range: [5, 9],
15281
loc: {
15282
start: { line: 1, column: 5 },
15283
end: { line: 1, column: 9 }
15284
}
15285
},
15286
right: {
15287
type: 'Identifier',
15288
name: 'a',
15289
range: [13, 14],
15290
loc: {
15291
start: { line: 1, column: 13 },
15292
end: { line: 1, column: 14 }
15293
}
15294
},
15295
body: {
15296
type: 'EmptyStatement',
15297
range: [15, 16],
15298
loc: {
15299
start: { line: 1, column: 15 },
15300
end: { line: 1, column: 16 }
15301
}
15302
},
15303
each: false,
15304
range: [0, 16],
15305
loc: {
15306
start: { line: 1, column: 0 },
15307
end: { line: 1, column: 16 }
15308
}
15309
}
15310
15311
},
15312
15313
'continue statement': {
15314
15315
'while (true) { continue; }': {
15316
type: 'WhileStatement',
15317
test: {
15318
type: 'Literal',
15319
value: true,
15320
raw: 'true',
15321
range: [7, 11],
15322
loc: {
15323
start: { line: 1, column: 7 },
15324
end: { line: 1, column: 11 }
15325
}
15326
},
15327
body: {
15328
type: 'BlockStatement',
15329
body: [
15330
{
15331
type: 'ContinueStatement',
15332
label: null,
15333
range: [15, 24],
15334
loc: {
15335
start: { line: 1, column: 15 },
15336
end: { line: 1, column: 24 }
15337
}
15338
}
15339
],
15340
range: [13, 26],
15341
loc: {
15342
start: { line: 1, column: 13 },
15343
end: { line: 1, column: 26 }
15344
}
15345
},
15346
range: [0, 26],
15347
loc: {
15348
start: { line: 1, column: 0 },
15349
end: { line: 1, column: 26 }
15350
}
15351
},
15352
15353
'while (true) { continue }': {
15354
type: 'WhileStatement',
15355
test: {
15356
type: 'Literal',
15357
value: true,
15358
raw: 'true',
15359
range: [7, 11],
15360
loc: {
15361
start: { line: 1, column: 7 },
15362
end: { line: 1, column: 11 }
15363
}
15364
},
15365
body: {
15366
type: 'BlockStatement',
15367
body: [
15368
{
15369
type: 'ContinueStatement',
15370
label: null,
15371
range: [15, 24],
15372
loc: {
15373
start: { line: 1, column: 15 },
15374
end: { line: 1, column: 24 }
15375
}
15376
}
15377
],
15378
range: [13, 25],
15379
loc: {
15380
start: { line: 1, column: 13 },
15381
end: { line: 1, column: 25 }
15382
}
15383
},
15384
range: [0, 25],
15385
loc: {
15386
start: { line: 1, column: 0 },
15387
end: { line: 1, column: 25 }
15388
}
15389
},
15390
15391
'done: while (true) { continue done }': {
15392
type: 'LabeledStatement',
15393
label: {
15394
type: 'Identifier',
15395
name: 'done',
15396
range: [0, 4],
15397
loc: {
15398
start: { line: 1, column: 0 },
15399
end: { line: 1, column: 4 }
15400
}
15401
},
15402
body: {
15403
type: 'WhileStatement',
15404
test: {
15405
type: 'Literal',
15406
value: true,
15407
raw: 'true',
15408
range: [13, 17],
15409
loc: {
15410
start: { line: 1, column: 13 },
15411
end: { line: 1, column: 17 }
15412
}
15413
},
15414
body: {
15415
type: 'BlockStatement',
15416
body: [
15417
{
15418
type: 'ContinueStatement',
15419
label: {
15420
type: 'Identifier',
15421
name: 'done',
15422
range: [30, 34],
15423
loc: {
15424
start: { line: 1, column: 30 },
15425
end: { line: 1, column: 34 }
15426
}
15427
},
15428
range: [21, 35],
15429
loc: {
15430
start: { line: 1, column: 21 },
15431
end: { line: 1, column: 35 }
15432
}
15433
}
15434
],
15435
range: [19, 36],
15436
loc: {
15437
start: { line: 1, column: 19 },
15438
end: { line: 1, column: 36 }
15439
}
15440
},
15441
range: [6, 36],
15442
loc: {
15443
start: { line: 1, column: 6 },
15444
end: { line: 1, column: 36 }
15445
}
15446
},
15447
range: [0, 36],
15448
loc: {
15449
start: { line: 1, column: 0 },
15450
end: { line: 1, column: 36 }
15451
}
15452
},
15453
15454
'done: while (true) { continue done; }': {
15455
type: 'LabeledStatement',
15456
label: {
15457
type: 'Identifier',
15458
name: 'done',
15459
range: [0, 4],
15460
loc: {
15461
start: { line: 1, column: 0 },
15462
end: { line: 1, column: 4 }
15463
}
15464
},
15465
body: {
15466
type: 'WhileStatement',
15467
test: {
15468
type: 'Literal',
15469
value: true,
15470
raw: 'true',
15471
range: [13, 17],
15472
loc: {
15473
start: { line: 1, column: 13 },
15474
end: { line: 1, column: 17 }
15475
}
15476
},
15477
body: {
15478
type: 'BlockStatement',
15479
body: [
15480
{
15481
type: 'ContinueStatement',
15482
label: {
15483
type: 'Identifier',
15484
name: 'done',
15485
range: [30, 34],
15486
loc: {
15487
start: { line: 1, column: 30 },
15488
end: { line: 1, column: 34 }
15489
}
15490
},
15491
range: [21, 35],
15492
loc: {
15493
start: { line: 1, column: 21 },
15494
end: { line: 1, column: 35 }
15495
}
15496
}
15497
],
15498
range: [19, 37],
15499
loc: {
15500
start: { line: 1, column: 19 },
15501
end: { line: 1, column: 37 }
15502
}
15503
},
15504
range: [6, 37],
15505
loc: {
15506
start: { line: 1, column: 6 },
15507
end: { line: 1, column: 37 }
15508
}
15509
},
15510
range: [0, 37],
15511
loc: {
15512
start: { line: 1, column: 0 },
15513
end: { line: 1, column: 37 }
15514
}
15515
},
15516
15517
'__proto__: while (true) { continue __proto__; }': {
15518
type: 'LabeledStatement',
15519
label: {
15520
type: 'Identifier',
15521
name: '__proto__',
15522
range: [0, 9],
15523
loc: {
15524
start: { line: 1, column: 0 },
15525
end: { line: 1, column: 9 }
15526
}
15527
},
15528
body: {
15529
type: 'WhileStatement',
15530
test: {
15531
type: 'Literal',
15532
value: true,
15533
raw: 'true',
15534
range: [18, 22],
15535
loc: {
15536
start: { line: 1, column: 18 },
15537
end: { line: 1, column: 22 }
15538
}
15539
},
15540
body: {
15541
type: 'BlockStatement',
15542
body: [{
15543
type: 'ContinueStatement',
15544
label: {
15545
type: 'Identifier',
15546
name: '__proto__',
15547
range: [35, 44],
15548
loc: {
15549
start: { line: 1, column: 35 },
15550
end: { line: 1, column: 44 }
15551
}
15552
},
15553
range: [26, 45],
15554
loc: {
15555
start: { line: 1, column: 26 },
15556
end: { line: 1, column: 45 }
15557
}
15558
}],
15559
range: [24, 47],
15560
loc: {
15561
start: { line: 1, column: 24 },
15562
end: { line: 1, column: 47 }
15563
}
15564
},
15565
range: [11, 47],
15566
loc: {
15567
start: { line: 1, column: 11 },
15568
end: { line: 1, column: 47 }
15569
}
15570
},
15571
range: [0, 47],
15572
loc: {
15573
start: { line: 1, column: 0 },
15574
end: { line: 1, column: 47 }
15575
}
15576
}
15577
15578
},
15579
15580
'break statement': {
15581
15582
'while (true) { break }': {
15583
type: 'WhileStatement',
15584
test: {
15585
type: 'Literal',
15586
value: true,
15587
raw: 'true',
15588
range: [7, 11],
15589
loc: {
15590
start: { line: 1, column: 7 },
15591
end: { line: 1, column: 11 }
15592
}
15593
},
15594
body: {
15595
type: 'BlockStatement',
15596
body: [
15597
{
15598
type: 'BreakStatement',
15599
label: null,
15600
range: [15, 21],
15601
loc: {
15602
start: { line: 1, column: 15 },
15603
end: { line: 1, column: 21 }
15604
}
15605
}
15606
],
15607
range: [13, 22],
15608
loc: {
15609
start: { line: 1, column: 13 },
15610
end: { line: 1, column: 22 }
15611
}
15612
},
15613
range: [0, 22],
15614
loc: {
15615
start: { line: 1, column: 0 },
15616
end: { line: 1, column: 22 }
15617
}
15618
},
15619
15620
'done: while (true) { break done }': {
15621
type: 'LabeledStatement',
15622
label: {
15623
type: 'Identifier',
15624
name: 'done',
15625
range: [0, 4],
15626
loc: {
15627
start: { line: 1, column: 0 },
15628
end: { line: 1, column: 4 }
15629
}
15630
},
15631
body: {
15632
type: 'WhileStatement',
15633
test: {
15634
type: 'Literal',
15635
value: true,
15636
raw: 'true',
15637
range: [13, 17],
15638
loc: {
15639
start: { line: 1, column: 13 },
15640
end: { line: 1, column: 17 }
15641
}
15642
},
15643
body: {
15644
type: 'BlockStatement',
15645
body: [
15646
{
15647
type: 'BreakStatement',
15648
label: {
15649
type: 'Identifier',
15650
name: 'done',
15651
range: [27, 31],
15652
loc: {
15653
start: { line: 1, column: 27 },
15654
end: { line: 1, column: 31 }
15655
}
15656
},
15657
range: [21, 32],
15658
loc: {
15659
start: { line: 1, column: 21 },
15660
end: { line: 1, column: 32 }
15661
}
15662
}
15663
],
15664
range: [19, 33],
15665
loc: {
15666
start: { line: 1, column: 19 },
15667
end: { line: 1, column: 33 }
15668
}
15669
},
15670
range: [6, 33],
15671
loc: {
15672
start: { line: 1, column: 6 },
15673
end: { line: 1, column: 33 }
15674
}
15675
},
15676
range: [0, 33],
15677
loc: {
15678
start: { line: 1, column: 0 },
15679
end: { line: 1, column: 33 }
15680
}
15681
},
15682
15683
'done: while (true) { break done; }': {
15684
type: 'LabeledStatement',
15685
label: {
15686
type: 'Identifier',
15687
name: 'done',
15688
range: [0, 4],
15689
loc: {
15690
start: { line: 1, column: 0 },
15691
end: { line: 1, column: 4 }
15692
}
15693
},
15694
body: {
15695
type: 'WhileStatement',
15696
test: {
15697
type: 'Literal',
15698
value: true,
15699
raw: 'true',
15700
range: [13, 17],
15701
loc: {
15702
start: { line: 1, column: 13 },
15703
end: { line: 1, column: 17 }
15704
}
15705
},
15706
body: {
15707
type: 'BlockStatement',
15708
body: [
15709
{
15710
type: 'BreakStatement',
15711
label: {
15712
type: 'Identifier',
15713
name: 'done',
15714
range: [27, 31],
15715
loc: {
15716
start: { line: 1, column: 27 },
15717
end: { line: 1, column: 31 }
15718
}
15719
},
15720
range: [21, 32],
15721
loc: {
15722
start: { line: 1, column: 21 },
15723
end: { line: 1, column: 32 }
15724
}
15725
}
15726
],
15727
range: [19, 34],
15728
loc: {
15729
start: { line: 1, column: 19 },
15730
end: { line: 1, column: 34 }
15731
}
15732
},
15733
range: [6, 34],
15734
loc: {
15735
start: { line: 1, column: 6 },
15736
end: { line: 1, column: 34 }
15737
}
15738
},
15739
range: [0, 34],
15740
loc: {
15741
start: { line: 1, column: 0 },
15742
end: { line: 1, column: 34 }
15743
}
15744
},
15745
15746
'__proto__: while (true) { break __proto__; }': {
15747
type: 'LabeledStatement',
15748
label: {
15749
type: 'Identifier',
15750
name: '__proto__',
15751
range: [0, 9],
15752
loc: {
15753
start: { line: 1, column: 0 },
15754
end: { line: 1, column: 9 }
15755
}
15756
},
15757
body: {
15758
type: 'WhileStatement',
15759
test: {
15760
type: 'Literal',
15761
value: true,
15762
raw: 'true',
15763
range: [18, 22],
15764
loc: {
15765
start: { line: 1, column: 18 },
15766
end: { line: 1, column: 22 }
15767
}
15768
},
15769
body: {
15770
type: 'BlockStatement',
15771
body: [{
15772
type: 'BreakStatement',
15773
label: {
15774
type: 'Identifier',
15775
name: '__proto__',
15776
range: [32, 41],
15777
loc: {
15778
start: { line: 1, column: 32 },
15779
end: { line: 1, column: 41 }
15780
}
15781
},
15782
range: [26, 42],
15783
loc: {
15784
start: { line: 1, column: 26 },
15785
end: { line: 1, column: 42 }
15786
}
15787
}],
15788
range: [24, 44],
15789
loc: {
15790
start: { line: 1, column: 24 },
15791
end: { line: 1, column: 44 }
15792
}
15793
},
15794
range: [11, 44],
15795
loc: {
15796
start: { line: 1, column: 11 },
15797
end: { line: 1, column: 44 }
15798
}
15799
},
15800
range: [0, 44],
15801
loc: {
15802
start: { line: 1, column: 0 },
15803
end: { line: 1, column: 44 }
15804
}
15805
}
15806
15807
},
15808
15809
'return statement': {
15810
15811
'(function(){ return })': {
15812
type: 'ExpressionStatement',
15813
expression: {
15814
type: 'FunctionExpression',
15815
id: null,
15816
params: [],
15817
defaults: [],
15818
body: {
15819
type: 'BlockStatement',
15820
body: [
15821
{
15822
type: 'ReturnStatement',
15823
argument: null,
15824
range: [13, 20],
15825
loc: {
15826
start: { line: 1, column: 13 },
15827
end: { line: 1, column: 20 }
15828
}
15829
}
15830
],
15831
range: [11, 21],
15832
loc: {
15833
start: { line: 1, column: 11 },
15834
end: { line: 1, column: 21 }
15835
}
15836
},
15837
rest: null,
15838
generator: false,
15839
expression: false,
15840
range: [1, 21],
15841
loc: {
15842
start: { line: 1, column: 1 },
15843
end: { line: 1, column: 21 }
15844
}
15845
},
15846
range: [0, 22],
15847
loc: {
15848
start: { line: 1, column: 0 },
15849
end: { line: 1, column: 22 }
15850
}
15851
},
15852
15853
'(function(){ return; })': {
15854
type: 'ExpressionStatement',
15855
expression: {
15856
type: 'FunctionExpression',
15857
id: null,
15858
params: [],
15859
defaults: [],
15860
body: {
15861
type: 'BlockStatement',
15862
body: [
15863
{
15864
type: 'ReturnStatement',
15865
argument: null,
15866
range: [13, 20],
15867
loc: {
15868
start: { line: 1, column: 13 },
15869
end: { line: 1, column: 20 }
15870
}
15871
}
15872
],
15873
range: [11, 22],
15874
loc: {
15875
start: { line: 1, column: 11 },
15876
end: { line: 1, column: 22 }
15877
}
15878
},
15879
rest: null,
15880
generator: false,
15881
expression: false,
15882
range: [1, 22],
15883
loc: {
15884
start: { line: 1, column: 1 },
15885
end: { line: 1, column: 22 }
15886
}
15887
},
15888
range: [0, 23],
15889
loc: {
15890
start: { line: 1, column: 0 },
15891
end: { line: 1, column: 23 }
15892
}
15893
},
15894
15895
'(function(){ return x; })': {
15896
type: 'ExpressionStatement',
15897
expression: {
15898
type: 'FunctionExpression',
15899
id: null,
15900
params: [],
15901
defaults: [],
15902
body: {
15903
type: 'BlockStatement',
15904
body: [
15905
{
15906
type: 'ReturnStatement',
15907
argument: {
15908
type: 'Identifier',
15909
name: 'x',
15910
range: [20, 21],
15911
loc: {
15912
start: { line: 1, column: 20 },
15913
end: { line: 1, column: 21 }
15914
}
15915
},
15916
range: [13, 22],
15917
loc: {
15918
start: { line: 1, column: 13 },
15919
end: { line: 1, column: 22 }
15920
}
15921
}
15922
],
15923
range: [11, 24],
15924
loc: {
15925
start: { line: 1, column: 11 },
15926
end: { line: 1, column: 24 }
15927
}
15928
},
15929
rest: null,
15930
generator: false,
15931
expression: false,
15932
range: [1, 24],
15933
loc: {
15934
start: { line: 1, column: 1 },
15935
end: { line: 1, column: 24 }
15936
}
15937
},
15938
range: [0, 25],
15939
loc: {
15940
start: { line: 1, column: 0 },
15941
end: { line: 1, column: 25 }
15942
}
15943
},
15944
15945
'(function(){ return x * y })': {
15946
type: 'ExpressionStatement',
15947
expression: {
15948
type: 'FunctionExpression',
15949
id: null,
15950
params: [],
15951
defaults: [],
15952
body: {
15953
type: 'BlockStatement',
15954
body: [
15955
{
15956
type: 'ReturnStatement',
15957
argument: {
15958
type: 'BinaryExpression',
15959
operator: '*',
15960
left: {
15961
type: 'Identifier',
15962
name: 'x',
15963
range: [20, 21],
15964
loc: {
15965
start: { line: 1, column: 20 },
15966
end: { line: 1, column: 21 }
15967
}
15968
},
15969
right: {
15970
type: 'Identifier',
15971
name: 'y',
15972
range: [24, 25],
15973
loc: {
15974
start: { line: 1, column: 24 },
15975
end: { line: 1, column: 25 }
15976
}
15977
},
15978
range: [20, 25],
15979
loc: {
15980
start: { line: 1, column: 20 },
15981
end: { line: 1, column: 25 }
15982
}
15983
},
15984
range: [13, 26],
15985
loc: {
15986
start: { line: 1, column: 13 },
15987
end: { line: 1, column: 26 }
15988
}
15989
}
15990
],
15991
range: [11, 27],
15992
loc: {
15993
start: { line: 1, column: 11 },
15994
end: { line: 1, column: 27 }
15995
}
15996
},
15997
rest: null,
15998
generator: false,
15999
expression: false,
16000
range: [1, 27],
16001
loc: {
16002
start: { line: 1, column: 1 },
16003
end: { line: 1, column: 27 }
16004
}
16005
},
16006
range: [0, 28],
16007
loc: {
16008
start: { line: 1, column: 0 },
16009
end: { line: 1, column: 28 }
16010
}
16011
}
16012
},
16013
16014
'with statement': {
16015
16016
'with (x) foo = bar': {
16017
type: 'WithStatement',
16018
object: {
16019
type: 'Identifier',
16020
name: 'x',
16021
range: [6, 7],
16022
loc: {
16023
start: { line: 1, column: 6 },
16024
end: { line: 1, column: 7 }
16025
}
16026
},
16027
body: {
16028
type: 'ExpressionStatement',
16029
expression: {
16030
type: 'AssignmentExpression',
16031
operator: '=',
16032
left: {
16033
type: 'Identifier',
16034
name: 'foo',
16035
range: [9, 12],
16036
loc: {
16037
start: { line: 1, column: 9 },
16038
end: { line: 1, column: 12 }
16039
}
16040
},
16041
right: {
16042
type: 'Identifier',
16043
name: 'bar',
16044
range: [15, 18],
16045
loc: {
16046
start: { line: 1, column: 15 },
16047
end: { line: 1, column: 18 }
16048
}
16049
},
16050
range: [9, 18],
16051
loc: {
16052
start: { line: 1, column: 9 },
16053
end: { line: 1, column: 18 }
16054
}
16055
},
16056
range: [9, 18],
16057
loc: {
16058
start: { line: 1, column: 9 },
16059
end: { line: 1, column: 18 }
16060
}
16061
},
16062
range: [0, 18],
16063
loc: {
16064
start: { line: 1, column: 0 },
16065
end: { line: 1, column: 18 }
16066
}
16067
},
16068
16069
'with (x) foo = bar;': {
16070
type: 'WithStatement',
16071
object: {
16072
type: 'Identifier',
16073
name: 'x',
16074
range: [6, 7],
16075
loc: {
16076
start: { line: 1, column: 6 },
16077
end: { line: 1, column: 7 }
16078
}
16079
},
16080
body: {
16081
type: 'ExpressionStatement',
16082
expression: {
16083
type: 'AssignmentExpression',
16084
operator: '=',
16085
left: {
16086
type: 'Identifier',
16087
name: 'foo',
16088
range: [9, 12],
16089
loc: {
16090
start: { line: 1, column: 9 },
16091
end: { line: 1, column: 12 }
16092
}
16093
},
16094
right: {
16095
type: 'Identifier',
16096
name: 'bar',
16097
range: [15, 18],
16098
loc: {
16099
start: { line: 1, column: 15 },
16100
end: { line: 1, column: 18 }
16101
}
16102
},
16103
range: [9, 18],
16104
loc: {
16105
start: { line: 1, column: 9 },
16106
end: { line: 1, column: 18 }
16107
}
16108
},
16109
range: [9, 19],
16110
loc: {
16111
start: { line: 1, column: 9 },
16112
end: { line: 1, column: 19 }
16113
}
16114
},
16115
range: [0, 19],
16116
loc: {
16117
start: { line: 1, column: 0 },
16118
end: { line: 1, column: 19 }
16119
}
16120
},
16121
16122
'with (x) { foo = bar }': {
16123
type: 'WithStatement',
16124
object: {
16125
type: 'Identifier',
16126
name: 'x',
16127
range: [6, 7],
16128
loc: {
16129
start: { line: 1, column: 6 },
16130
end: { line: 1, column: 7 }
16131
}
16132
},
16133
body: {
16134
type: 'BlockStatement',
16135
body: [{
16136
type: 'ExpressionStatement',
16137
expression: {
16138
type: 'AssignmentExpression',
16139
operator: '=',
16140
left: {
16141
type: 'Identifier',
16142
name: 'foo',
16143
range: [11, 14],
16144
loc: {
16145
start: { line: 1, column: 11 },
16146
end: { line: 1, column: 14 }
16147
}
16148
},
16149
right: {
16150
type: 'Identifier',
16151
name: 'bar',
16152
range: [17, 20],
16153
loc: {
16154
start: { line: 1, column: 17 },
16155
end: { line: 1, column: 20 }
16156
}
16157
},
16158
range: [11, 20],
16159
loc: {
16160
start: { line: 1, column: 11 },
16161
end: { line: 1, column: 20 }
16162
}
16163
},
16164
range: [11, 21],
16165
loc: {
16166
start: { line: 1, column: 11 },
16167
end: { line: 1, column: 21 }
16168
}
16169
}],
16170
range: [9, 22],
16171
loc: {
16172
start: { line: 1, column: 9 },
16173
end: { line: 1, column: 22 }
16174
}
16175
},
16176
range: [0, 22],
16177
loc: {
16178
start: { line: 1, column: 0 },
16179
end: { line: 1, column: 22 }
16180
}
16181
}
16182
16183
},
16184
16185
'switch statement': {
16186
16187
'switch (x) {}': {
16188
type: 'SwitchStatement',
16189
discriminant: {
16190
type: 'Identifier',
16191
name: 'x',
16192
range: [8, 9],
16193
loc: {
16194
start: { line: 1, column: 8 },
16195
end: { line: 1, column: 9 }
16196
}
16197
},
16198
cases:[],
16199
range: [0, 13],
16200
loc: {
16201
start: { line: 1, column: 0 },
16202
end: { line: 1, column: 13 }
16203
}
16204
},
16205
16206
'switch (answer) { case 42: hi(); break; }': {
16207
type: 'SwitchStatement',
16208
discriminant: {
16209
type: 'Identifier',
16210
name: 'answer',
16211
range: [8, 14],
16212
loc: {
16213
start: { line: 1, column: 8 },
16214
end: { line: 1, column: 14 }
16215
}
16216
},
16217
cases: [{
16218
type: 'SwitchCase',
16219
test: {
16220
type: 'Literal',
16221
value: 42,
16222
raw: '42',
16223
range: [23, 25],
16224
loc: {
16225
start: { line: 1, column: 23 },
16226
end: { line: 1, column: 25 }
16227
}
16228
},
16229
consequent: [{
16230
type: 'ExpressionStatement',
16231
expression: {
16232
type: 'CallExpression',
16233
callee: {
16234
type: 'Identifier',
16235
name: 'hi',
16236
range: [27, 29],
16237
loc: {
16238
start: { line: 1, column: 27 },
16239
end: { line: 1, column: 29 }
16240
}
16241
},
16242
'arguments': [],
16243
range: [27, 31],
16244
loc: {
16245
start: { line: 1, column: 27 },
16246
end: { line: 1, column: 31 }
16247
}
16248
},
16249
range: [27, 32],
16250
loc: {
16251
start: { line: 1, column: 27 },
16252
end: { line: 1, column: 32 }
16253
}
16254
}, {
16255
type: 'BreakStatement',
16256
label: null,
16257
range: [33, 39],
16258
loc: {
16259
start: { line: 1, column: 33 },
16260
end: { line: 1, column: 39 }
16261
}
16262
}],
16263
range: [18, 39],
16264
loc: {
16265
start: { line: 1, column: 18 },
16266
end: { line: 1, column: 39 }
16267
}
16268
}],
16269
range: [0, 41],
16270
loc: {
16271
start: { line: 1, column: 0 },
16272
end: { line: 1, column: 41 }
16273
}
16274
},
16275
16276
'switch (answer) { case 42: hi(); break; default: break }': {
16277
type: 'SwitchStatement',
16278
discriminant: {
16279
type: 'Identifier',
16280
name: 'answer',
16281
range: [8, 14],
16282
loc: {
16283
start: { line: 1, column: 8 },
16284
end: { line: 1, column: 14 }
16285
}
16286
},
16287
cases: [{
16288
type: 'SwitchCase',
16289
test: {
16290
type: 'Literal',
16291
value: 42,
16292
raw: '42',
16293
range: [23, 25],
16294
loc: {
16295
start: { line: 1, column: 23 },
16296
end: { line: 1, column: 25 }
16297
}
16298
},
16299
consequent: [{
16300
type: 'ExpressionStatement',
16301
expression: {
16302
type: 'CallExpression',
16303
callee: {
16304
type: 'Identifier',
16305
name: 'hi',
16306
range: [27, 29],
16307
loc: {
16308
start: { line: 1, column: 27 },
16309
end: { line: 1, column: 29 }
16310
}
16311
},
16312
'arguments': [],
16313
range: [27, 31],
16314
loc: {
16315
start: { line: 1, column: 27 },
16316
end: { line: 1, column: 31 }
16317
}
16318
},
16319
range: [27, 32],
16320
loc: {
16321
start: { line: 1, column: 27 },
16322
end: { line: 1, column: 32 }
16323
}
16324
}, {
16325
type: 'BreakStatement',
16326
label: null,
16327
range: [33, 39],
16328
loc: {
16329
start: { line: 1, column: 33 },
16330
end: { line: 1, column: 39 }
16331
}
16332
}],
16333
range: [18, 39],
16334
loc: {
16335
start: { line: 1, column: 18 },
16336
end: { line: 1, column: 39 }
16337
}
16338
}, {
16339
type: 'SwitchCase',
16340
test: null,
16341
consequent: [{
16342
type: 'BreakStatement',
16343
label: null,
16344
range: [49, 55],
16345
loc: {
16346
start: { line: 1, column: 49 },
16347
end: { line: 1, column: 55 }
16348
}
16349
}],
16350
range: [40, 55],
16351
loc: {
16352
start: { line: 1, column: 40 },
16353
end: { line: 1, column: 55 }
16354
}
16355
}],
16356
range: [0, 56],
16357
loc: {
16358
start: { line: 1, column: 0 },
16359
end: { line: 1, column: 56 }
16360
}
16361
}
16362
16363
},
16364
16365
'Labelled Statements': {
16366
16367
'start: for (;;) break start': {
16368
type: 'LabeledStatement',
16369
label: {
16370
type: 'Identifier',
16371
name: 'start',
16372
range: [0, 5],
16373
loc: {
16374
start: { line: 1, column: 0 },
16375
end: { line: 1, column: 5 }
16376
}
16377
},
16378
body: {
16379
type: 'ForStatement',
16380
init: null,
16381
test: null,
16382
update: null,
16383
body: {
16384
type: 'BreakStatement',
16385
label: {
16386
type: 'Identifier',
16387
name: 'start',
16388
range: [22, 27],
16389
loc: {
16390
start: { line: 1, column: 22 },
16391
end: { line: 1, column: 27 }
16392
}
16393
},
16394
range: [16, 27],
16395
loc: {
16396
start: { line: 1, column: 16 },
16397
end: { line: 1, column: 27 }
16398
}
16399
},
16400
range: [7, 27],
16401
loc: {
16402
start: { line: 1, column: 7 },
16403
end: { line: 1, column: 27 }
16404
}
16405
},
16406
range: [0, 27],
16407
loc: {
16408
start: { line: 1, column: 0 },
16409
end: { line: 1, column: 27 }
16410
}
16411
},
16412
16413
'start: while (true) break start': {
16414
type: 'LabeledStatement',
16415
label: {
16416
type: 'Identifier',
16417
name: 'start',
16418
range: [0, 5],
16419
loc: {
16420
start: { line: 1, column: 0 },
16421
end: { line: 1, column: 5 }
16422
}
16423
},
16424
body: {
16425
type: 'WhileStatement',
16426
test: {
16427
type: 'Literal',
16428
value: true,
16429
raw: 'true',
16430
range: [14, 18],
16431
loc: {
16432
start: { line: 1, column: 14 },
16433
end: { line: 1, column: 18 }
16434
}
16435
},
16436
body: {
16437
type: 'BreakStatement',
16438
label: {
16439
type: 'Identifier',
16440
name: 'start',
16441
range: [26, 31],
16442
loc: {
16443
start: { line: 1, column: 26 },
16444
end: { line: 1, column: 31 }
16445
}
16446
},
16447
range: [20, 31],
16448
loc: {
16449
start: { line: 1, column: 20 },
16450
end: { line: 1, column: 31 }
16451
}
16452
},
16453
range: [7, 31],
16454
loc: {
16455
start: { line: 1, column: 7 },
16456
end: { line: 1, column: 31 }
16457
}
16458
},
16459
range: [0, 31],
16460
loc: {
16461
start: { line: 1, column: 0 },
16462
end: { line: 1, column: 31 }
16463
}
16464
},
16465
16466
'__proto__: test': {
16467
type: 'LabeledStatement',
16468
label: {
16469
type: 'Identifier',
16470
name: '__proto__',
16471
range: [0, 9],
16472
loc: {
16473
start: { line: 1, column: 0 },
16474
end: { line: 1, column: 9 }
16475
}
16476
},
16477
body: {
16478
type: 'ExpressionStatement',
16479
expression: {
16480
type: 'Identifier',
16481
name: 'test',
16482
range: [11, 15],
16483
loc: {
16484
start: { line: 1, column: 11 },
16485
end: { line: 1, column: 15 }
16486
}
16487
},
16488
range: [11, 15],
16489
loc: {
16490
start: { line: 1, column: 11 },
16491
end: { line: 1, column: 15 }
16492
}
16493
},
16494
range: [0, 15],
16495
loc: {
16496
start: { line: 1, column: 0 },
16497
end: { line: 1, column: 15 }
16498
}
16499
}
16500
16501
},
16502
16503
'throw statement': {
16504
16505
'throw x;': {
16506
type: 'ThrowStatement',
16507
argument: {
16508
type: 'Identifier',
16509
name: 'x',
16510
range: [6, 7],
16511
loc: {
16512
start: { line: 1, column: 6 },
16513
end: { line: 1, column: 7 }
16514
}
16515
},
16516
range: [0, 8],
16517
loc: {
16518
start: { line: 1, column: 0 },
16519
end: { line: 1, column: 8 }
16520
}
16521
},
16522
16523
'throw x * y': {
16524
type: 'ThrowStatement',
16525
argument: {
16526
type: 'BinaryExpression',
16527
operator: '*',
16528
left: {
16529
type: 'Identifier',
16530
name: 'x',
16531
range: [6, 7],
16532
loc: {
16533
start: { line: 1, column: 6 },
16534
end: { line: 1, column: 7 }
16535
}
16536
},
16537
right: {
16538
type: 'Identifier',
16539
name: 'y',
16540
range: [10, 11],
16541
loc: {
16542
start: { line: 1, column: 10 },
16543
end: { line: 1, column: 11 }
16544
}
16545
},
16546
range: [6, 11],
16547
loc: {
16548
start: { line: 1, column: 6 },
16549
end: { line: 1, column: 11 }
16550
}
16551
},
16552
range: [0, 11],
16553
loc: {
16554
start: { line: 1, column: 0 },
16555
end: { line: 1, column: 11 }
16556
}
16557
},
16558
16559
'throw { message: "Error" }': {
16560
type: 'ThrowStatement',
16561
argument: {
16562
type: 'ObjectExpression',
16563
properties: [{
16564
type: 'Property',
16565
key: {
16566
type: 'Identifier',
16567
name: 'message',
16568
range: [8, 15],
16569
loc: {
16570
start: { line: 1, column: 8 },
16571
end: { line: 1, column: 15 }
16572
}
16573
},
16574
value: {
16575
type: 'Literal',
16576
value: 'Error',
16577
raw: '"Error"',
16578
range: [17, 24],
16579
loc: {
16580
start: { line: 1, column: 17 },
16581
end: { line: 1, column: 24 }
16582
}
16583
},
16584
kind: 'init',
16585
range: [8, 24],
16586
loc: {
16587
start: { line: 1, column: 8 },
16588
end: { line: 1, column: 24 }
16589
}
16590
}],
16591
range: [6, 26],
16592
loc: {
16593
start: { line: 1, column: 6 },
16594
end: { line: 1, column: 26 }
16595
}
16596
},
16597
range: [0, 26],
16598
loc: {
16599
start: { line: 1, column: 0 },
16600
end: { line: 1, column: 26 }
16601
}
16602
}
16603
16604
},
16605
16606
'try statement': {
16607
16608
'try { } catch (e) { }': {
16609
type: 'TryStatement',
16610
block: {
16611
type: 'BlockStatement',
16612
body: [],
16613
range: [4, 7],
16614
loc: {
16615
start: { line: 1, column: 4 },
16616
end: { line: 1, column: 7 }
16617
}
16618
},
16619
guardedHandlers: [],
16620
handlers: [{
16621
type: 'CatchClause',
16622
param: {
16623
type: 'Identifier',
16624
name: 'e',
16625
range: [15, 16],
16626
loc: {
16627
start: { line: 1, column: 15 },
16628
end: { line: 1, column: 16 }
16629
}
16630
},
16631
body: {
16632
type: 'BlockStatement',
16633
body: [],
16634
range: [18, 21],
16635
loc: {
16636
start: { line: 1, column: 18 },
16637
end: { line: 1, column: 21 }
16638
}
16639
},
16640
range: [8, 21],
16641
loc: {
16642
start: { line: 1, column: 8 },
16643
end: { line: 1, column: 21 }
16644
}
16645
}],
16646
finalizer: null,
16647
range: [0, 21],
16648
loc: {
16649
start: { line: 1, column: 0 },
16650
end: { line: 1, column: 21 }
16651
}
16652
},
16653
16654
'try { } catch (eval) { }': {
16655
type: 'TryStatement',
16656
block: {
16657
type: 'BlockStatement',
16658
body: [],
16659
range: [4, 7],
16660
loc: {
16661
start: { line: 1, column: 4 },
16662
end: { line: 1, column: 7 }
16663
}
16664
},
16665
guardedHandlers: [],
16666
handlers: [{
16667
type: 'CatchClause',
16668
param: {
16669
type: 'Identifier',
16670
name: 'eval',
16671
range: [15, 19],
16672
loc: {
16673
start: { line: 1, column: 15 },
16674
end: { line: 1, column: 19 }
16675
}
16676
},
16677
body: {
16678
type: 'BlockStatement',
16679
body: [],
16680
range: [21, 24],
16681
loc: {
16682
start: { line: 1, column: 21 },
16683
end: { line: 1, column: 24 }
16684
}
16685
},
16686
range: [8, 24],
16687
loc: {
16688
start: { line: 1, column: 8 },
16689
end: { line: 1, column: 24 }
16690
}
16691
}],
16692
finalizer: null,
16693
range: [0, 24],
16694
loc: {
16695
start: { line: 1, column: 0 },
16696
end: { line: 1, column: 24 }
16697
}
16698
},
16699
16700
'try { } catch (arguments) { }': {
16701
type: 'TryStatement',
16702
block: {
16703
type: 'BlockStatement',
16704
body: [],
16705
range: [4, 7],
16706
loc: {
16707
start: { line: 1, column: 4 },
16708
end: { line: 1, column: 7 }
16709
}
16710
},
16711
guardedHandlers: [],
16712
handlers: [{
16713
type: 'CatchClause',
16714
param: {
16715
type: 'Identifier',
16716
name: 'arguments',
16717
range: [15, 24],
16718
loc: {
16719
start: { line: 1, column: 15 },
16720
end: { line: 1, column: 24 }
16721
}
16722
},
16723
body: {
16724
type: 'BlockStatement',
16725
body: [],
16726
range: [26, 29],
16727
loc: {
16728
start: { line: 1, column: 26 },
16729
end: { line: 1, column: 29 }
16730
}
16731
},
16732
range: [8, 29],
16733
loc: {
16734
start: { line: 1, column: 8 },
16735
end: { line: 1, column: 29 }
16736
}
16737
}],
16738
finalizer: null,
16739
range: [0, 29],
16740
loc: {
16741
start: { line: 1, column: 0 },
16742
end: { line: 1, column: 29 }
16743
}
16744
},
16745
16746
'try { } catch (e) { say(e) }': {
16747
type: 'TryStatement',
16748
block: {
16749
type: 'BlockStatement',
16750
body: [],
16751
range: [4, 7],
16752
loc: {
16753
start: { line: 1, column: 4 },
16754
end: { line: 1, column: 7 }
16755
}
16756
},
16757
guardedHandlers: [],
16758
handlers: [{
16759
type: 'CatchClause',
16760
param: {
16761
type: 'Identifier',
16762
name: 'e',
16763
range: [15, 16],
16764
loc: {
16765
start: { line: 1, column: 15 },
16766
end: { line: 1, column: 16 }
16767
}
16768
},
16769
body: {
16770
type: 'BlockStatement',
16771
body: [{
16772
type: 'ExpressionStatement',
16773
expression: {
16774
type: 'CallExpression',
16775
callee: {
16776
type: 'Identifier',
16777
name: 'say',
16778
range: [20, 23],
16779
loc: {
16780
start: { line: 1, column: 20 },
16781
end: { line: 1, column: 23 }
16782
}
16783
},
16784
'arguments': [{
16785
type: 'Identifier',
16786
name: 'e',
16787
range: [24, 25],
16788
loc: {
16789
start: { line: 1, column: 24 },
16790
end: { line: 1, column: 25 }
16791
}
16792
}],
16793
range: [20, 26],
16794
loc: {
16795
start: { line: 1, column: 20 },
16796
end: { line: 1, column: 26 }
16797
}
16798
},
16799
range: [20, 27],
16800
loc: {
16801
start: { line: 1, column: 20 },
16802
end: { line: 1, column: 27 }
16803
}
16804
}],
16805
range: [18, 28],
16806
loc: {
16807
start: { line: 1, column: 18 },
16808
end: { line: 1, column: 28 }
16809
}
16810
},
16811
range: [8, 28],
16812
loc: {
16813
start: { line: 1, column: 8 },
16814
end: { line: 1, column: 28 }
16815
}
16816
}],
16817
finalizer: null,
16818
range: [0, 28],
16819
loc: {
16820
start: { line: 1, column: 0 },
16821
end: { line: 1, column: 28 }
16822
}
16823
},
16824
16825
'try { } finally { cleanup(stuff) }': {
16826
type: 'TryStatement',
16827
block: {
16828
type: 'BlockStatement',
16829
body: [],
16830
range: [4, 7],
16831
loc: {
16832
start: { line: 1, column: 4 },
16833
end: { line: 1, column: 7 }
16834
}
16835
},
16836
guardedHandlers: [],
16837
handlers: [],
16838
finalizer: {
16839
type: 'BlockStatement',
16840
body: [{
16841
type: 'ExpressionStatement',
16842
expression: {
16843
type: 'CallExpression',
16844
callee: {
16845
type: 'Identifier',
16846
name: 'cleanup',
16847
range: [18, 25],
16848
loc: {
16849
start: { line: 1, column: 18 },
16850
end: { line: 1, column: 25 }
16851
}
16852
},
16853
'arguments': [{
16854
type: 'Identifier',
16855
name: 'stuff',
16856
range: [26, 31],
16857
loc: {
16858
start: { line: 1, column: 26 },
16859
end: { line: 1, column: 31 }
16860
}
16861
}],
16862
range: [18, 32],
16863
loc: {
16864
start: { line: 1, column: 18 },
16865
end: { line: 1, column: 32 }
16866
}
16867
},
16868
range: [18, 33],
16869
loc: {
16870
start: { line: 1, column: 18 },
16871
end: { line: 1, column: 33 }
16872
}
16873
}],
16874
range: [16, 34],
16875
loc: {
16876
start: { line: 1, column: 16 },
16877
end: { line: 1, column: 34 }
16878
}
16879
},
16880
range: [0, 34],
16881
loc: {
16882
start: { line: 1, column: 0 },
16883
end: { line: 1, column: 34 }
16884
}
16885
},
16886
16887
'try { doThat(); } catch (e) { say(e) }': {
16888
type: 'TryStatement',
16889
block: {
16890
type: 'BlockStatement',
16891
body: [{
16892
type: 'ExpressionStatement',
16893
expression: {
16894
type: 'CallExpression',
16895
callee: {
16896
type: 'Identifier',
16897
name: 'doThat',
16898
range: [6, 12],
16899
loc: {
16900
start: { line: 1, column: 6 },
16901
end: { line: 1, column: 12 }
16902
}
16903
},
16904
'arguments': [],
16905
range: [6, 14],
16906
loc: {
16907
start: { line: 1, column: 6 },
16908
end: { line: 1, column: 14 }
16909
}
16910
},
16911
range: [6, 15],
16912
loc: {
16913
start: { line: 1, column: 6 },
16914
end: { line: 1, column: 15 }
16915
}
16916
}],
16917
range: [4, 17],
16918
loc: {
16919
start: { line: 1, column: 4 },
16920
end: { line: 1, column: 17 }
16921
}
16922
},
16923
guardedHandlers: [],
16924
handlers: [{
16925
type: 'CatchClause',
16926
param: {
16927
type: 'Identifier',
16928
name: 'e',
16929
range: [25, 26],
16930
loc: {
16931
start: { line: 1, column: 25 },
16932
end: { line: 1, column: 26 }
16933
}
16934
},
16935
body: {
16936
type: 'BlockStatement',
16937
body: [{
16938
type: 'ExpressionStatement',
16939
expression: {
16940
type: 'CallExpression',
16941
callee: {
16942
type: 'Identifier',
16943
name: 'say',
16944
range: [30, 33],
16945
loc: {
16946
start: { line: 1, column: 30 },
16947
end: { line: 1, column: 33 }
16948
}
16949
},
16950
'arguments': [{
16951
type: 'Identifier',
16952
name: 'e',
16953
range: [34, 35],
16954
loc: {
16955
start: { line: 1, column: 34 },
16956
end: { line: 1, column: 35 }
16957
}
16958
}],
16959
range: [30, 36],
16960
loc: {
16961
start: { line: 1, column: 30 },
16962
end: { line: 1, column: 36 }
16963
}
16964
},
16965
range: [30, 37],
16966
loc: {
16967
start: { line: 1, column: 30 },
16968
end: { line: 1, column: 37 }
16969
}
16970
}],
16971
range: [28, 38],
16972
loc: {
16973
start: { line: 1, column: 28 },
16974
end: { line: 1, column: 38 }
16975
}
16976
},
16977
range: [18, 38],
16978
loc: {
16979
start: { line: 1, column: 18 },
16980
end: { line: 1, column: 38 }
16981
}
16982
}],
16983
finalizer: null,
16984
range: [0, 38],
16985
loc: {
16986
start: { line: 1, column: 0 },
16987
end: { line: 1, column: 38 }
16988
}
16989
},
16990
16991
'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': {
16992
type: 'TryStatement',
16993
block: {
16994
type: 'BlockStatement',
16995
body: [{
16996
type: 'ExpressionStatement',
16997
expression: {
16998
type: 'CallExpression',
16999
callee: {
17000
type: 'Identifier',
17001
name: 'doThat',
17002
range: [6, 12],
17003
loc: {
17004
start: { line: 1, column: 6 },
17005
end: { line: 1, column: 12 }
17006
}
17007
},
17008
'arguments': [],
17009
range: [6, 14],
17010
loc: {
17011
start: { line: 1, column: 6 },
17012
end: { line: 1, column: 14 }
17013
}
17014
},
17015
range: [6, 15],
17016
loc: {
17017
start: { line: 1, column: 6 },
17018
end: { line: 1, column: 15 }
17019
}
17020
}],
17021
range: [4, 17],
17022
loc: {
17023
start: { line: 1, column: 4 },
17024
end: { line: 1, column: 17 }
17025
}
17026
},
17027
guardedHandlers: [],
17028
handlers: [{
17029
type: 'CatchClause',
17030
param: {
17031
type: 'Identifier',
17032
name: 'e',
17033
range: [25, 26],
17034
loc: {
17035
start: { line: 1, column: 25 },
17036
end: { line: 1, column: 26 }
17037
}
17038
},
17039
body: {
17040
type: 'BlockStatement',
17041
body: [{
17042
type: 'ExpressionStatement',
17043
expression: {
17044
type: 'CallExpression',
17045
callee: {
17046
type: 'Identifier',
17047
name: 'say',
17048
range: [30, 33],
17049
loc: {
17050
start: { line: 1, column: 30 },
17051
end: { line: 1, column: 33 }
17052
}
17053
},
17054
'arguments': [{
17055
type: 'Identifier',
17056
name: 'e',
17057
range: [34, 35],
17058
loc: {
17059
start: { line: 1, column: 34 },
17060
end: { line: 1, column: 35 }
17061
}
17062
}],
17063
range: [30, 36],
17064
loc: {
17065
start: { line: 1, column: 30 },
17066
end: { line: 1, column: 36 }
17067
}
17068
},
17069
range: [30, 37],
17070
loc: {
17071
start: { line: 1, column: 30 },
17072
end: { line: 1, column: 37 }
17073
}
17074
}],
17075
range: [28, 38],
17076
loc: {
17077
start: { line: 1, column: 28 },
17078
end: { line: 1, column: 38 }
17079
}
17080
},
17081
range: [18, 38],
17082
loc: {
17083
start: { line: 1, column: 18 },
17084
end: { line: 1, column: 38 }
17085
}
17086
}],
17087
finalizer: {
17088
type: 'BlockStatement',
17089
body: [{
17090
type: 'ExpressionStatement',
17091
expression: {
17092
type: 'CallExpression',
17093
callee: {
17094
type: 'Identifier',
17095
name: 'cleanup',
17096
range: [49, 56],
17097
loc: {
17098
start: { line: 1, column: 49 },
17099
end: { line: 1, column: 56 }
17100
}
17101
},
17102
'arguments': [{
17103
type: 'Identifier',
17104
name: 'stuff',
17105
range: [57, 62],
17106
loc: {
17107
start: { line: 1, column: 57 },
17108
end: { line: 1, column: 62 }
17109
}
17110
}],
17111
range: [49, 63],
17112
loc: {
17113
start: { line: 1, column: 49 },
17114
end: { line: 1, column: 63 }
17115
}
17116
},
17117
range: [49, 64],
17118
loc: {
17119
start: { line: 1, column: 49 },
17120
end: { line: 1, column: 64 }
17121
}
17122
}],
17123
range: [47, 65],
17124
loc: {
17125
start: { line: 1, column: 47 },
17126
end: { line: 1, column: 65 }
17127
}
17128
},
17129
range: [0, 65],
17130
loc: {
17131
start: { line: 1, column: 0 },
17132
end: { line: 1, column: 65 }
17133
}
17134
}
17135
17136
},
17137
17138
'debugger statement': {
17139
17140
'debugger;': {
17141
type: 'DebuggerStatement',
17142
range: [0, 9],
17143
loc: {
17144
start: { line: 1, column: 0 },
17145
end: { line: 1, column: 9 }
17146
}
17147
}
17148
17149
},
17150
17151
'Function Definition': {
17152
17153
'function hello() { sayHi(); }': {
17154
type: 'FunctionDeclaration',
17155
id: {
17156
type: 'Identifier',
17157
name: 'hello',
17158
range: [9, 14],
17159
loc: {
17160
start: { line: 1, column: 9 },
17161
end: { line: 1, column: 14 }
17162
}
17163
},
17164
params: [],
17165
defaults: [],
17166
body: {
17167
type: 'BlockStatement',
17168
body: [{
17169
type: 'ExpressionStatement',
17170
expression: {
17171
type: 'CallExpression',
17172
callee: {
17173
type: 'Identifier',
17174
name: 'sayHi',
17175
range: [19, 24],
17176
loc: {
17177
start: { line: 1, column: 19 },
17178
end: { line: 1, column: 24 }
17179
}
17180
},
17181
'arguments': [],
17182
range: [19, 26],
17183
loc: {
17184
start: { line: 1, column: 19 },
17185
end: { line: 1, column: 26 }
17186
}
17187
},
17188
range: [19, 27],
17189
loc: {
17190
start: { line: 1, column: 19 },
17191
end: { line: 1, column: 27 }
17192
}
17193
}],
17194
range: [17, 29],
17195
loc: {
17196
start: { line: 1, column: 17 },
17197
end: { line: 1, column: 29 }
17198
}
17199
},
17200
rest: null,
17201
generator: false,
17202
expression: false,
17203
range: [0, 29],
17204
loc: {
17205
start: { line: 1, column: 0 },
17206
end: { line: 1, column: 29 }
17207
}
17208
},
17209
17210
'function eval() { }': {
17211
type: 'FunctionDeclaration',
17212
id: {
17213
type: 'Identifier',
17214
name: 'eval',
17215
range: [9, 13],
17216
loc: {
17217
start: { line: 1, column: 9 },
17218
end: { line: 1, column: 13 }
17219
}
17220
},
17221
params: [],
17222
defaults: [],
17223
body: {
17224
type: 'BlockStatement',
17225
body: [],
17226
range: [16, 19],
17227
loc: {
17228
start: { line: 1, column: 16 },
17229
end: { line: 1, column: 19 }
17230
}
17231
},
17232
rest: null,
17233
generator: false,
17234
expression: false,
17235
range: [0, 19],
17236
loc: {
17237
start: { line: 1, column: 0 },
17238
end: { line: 1, column: 19 }
17239
}
17240
},
17241
17242
'function arguments() { }': {
17243
type: 'FunctionDeclaration',
17244
id: {
17245
type: 'Identifier',
17246
name: 'arguments',
17247
range: [9, 18],
17248
loc: {
17249
start: { line: 1, column: 9 },
17250
end: { line: 1, column: 18 }
17251
}
17252
},
17253
params: [],
17254
defaults: [],
17255
body: {
17256
type: 'BlockStatement',
17257
body: [],
17258
range: [21, 24],
17259
loc: {
17260
start: { line: 1, column: 21 },
17261
end: { line: 1, column: 24 }
17262
}
17263
},
17264
rest: null,
17265
generator: false,
17266
expression: false,
17267
range: [0, 24],
17268
loc: {
17269
start: { line: 1, column: 0 },
17270
end: { line: 1, column: 24 }
17271
}
17272
},
17273
17274
'function test(t, t) { }': {
17275
type: 'FunctionDeclaration',
17276
id: {
17277
type: 'Identifier',
17278
name: 'test',
17279
range: [9, 13],
17280
loc: {
17281
start: { line: 1, column: 9 },
17282
end: { line: 1, column: 13 }
17283
}
17284
},
17285
params: [{
17286
type: 'Identifier',
17287
name: 't',
17288
range: [14, 15],
17289
loc: {
17290
start: { line: 1, column: 14 },
17291
end: { line: 1, column: 15 }
17292
}
17293
}, {
17294
type: 'Identifier',
17295
name: 't',
17296
range: [17, 18],
17297
loc: {
17298
start: { line: 1, column: 17 },
17299
end: { line: 1, column: 18 }
17300
}
17301
}],
17302
defaults: [],
17303
body: {
17304
type: 'BlockStatement',
17305
body: [],
17306
range: [20, 23],
17307
loc: {
17308
start: { line: 1, column: 20 },
17309
end: { line: 1, column: 23 }
17310
}
17311
},
17312
rest: null,
17313
generator: false,
17314
expression: false,
17315
range: [0, 23],
17316
loc: {
17317
start: { line: 1, column: 0 },
17318
end: { line: 1, column: 23 }
17319
}
17320
},
17321
17322
'(function test(t, t) { })': {
17323
type: 'ExpressionStatement',
17324
expression: {
17325
type: 'FunctionExpression',
17326
id: {
17327
type: 'Identifier',
17328
name: 'test',
17329
range: [10, 14],
17330
loc: {
17331
start: { line: 1, column: 10 },
17332
end: { line: 1, column: 14 }
17333
}
17334
},
17335
params: [{
17336
type: 'Identifier',
17337
name: 't',
17338
range: [15, 16],
17339
loc: {
17340
start: { line: 1, column: 15 },
17341
end: { line: 1, column: 16 }
17342
}
17343
}, {
17344
type: 'Identifier',
17345
name: 't',
17346
range: [18, 19],
17347
loc: {
17348
start: { line: 1, column: 18 },
17349
end: { line: 1, column: 19 }
17350
}
17351
}],
17352
defaults: [],
17353
body: {
17354
type: 'BlockStatement',
17355
body: [],
17356
range: [21, 24],
17357
loc: {
17358
start: { line: 1, column: 21 },
17359
end: { line: 1, column: 24 }
17360
}
17361
},
17362
rest: null,
17363
generator: false,
17364
expression: false,
17365
range: [1, 24],
17366
loc: {
17367
start: { line: 1, column: 1 },
17368
end: { line: 1, column: 24 }
17369
}
17370
},
17371
range: [0, 25],
17372
loc: {
17373
start: { line: 1, column: 0 },
17374
end: { line: 1, column: 25 }
17375
}
17376
},
17377
17378
'function eval() { function inner() { "use strict" } }': {
17379
type: 'FunctionDeclaration',
17380
id: {
17381
type: 'Identifier',
17382
name: 'eval',
17383
range: [9, 13],
17384
loc: {
17385
start: { line: 1, column: 9 },
17386
end: { line: 1, column: 13 }
17387
}
17388
},
17389
params: [],
17390
defaults: [],
17391
body: {
17392
type: 'BlockStatement',
17393
body: [{
17394
type: 'FunctionDeclaration',
17395
id: {
17396
type: 'Identifier',
17397
name: 'inner',
17398
range: [27, 32],
17399
loc: {
17400
start: { line: 1, column: 27 },
17401
end: { line: 1, column: 32 }
17402
}
17403
},
17404
params: [],
17405
defaults: [],
17406
body: {
17407
type: 'BlockStatement',
17408
body: [{
17409
type: 'ExpressionStatement',
17410
expression: {
17411
type: 'Literal',
17412
value: 'use strict',
17413
raw: '\"use strict\"',
17414
range: [37, 49],
17415
loc: {
17416
start: { line: 1, column: 37 },
17417
end: { line: 1, column: 49 }
17418
}
17419
},
17420
range: [37, 50],
17421
loc: {
17422
start: { line: 1, column: 37 },
17423
end: { line: 1, column: 50 }
17424
}
17425
}],
17426
range: [35, 51],
17427
loc: {
17428
start: { line: 1, column: 35 },
17429
end: { line: 1, column: 51 }
17430
}
17431
},
17432
rest: null,
17433
generator: false,
17434
expression: false,
17435
range: [18, 51],
17436
loc: {
17437
start: { line: 1, column: 18 },
17438
end: { line: 1, column: 51 }
17439
}
17440
}],
17441
range: [16, 53],
17442
loc: {
17443
start: { line: 1, column: 16 },
17444
end: { line: 1, column: 53 }
17445
}
17446
},
17447
rest: null,
17448
generator: false,
17449
expression: false,
17450
range: [0, 53],
17451
loc: {
17452
start: { line: 1, column: 0 },
17453
end: { line: 1, column: 53 }
17454
}
17455
},
17456
17457
'function hello(a) { sayHi(); }': {
17458
type: 'FunctionDeclaration',
17459
id: {
17460
type: 'Identifier',
17461
name: 'hello',
17462
range: [9, 14],
17463
loc: {
17464
start: { line: 1, column: 9 },
17465
end: { line: 1, column: 14 }
17466
}
17467
},
17468
params: [{
17469
type: 'Identifier',
17470
name: 'a',
17471
range: [15, 16],
17472
loc: {
17473
start: { line: 1, column: 15 },
17474
end: { line: 1, column: 16 }
17475
}
17476
}],
17477
defaults: [],
17478
body: {
17479
type: 'BlockStatement',
17480
body: [{
17481
type: 'ExpressionStatement',
17482
expression: {
17483
type: 'CallExpression',
17484
callee: {
17485
type: 'Identifier',
17486
name: 'sayHi',
17487
range: [20, 25],
17488
loc: {
17489
start: { line: 1, column: 20 },
17490
end: { line: 1, column: 25 }
17491
}
17492
},
17493
'arguments': [],
17494
range: [20, 27],
17495
loc: {
17496
start: { line: 1, column: 20 },
17497
end: { line: 1, column: 27 }
17498
}
17499
},
17500
range: [20, 28],
17501
loc: {
17502
start: { line: 1, column: 20 },
17503
end: { line: 1, column: 28 }
17504
}
17505
}],
17506
range: [18, 30],
17507
loc: {
17508
start: { line: 1, column: 18 },
17509
end: { line: 1, column: 30 }
17510
}
17511
},
17512
rest: null,
17513
generator: false,
17514
expression: false,
17515
range: [0, 30],
17516
loc: {
17517
start: { line: 1, column: 0 },
17518
end: { line: 1, column: 30 }
17519
}
17520
},
17521
17522
'function hello(a, b) { sayHi(); }': {
17523
type: 'FunctionDeclaration',
17524
id: {
17525
type: 'Identifier',
17526
name: 'hello',
17527
range: [9, 14],
17528
loc: {
17529
start: { line: 1, column: 9 },
17530
end: { line: 1, column: 14 }
17531
}
17532
},
17533
params: [{
17534
type: 'Identifier',
17535
name: 'a',
17536
range: [15, 16],
17537
loc: {
17538
start: { line: 1, column: 15 },
17539
end: { line: 1, column: 16 }
17540
}
17541
}, {
17542
type: 'Identifier',
17543
name: 'b',
17544
range: [18, 19],
17545
loc: {
17546
start: { line: 1, column: 18 },
17547
end: { line: 1, column: 19 }
17548
}
17549
}],
17550
defaults: [],
17551
body: {
17552
type: 'BlockStatement',
17553
body: [{
17554
type: 'ExpressionStatement',
17555
expression: {
17556
type: 'CallExpression',
17557
callee: {
17558
type: 'Identifier',
17559
name: 'sayHi',
17560
range: [23, 28],
17561
loc: {
17562
start: { line: 1, column: 23 },
17563
end: { line: 1, column: 28 }
17564
}
17565
},
17566
'arguments': [],
17567
range: [23, 30],
17568
loc: {
17569
start: { line: 1, column: 23 },
17570
end: { line: 1, column: 30 }
17571
}
17572
},
17573
range: [23, 31],
17574
loc: {
17575
start: { line: 1, column: 23 },
17576
end: { line: 1, column: 31 }
17577
}
17578
}],
17579
range: [21, 33],
17580
loc: {
17581
start: { line: 1, column: 21 },
17582
end: { line: 1, column: 33 }
17583
}
17584
},
17585
rest: null,
17586
generator: false,
17587
expression: false,
17588
range: [0, 33],
17589
loc: {
17590
start: { line: 1, column: 0 },
17591
end: { line: 1, column: 33 }
17592
}
17593
},
17594
17595
'var hi = function() { sayHi() };': {
17596
type: 'VariableDeclaration',
17597
declarations: [{
17598
type: 'VariableDeclarator',
17599
id: {
17600
type: 'Identifier',
17601
name: 'hi',
17602
range: [4, 6],
17603
loc: {
17604
start: { line: 1, column: 4 },
17605
end: { line: 1, column: 6 }
17606
}
17607
},
17608
init: {
17609
type: 'FunctionExpression',
17610
id: null,
17611
params: [],
17612
defaults: [],
17613
body: {
17614
type: 'BlockStatement',
17615
body: [{
17616
type: 'ExpressionStatement',
17617
expression: {
17618
type: 'CallExpression',
17619
callee: {
17620
type: 'Identifier',
17621
name: 'sayHi',
17622
range: [22, 27],
17623
loc: {
17624
start: { line: 1, column: 22 },
17625
end: { line: 1, column: 27 }
17626
}
17627
},
17628
'arguments': [],
17629
range: [22, 29],
17630
loc: {
17631
start: { line: 1, column: 22 },
17632
end: { line: 1, column: 29 }
17633
}
17634
},
17635
range: [22, 30],
17636
loc: {
17637
start: { line: 1, column: 22 },
17638
end: { line: 1, column: 30 }
17639
}
17640
}],
17641
range: [20, 31],
17642
loc: {
17643
start: { line: 1, column: 20 },
17644
end: { line: 1, column: 31 }
17645
}
17646
},
17647
rest: null,
17648
generator: false,
17649
expression: false,
17650
range: [9, 31],
17651
loc: {
17652
start: { line: 1, column: 9 },
17653
end: { line: 1, column: 31 }
17654
}
17655
},
17656
range: [4, 31],
17657
loc: {
17658
start: { line: 1, column: 4 },
17659
end: { line: 1, column: 31 }
17660
}
17661
}],
17662
kind: 'var',
17663
range: [0, 32],
17664
loc: {
17665
start: { line: 1, column: 0 },
17666
end: { line: 1, column: 32 }
17667
}
17668
},
17669
17670
'var hi = function eval() { };': {
17671
type: 'VariableDeclaration',
17672
declarations: [{
17673
type: 'VariableDeclarator',
17674
id: {
17675
type: 'Identifier',
17676
name: 'hi',
17677
range: [4, 6],
17678
loc: {
17679
start: { line: 1, column: 4 },
17680
end: { line: 1, column: 6 }
17681
}
17682
},
17683
init: {
17684
type: 'FunctionExpression',
17685
id: {
17686
type: 'Identifier',
17687
name: 'eval',
17688
range: [18, 22],
17689
loc: {
17690
start: { line: 1, column: 18 },
17691
end: { line: 1, column: 22 }
17692
}
17693
},
17694
params: [],
17695
defaults: [],
17696
body: {
17697
type: 'BlockStatement',
17698
body: [],
17699
range: [25, 28],
17700
loc: {
17701
start: { line: 1, column: 25 },
17702
end: { line: 1, column: 28 }
17703
}
17704
},
17705
rest: null,
17706
generator: false,
17707
expression: false,
17708
range: [9, 28],
17709
loc: {
17710
start: { line: 1, column: 9 },
17711
end: { line: 1, column: 28 }
17712
}
17713
},
17714
range: [4, 28],
17715
loc: {
17716
start: { line: 1, column: 4 },
17717
end: { line: 1, column: 28 }
17718
}
17719
}],
17720
kind: 'var',
17721
range: [0, 29],
17722
loc: {
17723
start: { line: 1, column: 0 },
17724
end: { line: 1, column: 29 }
17725
}
17726
},
17727
17728
'var hi = function arguments() { };': {
17729
type: 'VariableDeclaration',
17730
declarations: [{
17731
type: 'VariableDeclarator',
17732
id: {
17733
type: 'Identifier',
17734
name: 'hi',
17735
range: [4, 6],
17736
loc: {
17737
start: { line: 1, column: 4 },
17738
end: { line: 1, column: 6 }
17739
}
17740
},
17741
init: {
17742
type: 'FunctionExpression',
17743
id: {
17744
type: 'Identifier',
17745
name: 'arguments',
17746
range: [18, 27],
17747
loc: {
17748
start: { line: 1, column: 18 },
17749
end: { line: 1, column: 27 }
17750
}
17751
},
17752
params: [],
17753
defaults: [],
17754
body: {
17755
type: 'BlockStatement',
17756
body: [],
17757
range: [30, 33],
17758
loc: {
17759
start: { line: 1, column: 30 },
17760
end: { line: 1, column: 33 }
17761
}
17762
},
17763
rest: null,
17764
generator: false,
17765
expression: false,
17766
range: [9, 33],
17767
loc: {
17768
start: { line: 1, column: 9 },
17769
end: { line: 1, column: 33 }
17770
}
17771
},
17772
range: [4, 33],
17773
loc: {
17774
start: { line: 1, column: 4 },
17775
end: { line: 1, column: 33 }
17776
}
17777
}],
17778
kind: 'var',
17779
range: [0, 34],
17780
loc: {
17781
start: { line: 1, column: 0 },
17782
end: { line: 1, column: 34 }
17783
}
17784
},
17785
17786
'var hello = function hi() { sayHi() };': {
17787
type: 'VariableDeclaration',
17788
declarations: [{
17789
type: 'VariableDeclarator',
17790
id: {
17791
type: 'Identifier',
17792
name: 'hello',
17793
range: [4, 9],
17794
loc: {
17795
start: { line: 1, column: 4 },
17796
end: { line: 1, column: 9 }
17797
}
17798
},
17799
init: {
17800
type: 'FunctionExpression',
17801
id: {
17802
type: 'Identifier',
17803
name: 'hi',
17804
range: [21, 23],
17805
loc: {
17806
start: { line: 1, column: 21 },
17807
end: { line: 1, column: 23 }
17808
}
17809
},
17810
params: [],
17811
defaults: [],
17812
body: {
17813
type: 'BlockStatement',
17814
body: [{
17815
type: 'ExpressionStatement',
17816
expression: {
17817
type: 'CallExpression',
17818
callee: {
17819
type: 'Identifier',
17820
name: 'sayHi',
17821
range: [28, 33],
17822
loc: {
17823
start: { line: 1, column: 28 },
17824
end: { line: 1, column: 33 }
17825
}
17826
},
17827
'arguments': [],
17828
range: [28, 35],
17829
loc: {
17830
start: { line: 1, column: 28 },
17831
end: { line: 1, column: 35 }
17832
}
17833
},
17834
range: [28, 36],
17835
loc: {
17836
start: { line: 1, column: 28 },
17837
end: { line: 1, column: 36 }
17838
}
17839
}],
17840
range: [26, 37],
17841
loc: {
17842
start: { line: 1, column: 26 },
17843
end: { line: 1, column: 37 }
17844
}
17845
},
17846
rest: null,
17847
generator: false,
17848
expression: false,
17849
range: [12, 37],
17850
loc: {
17851
start: { line: 1, column: 12 },
17852
end: { line: 1, column: 37 }
17853
}
17854
},
17855
range: [4, 37],
17856
loc: {
17857
start: { line: 1, column: 4 },
17858
end: { line: 1, column: 37 }
17859
}
17860
}],
17861
kind: 'var',
17862
range: [0, 38],
17863
loc: {
17864
start: { line: 1, column: 0 },
17865
end: { line: 1, column: 38 }
17866
}
17867
},
17868
17869
'(function(){})': {
17870
type: 'ExpressionStatement',
17871
expression: {
17872
type: 'FunctionExpression',
17873
id: null,
17874
params: [],
17875
defaults: [],
17876
body: {
17877
type: 'BlockStatement',
17878
body: [],
17879
range: [11, 13],
17880
loc: {
17881
start: { line: 1, column: 11 },
17882
end: { line: 1, column: 13 }
17883
}
17884
},
17885
rest: null,
17886
generator: false,
17887
expression: false,
17888
range: [1, 13],
17889
loc: {
17890
start: { line: 1, column: 1 },
17891
end: { line: 1, column: 13 }
17892
}
17893
},
17894
range: [0, 14],
17895
loc: {
17896
start: { line: 1, column: 0 },
17897
end: { line: 1, column: 14 }
17898
}
17899
},
17900
17901
'function universe(__proto__) { }': {
17902
type: 'FunctionDeclaration',
17903
id: {
17904
type: 'Identifier',
17905
name: 'universe',
17906
range: [9, 17],
17907
loc: {
17908
start: { line: 1, column: 9 },
17909
end: { line: 1, column: 17 }
17910
}
17911
},
17912
params: [{
17913
type: 'Identifier',
17914
name: '__proto__',
17915
range: [18, 27],
17916
loc: {
17917
start: { line: 1, column: 18 },
17918
end: { line: 1, column: 27 }
17919
}
17920
}],
17921
defaults: [],
17922
body: {
17923
type: 'BlockStatement',
17924
body: [],
17925
range: [29, 32],
17926
loc: {
17927
start: { line: 1, column: 29 },
17928
end: { line: 1, column: 32 }
17929
}
17930
},
17931
rest: null,
17932
generator: false,
17933
expression: false,
17934
range: [0, 32],
17935
loc: {
17936
start: { line: 1, column: 0 },
17937
end: { line: 1, column: 32 }
17938
}
17939
},
17940
17941
'function test() { "use strict" + 42; }': {
17942
type: 'FunctionDeclaration',
17943
id: {
17944
type: 'Identifier',
17945
name: 'test',
17946
range: [9, 13],
17947
loc: {
17948
start: { line: 1, column: 9 },
17949
end: { line: 1, column: 13 }
17950
}
17951
},
17952
params: [],
17953
defaults: [],
17954
body: {
17955
type: 'BlockStatement',
17956
body: [{
17957
type: 'ExpressionStatement',
17958
expression: {
17959
type: 'BinaryExpression',
17960
operator: '+',
17961
left: {
17962
type: 'Literal',
17963
value: 'use strict',
17964
raw: '"use strict"',
17965
range: [18, 30],
17966
loc: {
17967
start: { line: 1, column: 18 },
17968
end: { line: 1, column: 30 }
17969
}
17970
},
17971
right: {
17972
type: 'Literal',
17973
value: 42,
17974
raw: '42',
17975
range: [33, 35],
17976
loc: {
17977
start: { line: 1, column: 33 },
17978
end: { line: 1, column: 35 }
17979
}
17980
},
17981
range: [18, 35],
17982
loc: {
17983
start: { line: 1, column: 18 },
17984
end: { line: 1, column: 35 }
17985
}
17986
},
17987
range: [18, 36],
17988
loc: {
17989
start: { line: 1, column: 18 },
17990
end: { line: 1, column: 36 }
17991
}
17992
}],
17993
range: [16, 38],
17994
loc: {
17995
start: { line: 1, column: 16 },
17996
end: { line: 1, column: 38 }
17997
}
17998
},
17999
rest: null,
18000
generator: false,
18001
expression: false,
18002
range: [0, 38],
18003
loc: {
18004
start: { line: 1, column: 0 },
18005
end: { line: 1, column: 38 }
18006
}
18007
}
18008
18009
},
18010
18011
'Automatic semicolon insertion': {
18012
18013
'{ x\n++y }': {
18014
type: 'BlockStatement',
18015
body: [{
18016
type: 'ExpressionStatement',
18017
expression: {
18018
type: 'Identifier',
18019
name: 'x',
18020
range: [2, 3],
18021
loc: {
18022
start: { line: 1, column: 2 },
18023
end: { line: 1, column: 3 }
18024
}
18025
},
18026
range: [2, 3],
18027
loc: {
18028
start: { line: 1, column: 2 },
18029
end: { line: 1, column: 3 }
18030
}
18031
}, {
18032
type: 'ExpressionStatement',
18033
expression: {
18034
type: 'UpdateExpression',
18035
operator: '++',
18036
argument: {
18037
type: 'Identifier',
18038
name: 'y',
18039
range: [6, 7],
18040
loc: {
18041
start: { line: 2, column: 2 },
18042
end: { line: 2, column: 3 }
18043
}
18044
},
18045
prefix: true,
18046
range: [4, 7],
18047
loc: {
18048
start: { line: 2, column: 0 },
18049
end: { line: 2, column: 3 }
18050
}
18051
},
18052
range: [4, 8],
18053
loc: {
18054
start: { line: 2, column: 0 },
18055
end: { line: 2, column: 4 }
18056
}
18057
}],
18058
range: [0, 9],
18059
loc: {
18060
start: { line: 1, column: 0 },
18061
end: { line: 2, column: 5 }
18062
}
18063
},
18064
18065
'{ x\n--y }': {
18066
type: 'BlockStatement',
18067
body: [{
18068
type: 'ExpressionStatement',
18069
expression: {
18070
type: 'Identifier',
18071
name: 'x',
18072
range: [2, 3],
18073
loc: {
18074
start: { line: 1, column: 2 },
18075
end: { line: 1, column: 3 }
18076
}
18077
},
18078
range: [2, 3],
18079
loc: {
18080
start: { line: 1, column: 2 },
18081
end: { line: 1, column: 3 }
18082
}
18083
}, {
18084
type: 'ExpressionStatement',
18085
expression: {
18086
type: 'UpdateExpression',
18087
operator: '--',
18088
argument: {
18089
type: 'Identifier',
18090
name: 'y',
18091
range: [6, 7],
18092
loc: {
18093
start: { line: 2, column: 2 },
18094
end: { line: 2, column: 3 }
18095
}
18096
},
18097
prefix: true,
18098
range: [4, 7],
18099
loc: {
18100
start: { line: 2, column: 0 },
18101
end: { line: 2, column: 3 }
18102
}
18103
},
18104
range: [4, 8],
18105
loc: {
18106
start: { line: 2, column: 0 },
18107
end: { line: 2, column: 4 }
18108
}
18109
}],
18110
range: [0, 9],
18111
loc: {
18112
start: { line: 1, column: 0 },
18113
end: { line: 2, column: 5 }
18114
}
18115
},
18116
18117
'var x /* comment */;': {
18118
type: 'VariableDeclaration',
18119
declarations: [{
18120
type: 'VariableDeclarator',
18121
id: {
18122
type: 'Identifier',
18123
name: 'x',
18124
range: [4, 5],
18125
loc: {
18126
start: { line: 1, column: 4 },
18127
end: { line: 1, column: 5 }
18128
}
18129
},
18130
init: null,
18131
range: [4, 5],
18132
loc: {
18133
start: { line: 1, column: 4 },
18134
end: { line: 1, column: 5 }
18135
}
18136
}],
18137
kind: 'var',
18138
range: [0, 20],
18139
loc: {
18140
start: { line: 1, column: 0 },
18141
end: { line: 1, column: 20 }
18142
}
18143
},
18144
18145
'{ var x = 14, y = 3\nz; }': {
18146
type: 'BlockStatement',
18147
body: [{
18148
type: 'VariableDeclaration',
18149
declarations: [{
18150
type: 'VariableDeclarator',
18151
id: {
18152
type: 'Identifier',
18153
name: 'x',
18154
range: [6, 7],
18155
loc: {
18156
start: { line: 1, column: 6 },
18157
end: { line: 1, column: 7 }
18158
}
18159
},
18160
init: {
18161
type: 'Literal',
18162
value: 14,
18163
raw: '14',
18164
range: [10, 12],
18165
loc: {
18166
start: { line: 1, column: 10 },
18167
end: { line: 1, column: 12 }
18168
}
18169
},
18170
range: [6, 12],
18171
loc: {
18172
start: { line: 1, column: 6 },
18173
end: { line: 1, column: 12 }
18174
}
18175
}, {
18176
type: 'VariableDeclarator',
18177
id: {
18178
type: 'Identifier',
18179
name: 'y',
18180
range: [14, 15],
18181
loc: {
18182
start: { line: 1, column: 14 },
18183
end: { line: 1, column: 15 }
18184
}
18185
},
18186
init: {
18187
type: 'Literal',
18188
value: 3,
18189
raw: '3',
18190
range: [18, 19],
18191
loc: {
18192
start: { line: 1, column: 18 },
18193
end: { line: 1, column: 19 }
18194
}
18195
},
18196
range: [14, 19],
18197
loc: {
18198
start: { line: 1, column: 14 },
18199
end: { line: 1, column: 19 }
18200
}
18201
}],
18202
kind: 'var',
18203
range: [2, 19],
18204
loc: {
18205
start: { line: 1, column: 2 },
18206
end: { line: 1, column: 19 }
18207
}
18208
}, {
18209
type: 'ExpressionStatement',
18210
expression: {
18211
type: 'Identifier',
18212
name: 'z',
18213
range: [20, 21],
18214
loc: {
18215
start: { line: 2, column: 0 },
18216
end: { line: 2, column: 1 }
18217
}
18218
},
18219
range: [20, 22],
18220
loc: {
18221
start: { line: 2, column: 0 },
18222
end: { line: 2, column: 2 }
18223
}
18224
}],
18225
range: [0, 24],
18226
loc: {
18227
start: { line: 1, column: 0 },
18228
end: { line: 2, column: 4 }
18229
}
18230
},
18231
18232
'while (true) { continue\nthere; }': {
18233
type: 'WhileStatement',
18234
test: {
18235
type: 'Literal',
18236
value: true,
18237
raw: 'true',
18238
range: [7, 11],
18239
loc: {
18240
start: { line: 1, column: 7 },
18241
end: { line: 1, column: 11 }
18242
}
18243
},
18244
body: {
18245
type: 'BlockStatement',
18246
body: [{
18247
type: 'ContinueStatement',
18248
label: null,
18249
range: [15, 23],
18250
loc: {
18251
start: { line: 1, column: 15 },
18252
end: { line: 1, column: 23 }
18253
}
18254
}, {
18255
type: 'ExpressionStatement',
18256
expression: {
18257
type: 'Identifier',
18258
name: 'there',
18259
range: [24, 29],
18260
loc: {
18261
start: { line: 2, column: 0 },
18262
end: { line: 2, column: 5 }
18263
}
18264
},
18265
range: [24, 30],
18266
loc: {
18267
start: { line: 2, column: 0 },
18268
end: { line: 2, column: 6 }
18269
}
18270
}],
18271
range: [13, 32],
18272
loc: {
18273
start: { line: 1, column: 13 },
18274
end: { line: 2, column: 8 }
18275
}
18276
},
18277
range: [0, 32],
18278
loc: {
18279
start: { line: 1, column: 0 },
18280
end: { line: 2, column: 8 }
18281
}
18282
},
18283
18284
'while (true) { continue // Comment\nthere; }': {
18285
type: 'WhileStatement',
18286
test: {
18287
type: 'Literal',
18288
value: true,
18289
raw: 'true',
18290
range: [7, 11],
18291
loc: {
18292
start: { line: 1, column: 7 },
18293
end: { line: 1, column: 11 }
18294
}
18295
},
18296
body: {
18297
type: 'BlockStatement',
18298
body: [{
18299
type: 'ContinueStatement',
18300
label: null,
18301
range: [15, 23],
18302
loc: {
18303
start: { line: 1, column: 15 },
18304
end: { line: 1, column: 23 }
18305
}
18306
}, {
18307
type: 'ExpressionStatement',
18308
expression: {
18309
type: 'Identifier',
18310
name: 'there',
18311
range: [35, 40],
18312
loc: {
18313
start: { line: 2, column: 0 },
18314
end: { line: 2, column: 5 }
18315
}
18316
},
18317
range: [35, 41],
18318
loc: {
18319
start: { line: 2, column: 0 },
18320
end: { line: 2, column: 6 }
18321
}
18322
}],
18323
range: [13, 43],
18324
loc: {
18325
start: { line: 1, column: 13 },
18326
end: { line: 2, column: 8 }
18327
}
18328
},
18329
range: [0, 43],
18330
loc: {
18331
start: { line: 1, column: 0 },
18332
end: { line: 2, column: 8 }
18333
}
18334
},
18335
18336
'while (true) { continue /* Multiline\nComment */there; }': {
18337
type: 'WhileStatement',
18338
test: {
18339
type: 'Literal',
18340
value: true,
18341
raw: 'true',
18342
range: [7, 11],
18343
loc: {
18344
start: { line: 1, column: 7 },
18345
end: { line: 1, column: 11 }
18346
}
18347
},
18348
body: {
18349
type: 'BlockStatement',
18350
body: [{
18351
type: 'ContinueStatement',
18352
label: null,
18353
range: [15, 23],
18354
loc: {
18355
start: { line: 1, column: 15 },
18356
end: { line: 1, column: 23 }
18357
}
18358
}, {
18359
type: 'ExpressionStatement',
18360
expression: {
18361
type: 'Identifier',
18362
name: 'there',
18363
range: [47, 52],
18364
loc: {
18365
start: { line: 2, column: 10 },
18366
end: { line: 2, column: 15 }
18367
}
18368
},
18369
range: [47, 53],
18370
loc: {
18371
start: { line: 2, column: 10 },
18372
end: { line: 2, column: 16 }
18373
}
18374
}],
18375
range: [13, 55],
18376
loc: {
18377
start: { line: 1, column: 13 },
18378
end: { line: 2, column: 18 }
18379
}
18380
},
18381
range: [0, 55],
18382
loc: {
18383
start: { line: 1, column: 0 },
18384
end: { line: 2, column: 18 }
18385
}
18386
},
18387
18388
'while (true) { break\nthere; }': {
18389
type: 'WhileStatement',
18390
test: {
18391
type: 'Literal',
18392
value: true,
18393
raw: 'true',
18394
range: [7, 11],
18395
loc: {
18396
start: { line: 1, column: 7 },
18397
end: { line: 1, column: 11 }
18398
}
18399
},
18400
body: {
18401
type: 'BlockStatement',
18402
body: [{
18403
type: 'BreakStatement',
18404
label: null,
18405
range: [15, 20],
18406
loc: {
18407
start: { line: 1, column: 15 },
18408
end: { line: 1, column: 20 }
18409
}
18410
}, {
18411
type: 'ExpressionStatement',
18412
expression: {
18413
type: 'Identifier',
18414
name: 'there',
18415
range: [21, 26],
18416
loc: {
18417
start: { line: 2, column: 0 },
18418
end: { line: 2, column: 5 }
18419
}
18420
},
18421
range: [21, 27],
18422
loc: {
18423
start: { line: 2, column: 0 },
18424
end: { line: 2, column: 6 }
18425
}
18426
}],
18427
range: [13, 29],
18428
loc: {
18429
start: { line: 1, column: 13 },
18430
end: { line: 2, column: 8 }
18431
}
18432
},
18433
range: [0, 29],
18434
loc: {
18435
start: { line: 1, column: 0 },
18436
end: { line: 2, column: 8 }
18437
}
18438
},
18439
18440
'while (true) { break // Comment\nthere; }': {
18441
type: 'WhileStatement',
18442
test: {
18443
type: 'Literal',
18444
value: true,
18445
raw: 'true',
18446
range: [7, 11],
18447
loc: {
18448
start: { line: 1, column: 7 },
18449
end: { line: 1, column: 11 }
18450
}
18451
},
18452
body: {
18453
type: 'BlockStatement',
18454
body: [{
18455
type: 'BreakStatement',
18456
label: null,
18457
range: [15, 20],
18458
loc: {
18459
start: { line: 1, column: 15 },
18460
end: { line: 1, column: 20 }
18461
}
18462
}, {
18463
type: 'ExpressionStatement',
18464
expression: {
18465
type: 'Identifier',
18466
name: 'there',
18467
range: [32, 37],
18468
loc: {
18469
start: { line: 2, column: 0 },
18470
end: { line: 2, column: 5 }
18471
}
18472
},
18473
range: [32, 38],
18474
loc: {
18475
start: { line: 2, column: 0 },
18476
end: { line: 2, column: 6 }
18477
}
18478
}],
18479
range: [13, 40],
18480
loc: {
18481
start: { line: 1, column: 13 },
18482
end: { line: 2, column: 8 }
18483
}
18484
},
18485
range: [0, 40],
18486
loc: {
18487
start: { line: 1, column: 0 },
18488
end: { line: 2, column: 8 }
18489
}
18490
},
18491
18492
'while (true) { break /* Multiline\nComment */there; }': {
18493
type: 'WhileStatement',
18494
test: {
18495
type: 'Literal',
18496
value: true,
18497
raw: 'true',
18498
range: [7, 11],
18499
loc: {
18500
start: { line: 1, column: 7 },
18501
end: { line: 1, column: 11 }
18502
}
18503
},
18504
body: {
18505
type: 'BlockStatement',
18506
body: [{
18507
type: 'BreakStatement',
18508
label: null,
18509
range: [15, 20],
18510
loc: {
18511
start: { line: 1, column: 15 },
18512
end: { line: 1, column: 20 }
18513
}
18514
}, {
18515
type: 'ExpressionStatement',
18516
expression: {
18517
type: 'Identifier',
18518
name: 'there',
18519
range: [44, 49],
18520
loc: {
18521
start: { line: 2, column: 10 },
18522
end: { line: 2, column: 15 }
18523
}
18524
},
18525
range: [44, 50],
18526
loc: {
18527
start: { line: 2, column: 10 },
18528
end: { line: 2, column: 16 }
18529
}
18530
}],
18531
range: [13, 52],
18532
loc: {
18533
start: { line: 1, column: 13 },
18534
end: { line: 2, column: 18 }
18535
}
18536
},
18537
range: [0, 52],
18538
loc: {
18539
start: { line: 1, column: 0 },
18540
end: { line: 2, column: 18 }
18541
}
18542
},
18543
18544
'(function(){ return\nx; })': {
18545
type: 'ExpressionStatement',
18546
expression: {
18547
type: 'FunctionExpression',
18548
id: null,
18549
params: [],
18550
defaults: [],
18551
body: {
18552
type: 'BlockStatement',
18553
body: [
18554
{
18555
type: 'ReturnStatement',
18556
argument: null,
18557
range: [13, 19],
18558
loc: {
18559
start: { line: 1, column: 13 },
18560
end: { line: 1, column: 19 }
18561
}
18562
},
18563
{
18564
type: 'ExpressionStatement',
18565
expression: {
18566
type: 'Identifier',
18567
name: 'x',
18568
range: [20, 21],
18569
loc: {
18570
start: { line: 2, column: 0 },
18571
end: { line: 2, column: 1 }
18572
}
18573
},
18574
range: [20, 22],
18575
loc: {
18576
start: { line: 2, column: 0 },
18577
end: { line: 2, column: 2 }
18578
}
18579
}
18580
],
18581
range: [11, 24],
18582
loc: {
18583
start: { line: 1, column: 11 },
18584
end: { line: 2, column: 4 }
18585
}
18586
},
18587
rest: null,
18588
generator: false,
18589
expression: false,
18590
range: [1, 24],
18591
loc: {
18592
start: { line: 1, column: 1 },
18593
end: { line: 2, column: 4 }
18594
}
18595
},
18596
range: [0, 25],
18597
loc: {
18598
start: { line: 1, column: 0 },
18599
end: { line: 2, column: 5 }
18600
}
18601
},
18602
18603
'(function(){ return // Comment\nx; })': {
18604
type: 'ExpressionStatement',
18605
expression: {
18606
type: 'FunctionExpression',
18607
id: null,
18608
params: [],
18609
defaults: [],
18610
body: {
18611
type: 'BlockStatement',
18612
body: [
18613
{
18614
type: 'ReturnStatement',
18615
argument: null,
18616
range: [13, 19],
18617
loc: {
18618
start: { line: 1, column: 13 },
18619
end: { line: 1, column: 19 }
18620
}
18621
},
18622
{
18623
type: 'ExpressionStatement',
18624
expression: {
18625
type: 'Identifier',
18626
name: 'x',
18627
range: [31, 32],
18628
loc: {
18629
start: { line: 2, column: 0 },
18630
end: { line: 2, column: 1 }
18631
}
18632
},
18633
range: [31, 33],
18634
loc: {
18635
start: { line: 2, column: 0 },
18636
end: { line: 2, column: 2 }
18637
}
18638
}
18639
],
18640
range: [11, 35],
18641
loc: {
18642
start: { line: 1, column: 11 },
18643
end: { line: 2, column: 4 }
18644
}
18645
},
18646
rest: null,
18647
generator: false,
18648
expression: false,
18649
range: [1, 35],
18650
loc: {
18651
start: { line: 1, column: 1 },
18652
end: { line: 2, column: 4 }
18653
}
18654
},
18655
range: [0, 36],
18656
loc: {
18657
start: { line: 1, column: 0 },
18658
end: { line: 2, column: 5 }
18659
}
18660
},
18661
18662
'(function(){ return/* Multiline\nComment */x; })': {
18663
type: 'ExpressionStatement',
18664
expression: {
18665
type: 'FunctionExpression',
18666
id: null,
18667
params: [],
18668
defaults: [],
18669
body: {
18670
type: 'BlockStatement',
18671
body: [
18672
{
18673
type: 'ReturnStatement',
18674
argument: null,
18675
range: [13, 19],
18676
loc: {
18677
start: { line: 1, column: 13 },
18678
end: { line: 1, column: 19 }
18679
}
18680
},
18681
{
18682
type: 'ExpressionStatement',
18683
expression: {
18684
type: 'Identifier',
18685
name: 'x',
18686
range: [42, 43],
18687
loc: {
18688
start: { line: 2, column: 10 },
18689
end: { line: 2, column: 11 }
18690
}
18691
},
18692
range: [42, 44],
18693
loc: {
18694
start: { line: 2, column: 10 },
18695
end: { line: 2, column: 12 }
18696
}
18697
}
18698
],
18699
range: [11, 46],
18700
loc: {
18701
start: { line: 1, column: 11 },
18702
end: { line: 2, column: 14 }
18703
}
18704
},
18705
rest: null,
18706
generator: false,
18707
expression: false,
18708
range: [1, 46],
18709
loc: {
18710
start: { line: 1, column: 1 },
18711
end: { line: 2, column: 14 }
18712
}
18713
},
18714
range: [0, 47],
18715
loc: {
18716
start: { line: 1, column: 0 },
18717
end: { line: 2, column: 15 }
18718
}
18719
},
18720
18721
'{ throw error\nerror; }': {
18722
type: 'BlockStatement',
18723
body: [{
18724
type: 'ThrowStatement',
18725
argument: {
18726
type: 'Identifier',
18727
name: 'error',
18728
range: [8, 13],
18729
loc: {
18730
start: { line: 1, column: 8 },
18731
end: { line: 1, column: 13 }
18732
}
18733
},
18734
range: [2, 13],
18735
loc: {
18736
start: { line: 1, column: 2 },
18737
end: { line: 1, column: 13 }
18738
}
18739
}, {
18740
type: 'ExpressionStatement',
18741
expression: {
18742
type: 'Identifier',
18743
name: 'error',
18744
range: [14, 19],
18745
loc: {
18746
start: { line: 2, column: 0 },
18747
end: { line: 2, column: 5 }
18748
}
18749
},
18750
range: [14, 20],
18751
loc: {
18752
start: { line: 2, column: 0 },
18753
end: { line: 2, column: 6 }
18754
}
18755
}],
18756
range: [0, 22],
18757
loc: {
18758
start: { line: 1, column: 0 },
18759
end: { line: 2, column: 8 }
18760
}
18761
},
18762
18763
'{ throw error// Comment\nerror; }': {
18764
type: 'BlockStatement',
18765
body: [{
18766
type: 'ThrowStatement',
18767
argument: {
18768
type: 'Identifier',
18769
name: 'error',
18770
range: [8, 13],
18771
loc: {
18772
start: { line: 1, column: 8 },
18773
end: { line: 1, column: 13 }
18774
}
18775
},
18776
range: [2, 13],
18777
loc: {
18778
start: { line: 1, column: 2 },
18779
end: { line: 1, column: 13 }
18780
}
18781
}, {
18782
type: 'ExpressionStatement',
18783
expression: {
18784
type: 'Identifier',
18785
name: 'error',
18786
range: [24, 29],
18787
loc: {
18788
start: { line: 2, column: 0 },
18789
end: { line: 2, column: 5 }
18790
}
18791
},
18792
range: [24, 30],
18793
loc: {
18794
start: { line: 2, column: 0 },
18795
end: { line: 2, column: 6 }
18796
}
18797
}],
18798
range: [0, 32],
18799
loc: {
18800
start: { line: 1, column: 0 },
18801
end: { line: 2, column: 8 }
18802
}
18803
},
18804
18805
'{ throw error/* Multiline\nComment */error; }': {
18806
type: 'BlockStatement',
18807
body: [{
18808
type: 'ThrowStatement',
18809
argument: {
18810
type: 'Identifier',
18811
name: 'error',
18812
range: [8, 13],
18813
loc: {
18814
start: { line: 1, column: 8 },
18815
end: { line: 1, column: 13 }
18816
}
18817
},
18818
range: [2, 13],
18819
loc: {
18820
start: { line: 1, column: 2 },
18821
end: { line: 1, column: 13 }
18822
}
18823
}, {
18824
type: 'ExpressionStatement',
18825
expression: {
18826
type: 'Identifier',
18827
name: 'error',
18828
range: [36, 41],
18829
loc: {
18830
start: { line: 2, column: 10 },
18831
end: { line: 2, column: 15 }
18832
}
18833
},
18834
range: [36, 42],
18835
loc: {
18836
start: { line: 2, column: 10 },
18837
end: { line: 2, column: 16 }
18838
}
18839
}],
18840
range: [0, 44],
18841
loc: {
18842
start: { line: 1, column: 0 },
18843
end: { line: 2, column: 18 }
18844
}
18845
}
18846
18847
},
18848
18849
'Directive Prolog': {
18850
18851
'(function () { \'use\\x20strict\'; with (i); }())': {
18852
type: 'ExpressionStatement',
18853
expression: {
18854
type: 'CallExpression',
18855
callee: {
18856
type: 'FunctionExpression',
18857
id: null,
18858
params: [],
18859
defaults: [],
18860
body: {
18861
type: 'BlockStatement',
18862
body: [{
18863
type: 'ExpressionStatement',
18864
expression: {
18865
type: 'Literal',
18866
value: 'use strict',
18867
raw: '\'use\\x20strict\'',
18868
range: [15, 30],
18869
loc: {
18870
start: { line: 1, column: 15 },
18871
end: { line: 1, column: 30 }
18872
}
18873
},
18874
range: [15, 31],
18875
loc: {
18876
start: { line: 1, column: 15 },
18877
end: { line: 1, column: 31 }
18878
}
18879
}, {
18880
type: 'WithStatement',
18881
object: {
18882
type: 'Identifier',
18883
name: 'i',
18884
range: [38, 39],
18885
loc: {
18886
start: { line: 1, column: 38 },
18887
end: { line: 1, column: 39 }
18888
}
18889
},
18890
body: {
18891
type: 'EmptyStatement',
18892
range: [40, 41],
18893
loc: {
18894
start: { line: 1, column: 40 },
18895
end: { line: 1, column: 41 }
18896
}
18897
},
18898
range: [32, 41],
18899
loc: {
18900
start: { line: 1, column: 32 },
18901
end: { line: 1, column: 41 }
18902
}
18903
}],
18904
range: [13, 43],
18905
loc: {
18906
start: { line: 1, column: 13 },
18907
end: { line: 1, column: 43 }
18908
}
18909
},
18910
rest: null,
18911
generator: false,
18912
expression: false,
18913
range: [1, 43],
18914
loc: {
18915
start: { line: 1, column: 1 },
18916
end: { line: 1, column: 43 }
18917
}
18918
},
18919
'arguments': [],
18920
range: [1, 45],
18921
loc: {
18922
start: { line: 1, column: 1 },
18923
end: { line: 1, column: 45 }
18924
}
18925
},
18926
range: [0, 46],
18927
loc: {
18928
start: { line: 1, column: 0 },
18929
end: { line: 1, column: 46 }
18930
}
18931
},
18932
18933
'(function () { \'use\\nstrict\'; with (i); }())': {
18934
type: 'ExpressionStatement',
18935
expression: {
18936
type: 'CallExpression',
18937
callee: {
18938
type: 'FunctionExpression',
18939
id: null,
18940
params: [],
18941
defaults: [],
18942
body: {
18943
type: 'BlockStatement',
18944
body: [{
18945
type: 'ExpressionStatement',
18946
expression: {
18947
type: 'Literal',
18948
value: 'use\nstrict',
18949
raw: '\'use\\nstrict\'',
18950
range: [15, 28],
18951
loc: {
18952
start: { line: 1, column: 15 },
18953
end: { line: 1, column: 28 }
18954
}
18955
},
18956
range: [15, 29],
18957
loc: {
18958
start: { line: 1, column: 15 },
18959
end: { line: 1, column: 29 }
18960
}
18961
}, {
18962
type: 'WithStatement',
18963
object: {
18964
type: 'Identifier',
18965
name: 'i',
18966
range: [36, 37],
18967
loc: {
18968
start: { line: 1, column: 36 },
18969
end: { line: 1, column: 37 }
18970
}
18971
},
18972
body: {
18973
type: 'EmptyStatement',
18974
range: [38, 39],
18975
loc: {
18976
start: { line: 1, column: 38 },
18977
end: { line: 1, column: 39 }
18978
}
18979
},
18980
range: [30, 39],
18981
loc: {
18982
start: { line: 1, column: 30 },
18983
end: { line: 1, column: 39 }
18984
}
18985
}],
18986
range: [13, 41],
18987
loc: {
18988
start: { line: 1, column: 13 },
18989
end: { line: 1, column: 41 }
18990
}
18991
},
18992
rest: null,
18993
generator: false,
18994
expression: false,
18995
range: [1, 41],
18996
loc: {
18997
start: { line: 1, column: 1 },
18998
end: { line: 1, column: 41 }
18999
}
19000
},
19001
'arguments': [],
19002
range: [1, 43],
19003
loc: {
19004
start: { line: 1, column: 1 },
19005
end: { line: 1, column: 43 }
19006
}
19007
},
19008
range: [0, 44],
19009
loc: {
19010
start: { line: 1, column: 0 },
19011
end: { line: 1, column: 44 }
19012
}
19013
}
19014
19015
},
19016
19017
'Whitespace': {
19018
19019
'new\x20\x09\x0B\x0C\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFFa': {
19020
type: 'ExpressionStatement',
19021
expression: {
19022
type: 'NewExpression',
19023
callee: {
19024
type: 'Identifier',
19025
name: 'a',
19026
range: [25, 26],
19027
loc: {
19028
start: {line: 1, column: 25},
19029
end: {line: 1, column: 26}
19030
}
19031
},
19032
arguments: [],
19033
range: [0, 26],
19034
loc: {
19035
start: {line: 1, column: 0},
19036
end: {line: 1, column: 26}
19037
}
19038
},
19039
range: [0, 26],
19040
loc: {
19041
start: {line: 1, column: 0},
19042
end: {line: 1, column: 26}
19043
}
19044
},
19045
19046
'{0\x0A1\x0D2\u20283\u20294}': {
19047
type: 'BlockStatement',
19048
body: [
19049
{
19050
type: 'ExpressionStatement',
19051
expression: {
19052
type: 'Literal',
19053
value: 0,
19054
raw: '0',
19055
range: [1, 2],
19056
loc: {
19057
start: {line: 1, column: 1},
19058
end: {line: 1, column: 2}
19059
}
19060
},
19061
range: [1, 2],
19062
loc: {
19063
start: {line: 1, column: 1},
19064
end: {line: 1, column: 2}
19065
}
19066
},
19067
{
19068
type: 'ExpressionStatement',
19069
expression: {
19070
type: 'Literal',
19071
value: 1,
19072
raw: '1',
19073
range: [3, 4],
19074
loc: {
19075
start: {line: 2, column: 0},
19076
end: {line: 2, column: 1}
19077
}
19078
},
19079
range: [3, 4],
19080
loc: {
19081
start: {line: 2, column: 0},
19082
end: {line: 2, column: 1}
19083
}
19084
},
19085
{
19086
type: 'ExpressionStatement',
19087
expression: {
19088
type: 'Literal',
19089
value: 2,
19090
raw: '2',
19091
range: [5, 6],
19092
loc: {
19093
start: {line: 3, column: 0},
19094
end: {line: 3, column: 1}
19095
}
19096
},
19097
range: [5, 6],
19098
loc: {
19099
start: {line: 3, column: 0},
19100
end: {line: 3, column: 1}
19101
}
19102
},
19103
{
19104
type: 'ExpressionStatement',
19105
expression: {
19106
type: 'Literal',
19107
value: 3,
19108
raw: '3',
19109
range: [7, 8],
19110
loc: {
19111
start: {line: 4, column: 0},
19112
end: {line: 4, column: 1}
19113
}
19114
},
19115
range: [7, 8],
19116
loc: {
19117
start: {line: 4, column: 0},
19118
end: {line: 4, column: 1}
19119
}
19120
},
19121
{
19122
type: 'ExpressionStatement',
19123
expression: {
19124
type: 'Literal',
19125
value: 4,
19126
raw: '4',
19127
range: [9, 10],
19128
loc: {
19129
start: {line: 5, column: 0},
19130
end: {line: 5, column: 1}
19131
}
19132
},
19133
range: [9, 10],
19134
loc: {
19135
start: {line: 5, column: 0},
19136
end: {line: 5, column: 1}
19137
}
19138
}
19139
],
19140
range: [0, 11],
19141
loc: {
19142
start: {line: 1, column: 0},
19143
end: {line: 5, column: 2}
19144
}
19145
}
19146
19147
},
19148
19149
'Source elements': {
19150
19151
'': {
19152
type: 'Program',
19153
body: [],
19154
range: [0, 0],
19155
loc: {
19156
start: { line: 0, column: 0 },
19157
end: { line: 0, column: 0 }
19158
},
19159
tokens: []
19160
}
19161
},
19162
19163
'Source option': {
19164
'x + y - z': {
19165
type: 'ExpressionStatement',
19166
expression: {
19167
type: 'BinaryExpression',
19168
operator: '-',
19169
left: {
19170
type: 'BinaryExpression',
19171
operator: '+',
19172
left: {
19173
type: 'Identifier',
19174
name: 'x',
19175
range: [0, 1],
19176
loc: {
19177
start: { line: 1, column: 0 },
19178
end: { line: 1, column: 1 },
19179
source: '42.js'
19180
}
19181
},
19182
right: {
19183
type: 'Identifier',
19184
name: 'y',
19185
range: [4, 5],
19186
loc: {
19187
start: { line: 1, column: 4 },
19188
end: { line: 1, column: 5 },
19189
source: '42.js'
19190
}
19191
},
19192
range: [0, 5],
19193
loc: {
19194
start: { line: 1, column: 0 },
19195
end: { line: 1, column: 5 },
19196
source: '42.js'
19197
}
19198
},
19199
right: {
19200
type: 'Identifier',
19201
name: 'z',
19202
range: [8, 9],
19203
loc: {
19204
start: { line: 1, column: 8 },
19205
end: { line: 1, column: 9 },
19206
source: '42.js'
19207
}
19208
},
19209
range: [0, 9],
19210
loc: {
19211
start: { line: 1, column: 0 },
19212
end: { line: 1, column: 9 },
19213
source: '42.js'
19214
}
19215
},
19216
range: [0, 9],
19217
loc: {
19218
start: { line: 1, column: 0 },
19219
end: { line: 1, column: 9 },
19220
source: '42.js'
19221
}
19222
},
19223
19224
'a + (b < (c * d)) + e': {
19225
type: 'ExpressionStatement',
19226
expression: {
19227
type: 'BinaryExpression',
19228
operator: '+',
19229
left: {
19230
type: 'BinaryExpression',
19231
operator: '+',
19232
left: {
19233
type: 'Identifier',
19234
name: 'a',
19235
range: [0, 1],
19236
loc: {
19237
start: { line: 1, column: 0 },
19238
end: { line: 1, column: 1 },
19239
source: '42.js'
19240
}
19241
},
19242
right: {
19243
type: 'BinaryExpression',
19244
operator: '<',
19245
left: {
19246
type: 'Identifier',
19247
name: 'b',
19248
range: [5, 6],
19249
loc: {
19250
start: { line: 1, column: 5 },
19251
end: { line: 1, column: 6 },
19252
source: '42.js'
19253
}
19254
},
19255
right: {
19256
type: 'BinaryExpression',
19257
operator: '*',
19258
left: {
19259
type: 'Identifier',
19260
name: 'c',
19261
range: [10, 11],
19262
loc: {
19263
start: { line: 1, column: 10 },
19264
end: { line: 1, column: 11 },
19265
source: '42.js'
19266
}
19267
},
19268
right: {
19269
type: 'Identifier',
19270
name: 'd',
19271
range: [14, 15],
19272
loc: {
19273
start: { line: 1, column: 14 },
19274
end: { line: 1, column: 15 },
19275
source: '42.js'
19276
}
19277
},
19278
range: [10, 15],
19279
loc: {
19280
start: { line: 1, column: 10 },
19281
end: { line: 1, column: 15 },
19282
source: '42.js'
19283
}
19284
},
19285
range: [5, 16],
19286
loc: {
19287
start: { line: 1, column: 5 },
19288
end: { line: 1, column: 16 },
19289
source: '42.js'
19290
}
19291
},
19292
range: [0, 17],
19293
loc: {
19294
start: { line: 1, column: 0 },
19295
end: { line: 1, column: 17 },
19296
source: '42.js'
19297
}
19298
},
19299
right: {
19300
type: 'Identifier',
19301
name: 'e',
19302
range: [20, 21],
19303
loc: {
19304
start: { line: 1, column: 20 },
19305
end: { line: 1, column: 21 },
19306
source: '42.js'
19307
}
19308
},
19309
range: [0, 21],
19310
loc: {
19311
start: { line: 1, column: 0 },
19312
end: { line: 1, column: 21 },
19313
source: '42.js'
19314
}
19315
},
19316
range: [0, 21],
19317
loc: {
19318
start: { line: 1, column: 0 },
19319
end: { line: 1, column: 21 },
19320
source: '42.js'
19321
}
19322
}
19323
19324
},
19325
19326
19327
'Invalid syntax': {
19328
19329
'{': {
19330
index: 1,
19331
lineNumber: 1,
19332
column: 2,
19333
message: 'Error: Line 1: Unexpected end of input'
19334
},
19335
19336
'}': {
19337
index: 0,
19338
lineNumber: 1,
19339
column: 1,
19340
message: 'Error: Line 1: Unexpected token }'
19341
},
19342
19343
'3ea': {
19344
index: 2,
19345
lineNumber: 1,
19346
column: 3,
19347
message: 'Error: Line 1: Unexpected token ILLEGAL'
19348
},
19349
19350
'3in []': {
19351
index: 1,
19352
lineNumber: 1,
19353
column: 2,
19354
message: 'Error: Line 1: Unexpected token ILLEGAL'
19355
},
19356
19357
'3e': {
19358
index: 2,
19359
lineNumber: 1,
19360
column: 3,
19361
message: 'Error: Line 1: Unexpected token ILLEGAL'
19362
},
19363
19364
'3e+': {
19365
index: 3,
19366
lineNumber: 1,
19367
column: 4,
19368
message: 'Error: Line 1: Unexpected token ILLEGAL'
19369
},
19370
19371
'3e-': {
19372
index: 3,
19373
lineNumber: 1,
19374
column: 4,
19375
message: 'Error: Line 1: Unexpected token ILLEGAL'
19376
},
19377
19378
'3x': {
19379
index: 1,
19380
lineNumber: 1,
19381
column: 2,
19382
message: 'Error: Line 1: Unexpected token ILLEGAL'
19383
},
19384
19385
'3x0': {
19386
index: 1,
19387
lineNumber: 1,
19388
column: 2,
19389
message: 'Error: Line 1: Unexpected token ILLEGAL'
19390
},
19391
19392
'0x': {
19393
index: 2,
19394
lineNumber: 1,
19395
column: 3,
19396
message: 'Error: Line 1: Unexpected token ILLEGAL'
19397
},
19398
19399
'01a': {
19400
index: 2,
19401
lineNumber: 1,
19402
column: 3,
19403
message: 'Error: Line 1: Unexpected token ILLEGAL'
19404
},
19405
19406
'3in[]': {
19407
index: 1,
19408
lineNumber: 1,
19409
column: 2,
19410
message: 'Error: Line 1: Unexpected token ILLEGAL'
19411
},
19412
19413
'0x3in[]': {
19414
index: 3,
19415
lineNumber: 1,
19416
column: 4,
19417
message: 'Error: Line 1: Unexpected token ILLEGAL'
19418
},
19419
19420
'"Hello\nWorld"': {
19421
index: 7,
19422
lineNumber: 1,
19423
column: 8,
19424
message: 'Error: Line 1: Unexpected token ILLEGAL'
19425
},
19426
19427
'x\\': {
19428
index: 2,
19429
lineNumber: 1,
19430
column: 3,
19431
message: 'Error: Line 1: Unexpected token ILLEGAL'
19432
},
19433
19434
'x\\u005c': {
19435
index: 7,
19436
lineNumber: 1,
19437
column: 8,
19438
message: 'Error: Line 1: Unexpected token ILLEGAL'
19439
},
19440
19441
'x\\u002a': {
19442
index: 7,
19443
lineNumber: 1,
19444
column: 8,
19445
message: 'Error: Line 1: Unexpected token ILLEGAL'
19446
},
19447
19448
'var x = /(s/g': {
19449
index: 13,
19450
lineNumber: 1,
19451
column: 14,
19452
message: 'Error: Line 1: Invalid regular expression'
19453
},
19454
19455
'a\\u': {
19456
index: 3,
19457
lineNumber: 1,
19458
column: 4,
19459
message: 'Error: Line 1: Unexpected token ILLEGAL'
19460
},
19461
19462
'\\ua': {
19463
index: 3,
19464
lineNumber: 1,
19465
column: 4,
19466
message: 'Error: Line 1: Unexpected token ILLEGAL'
19467
},
19468
19469
'/': {
19470
index: 1,
19471
lineNumber: 1,
19472
column: 2,
19473
message: 'Error: Line 1: Invalid regular expression: missing /'
19474
},
19475
19476
'/test': {
19477
index: 5,
19478
lineNumber: 1,
19479
column: 6,
19480
message: 'Error: Line 1: Invalid regular expression: missing /'
19481
},
19482
19483
'/test\n/': {
19484
index: 6,
19485
lineNumber: 1,
19486
column: 7,
19487
message: 'Error: Line 1: Invalid regular expression: missing /'
19488
},
19489
19490
'var x = /[a-z]/\\ux': {
19491
index: 17,
19492
lineNumber: 1,
19493
column: 18,
19494
message: 'Error: Line 1: Unexpected token ILLEGAL'
19495
},
19496
19497
'var x = /[a-z\n]/\\ux': {
19498
index: 14,
19499
lineNumber: 1,
19500
column: 15,
19501
message: 'Error: Line 1: Invalid regular expression: missing /'
19502
},
19503
19504
'var x = /[a-z]/\\\\ux': {
19505
index: 16,
19506
lineNumber: 1,
19507
column: 17,
19508
message: 'Error: Line 1: Unexpected token ILLEGAL'
19509
},
19510
19511
'var x = /[P QR]/\\\\u0067': {
19512
index: 17,
19513
lineNumber: 1,
19514
column: 18,
19515
message: 'Error: Line 1: Unexpected token ILLEGAL'
19516
},
19517
19518
'3 = 4': {
19519
index: 1,
19520
lineNumber: 1,
19521
column: 2,
19522
message: 'Error: Line 1: Invalid left-hand side in assignment'
19523
},
19524
19525
'func() = 4': {
19526
index: 6,
19527
lineNumber: 1,
19528
column: 7,
19529
message: 'Error: Line 1: Invalid left-hand side in assignment'
19530
},
19531
19532
'(1 + 1) = 10': {
19533
index: 7,
19534
lineNumber: 1,
19535
column: 8,
19536
message: 'Error: Line 1: Invalid left-hand side in assignment'
19537
},
19538
19539
'1++': {
19540
index: 1,
19541
lineNumber: 1,
19542
column: 2,
19543
message: 'Error: Line 1: Invalid left-hand side in assignment'
19544
},
19545
19546
'1--': {
19547
index: 1,
19548
lineNumber: 1,
19549
column: 2,
19550
message: 'Error: Line 1: Invalid left-hand side in assignment'
19551
},
19552
19553
'++1': {
19554
index: 3,
19555
lineNumber: 1,
19556
column: 4,
19557
message: 'Error: Line 1: Invalid left-hand side in assignment'
19558
},
19559
19560
'--1': {
19561
index: 3,
19562
lineNumber: 1,
19563
column: 4,
19564
message: 'Error: Line 1: Invalid left-hand side in assignment'
19565
},
19566
19567
'for((1 + 1) in list) process(x);': {
19568
index: 11,
19569
lineNumber: 1,
19570
column: 12,
19571
message: 'Error: Line 1: Invalid left-hand side in for-in'
19572
},
19573
19574
'[': {
19575
index: 1,
19576
lineNumber: 1,
19577
column: 2,
19578
message: 'Error: Line 1: Unexpected end of input'
19579
},
19580
19581
'[,': {
19582
index: 2,
19583
lineNumber: 1,
19584
column: 3,
19585
message: 'Error: Line 1: Unexpected end of input'
19586
},
19587
19588
'1 + {': {
19589
index: 5,
19590
lineNumber: 1,
19591
column: 6,
19592
message: 'Error: Line 1: Unexpected end of input'
19593
},
19594
19595
'1 + { t:t ': {
19596
index: 10,
19597
lineNumber: 1,
19598
column: 11,
19599
message: 'Error: Line 1: Unexpected end of input'
19600
},
19601
19602
'1 + { t:t,': {
19603
index: 10,
19604
lineNumber: 1,
19605
column: 11,
19606
message: 'Error: Line 1: Unexpected end of input'
19607
},
19608
19609
'var x = /\n/': {
19610
index: 10,
19611
lineNumber: 1,
19612
column: 11,
19613
message: 'Error: Line 1: Invalid regular expression: missing /'
19614
},
19615
19616
'var x = "\n': {
19617
index: 10,
19618
lineNumber: 1,
19619
column: 11,
19620
message: 'Error: Line 1: Unexpected token ILLEGAL'
19621
},
19622
19623
'var if = 42': {
19624
index: 4,
19625
lineNumber: 1,
19626
column: 5,
19627
message: 'Error: Line 1: Unexpected token if'
19628
},
19629
19630
'i #= 42': {
19631
index: 2,
19632
lineNumber: 1,
19633
column: 3,
19634
message: 'Error: Line 1: Unexpected token ILLEGAL'
19635
},
19636
19637
'i + 2 = 42': {
19638
index: 5,
19639
lineNumber: 1,
19640
column: 6,
19641
message: 'Error: Line 1: Invalid left-hand side in assignment'
19642
},
19643
19644
'+i = 42': {
19645
index: 2,
19646
lineNumber: 1,
19647
column: 3,
19648
message: 'Error: Line 1: Invalid left-hand side in assignment'
19649
},
19650
19651
'1 + (': {
19652
index: 5,
19653
lineNumber: 1,
19654
column: 6,
19655
message: 'Error: Line 1: Unexpected end of input'
19656
},
19657
19658
'\n\n\n{': {
19659
index: 4,
19660
lineNumber: 4,
19661
column: 2,
19662
message: 'Error: Line 4: Unexpected end of input'
19663
},
19664
19665
'\n/* Some multiline\ncomment */\n)': {
19666
index: 30,
19667
lineNumber: 4,
19668
column: 1,
19669
message: 'Error: Line 4: Unexpected token )'
19670
},
19671
19672
'{ set 1 }': {
19673
index: 6,
19674
lineNumber: 1,
19675
column: 7,
19676
message: 'Error: Line 1: Unexpected number'
19677
},
19678
19679
'{ get 2 }': {
19680
index: 6,
19681
lineNumber: 1,
19682
column: 7,
19683
message: 'Error: Line 1: Unexpected number'
19684
},
19685
19686
'({ set: s(if) { } })': {
19687
index: 10,
19688
lineNumber: 1,
19689
column: 11,
19690
message: 'Error: Line 1: Unexpected token if'
19691
},
19692
19693
'({ set s(.) { } })': {
19694
index: 9,
19695
lineNumber: 1,
19696
column: 10,
19697
message: 'Error: Line 1: Unexpected token .'
19698
},
19699
19700
'({ set s() { } })': {
19701
index: 9,
19702
lineNumber: 1,
19703
column: 10,
19704
message: 'Error: Line 1: Unexpected token )'
19705
},
19706
19707
'({ set: s() { } })': {
19708
index: 12,
19709
lineNumber: 1,
19710
column: 13,
19711
message: 'Error: Line 1: Unexpected token {'
19712
},
19713
19714
'({ set: s(a, b) { } })': {
19715
index: 16,
19716
lineNumber: 1,
19717
column: 17,
19718
message: 'Error: Line 1: Unexpected token {'
19719
},
19720
19721
'({ get: g(d) { } })': {
19722
index: 13,
19723
lineNumber: 1,
19724
column: 14,
19725
message: 'Error: Line 1: Unexpected token {'
19726
},
19727
19728
'({ get i() { }, i: 42 })': {
19729
index: 21,
19730
lineNumber: 1,
19731
column: 22,
19732
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
19733
},
19734
19735
'({ i: 42, get i() { } })': {
19736
index: 21,
19737
lineNumber: 1,
19738
column: 22,
19739
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
19740
},
19741
19742
'({ set i(x) { }, i: 42 })': {
19743
index: 22,
19744
lineNumber: 1,
19745
column: 23,
19746
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
19747
},
19748
19749
'({ i: 42, set i(x) { } })': {
19750
index: 22,
19751
lineNumber: 1,
19752
column: 23,
19753
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
19754
},
19755
19756
'({ get i() { }, get i() { } })': {
19757
index: 27,
19758
lineNumber: 1,
19759
column: 28,
19760
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
19761
},
19762
19763
'({ set i(x) { }, set i(x) { } })': {
19764
index: 29,
19765
lineNumber: 1,
19766
column: 30,
19767
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
19768
},
19769
19770
'function t(if) { }': {
19771
index: 11,
19772
lineNumber: 1,
19773
column: 12,
19774
message: 'Error: Line 1: Unexpected token if'
19775
},
19776
19777
'function t(true) { }': {
19778
index: 11,
19779
lineNumber: 1,
19780
column: 12,
19781
message: 'Error: Line 1: Unexpected token true'
19782
},
19783
19784
'function t(false) { }': {
19785
index: 11,
19786
lineNumber: 1,
19787
column: 12,
19788
message: 'Error: Line 1: Unexpected token false'
19789
},
19790
19791
'function t(null) { }': {
19792
index: 11,
19793
lineNumber: 1,
19794
column: 12,
19795
message: 'Error: Line 1: Unexpected token null'
19796
},
19797
19798
'function null() { }': {
19799
index: 9,
19800
lineNumber: 1,
19801
column: 10,
19802
message: 'Error: Line 1: Unexpected token null'
19803
},
19804
19805
'function true() { }': {
19806
index: 9,
19807
lineNumber: 1,
19808
column: 10,
19809
message: 'Error: Line 1: Unexpected token true'
19810
},
19811
19812
'function false() { }': {
19813
index: 9,
19814
lineNumber: 1,
19815
column: 10,
19816
message: 'Error: Line 1: Unexpected token false'
19817
},
19818
19819
'function if() { }': {
19820
index: 9,
19821
lineNumber: 1,
19822
column: 10,
19823
message: 'Error: Line 1: Unexpected token if'
19824
},
19825
19826
'a b;': {
19827
index: 2,
19828
lineNumber: 1,
19829
column: 3,
19830
message: 'Error: Line 1: Unexpected identifier'
19831
},
19832
19833
'if.a;': {
19834
index: 2,
19835
lineNumber: 1,
19836
column: 3,
19837
message: 'Error: Line 1: Unexpected token .'
19838
},
19839
19840
'a if;': {
19841
index: 2,
19842
lineNumber: 1,
19843
column: 3,
19844
message: 'Error: Line 1: Unexpected token if'
19845
},
19846
19847
'a class;': {
19848
index: 2,
19849
lineNumber: 1,
19850
column: 3,
19851
message: 'Error: Line 1: Unexpected reserved word'
19852
},
19853
19854
'break\n': {
19855
index: 5,
19856
lineNumber: 1,
19857
column: 6,
19858
message: 'Error: Line 1: Illegal break statement'
19859
},
19860
19861
'break 1;': {
19862
index: 6,
19863
lineNumber: 1,
19864
column: 7,
19865
message: 'Error: Line 1: Unexpected number'
19866
},
19867
19868
'continue\n': {
19869
index: 8,
19870
lineNumber: 1,
19871
column: 9,
19872
message: 'Error: Line 1: Illegal continue statement'
19873
},
19874
19875
'continue 2;': {
19876
index: 9,
19877
lineNumber: 1,
19878
column: 10,
19879
message: 'Error: Line 1: Unexpected number'
19880
},
19881
19882
'throw': {
19883
index: 5,
19884
lineNumber: 1,
19885
column: 6,
19886
message: 'Error: Line 1: Unexpected end of input'
19887
},
19888
19889
'throw;': {
19890
index: 5,
19891
lineNumber: 1,
19892
column: 6,
19893
message: 'Error: Line 1: Unexpected token ;'
19894
},
19895
19896
'throw\n': {
19897
index: 5,
19898
lineNumber: 1,
19899
column: 6,
19900
message: 'Error: Line 1: Illegal newline after throw'
19901
},
19902
19903
'for (var i, i2 in {});': {
19904
index: 15,
19905
lineNumber: 1,
19906
column: 16,
19907
message: 'Error: Line 1: Unexpected token in'
19908
},
19909
19910
'for ((i in {}));': {
19911
index: 14,
19912
lineNumber: 1,
19913
column: 15,
19914
message: 'Error: Line 1: Unexpected token )'
19915
},
19916
19917
'for (i + 1 in {});': {
19918
index: 10,
19919
lineNumber: 1,
19920
column: 11,
19921
message: 'Error: Line 1: Invalid left-hand side in for-in'
19922
},
19923
19924
'for (+i in {});': {
19925
index: 7,
19926
lineNumber: 1,
19927
column: 8,
19928
message: 'Error: Line 1: Invalid left-hand side in for-in'
19929
},
19930
19931
'if(false)': {
19932
index: 9,
19933
lineNumber: 1,
19934
column: 10,
19935
message: 'Error: Line 1: Unexpected end of input'
19936
},
19937
19938
'if(false) doThis(); else': {
19939
index: 24,
19940
lineNumber: 1,
19941
column: 25,
19942
message: 'Error: Line 1: Unexpected end of input'
19943
},
19944
19945
'do': {
19946
index: 2,
19947
lineNumber: 1,
19948
column: 3,
19949
message: 'Error: Line 1: Unexpected end of input'
19950
},
19951
19952
'while(false)': {
19953
index: 12,
19954
lineNumber: 1,
19955
column: 13,
19956
message: 'Error: Line 1: Unexpected end of input'
19957
},
19958
19959
'for(;;)': {
19960
index: 7,
19961
lineNumber: 1,
19962
column: 8,
19963
message: 'Error: Line 1: Unexpected end of input'
19964
},
19965
19966
'with(x)': {
19967
index: 7,
19968
lineNumber: 1,
19969
column: 8,
19970
message: 'Error: Line 1: Unexpected end of input'
19971
},
19972
19973
'try { }': {
19974
index: 7,
19975
lineNumber: 1,
19976
column: 8,
19977
message: 'Error: Line 1: Missing catch or finally after try'
19978
},
19979
19980
'try {} catch (42) {} ': {
19981
index: 14,
19982
lineNumber: 1,
19983
column: 15,
19984
message: 'Error: Line 1: Unexpected number'
19985
},
19986
19987
'try {} catch (answer()) {} ': {
19988
index: 20,
19989
lineNumber: 1,
19990
column: 21,
19991
message: 'Error: Line 1: Unexpected token ('
19992
},
19993
19994
'try {} catch (-x) {} ': {
19995
index: 14,
19996
lineNumber: 1,
19997
column: 15,
19998
message: 'Error: Line 1: Unexpected token -'
19999
},
20000
20001
20002
'\u203F = 10': {
20003
index: 0,
20004
lineNumber: 1,
20005
column: 1,
20006
message: 'Error: Line 1: Unexpected token ILLEGAL'
20007
},
20008
20009
'const x = 12, y;': {
20010
index: 15,
20011
lineNumber: 1,
20012
column: 16,
20013
message: 'Error: Line 1: Unexpected token ;'
20014
},
20015
20016
'const x, y = 12;': {
20017
index: 7,
20018
lineNumber: 1,
20019
column: 8,
20020
message: 'Error: Line 1: Unexpected token ,'
20021
},
20022
20023
'const x;': {
20024
index: 7,
20025
lineNumber: 1,
20026
column: 8,
20027
message: 'Error: Line 1: Unexpected token ;'
20028
},
20029
20030
'if(true) let a = 1;': {
20031
index: 9,
20032
lineNumber: 1,
20033
column: 10,
20034
message: 'Error: Line 1: Unexpected token let'
20035
},
20036
20037
'if(true) const a = 1;': {
20038
index: 9,
20039
lineNumber: 1,
20040
column: 10,
20041
message: 'Error: Line 1: Unexpected token const'
20042
},
20043
20044
'switch (c) { default: default: }': {
20045
index: 30,
20046
lineNumber: 1,
20047
column: 31,
20048
message: 'Error: Line 1: More than one default clause in switch statement'
20049
},
20050
20051
'new X()."s"': {
20052
index: 8,
20053
lineNumber: 1,
20054
column: 9,
20055
message: 'Error: Line 1: Unexpected string'
20056
},
20057
20058
'/*': {
20059
index: 2,
20060
lineNumber: 1,
20061
column: 3,
20062
message: 'Error: Line 1: Unexpected token ILLEGAL'
20063
},
20064
20065
'/*\n\n\n': {
20066
index: 5,
20067
lineNumber: 4,
20068
column: 1,
20069
message: 'Error: Line 4: Unexpected token ILLEGAL'
20070
},
20071
20072
'/**': {
20073
index: 3,
20074
lineNumber: 1,
20075
column: 4,
20076
message: 'Error: Line 1: Unexpected token ILLEGAL'
20077
},
20078
20079
'/*\n\n*': {
20080
index: 5,
20081
lineNumber: 3,
20082
column: 2,
20083
message: 'Error: Line 3: Unexpected token ILLEGAL'
20084
},
20085
20086
'/*hello': {
20087
index: 7,
20088
lineNumber: 1,
20089
column: 8,
20090
message: 'Error: Line 1: Unexpected token ILLEGAL'
20091
},
20092
20093
'/*hello *': {
20094
index: 10,
20095
lineNumber: 1,
20096
column: 11,
20097
message: 'Error: Line 1: Unexpected token ILLEGAL'
20098
},
20099
20100
'\n]': {
20101
index: 1,
20102
lineNumber: 2,
20103
column: 1,
20104
message: 'Error: Line 2: Unexpected token ]'
20105
},
20106
20107
'\r]': {
20108
index: 1,
20109
lineNumber: 2,
20110
column: 1,
20111
message: 'Error: Line 2: Unexpected token ]'
20112
},
20113
20114
'\r\n]': {
20115
index: 2,
20116
lineNumber: 2,
20117
column: 1,
20118
message: 'Error: Line 2: Unexpected token ]'
20119
},
20120
20121
'\n\r]': {
20122
index: 2,
20123
lineNumber: 3,
20124
column: 1,
20125
message: 'Error: Line 3: Unexpected token ]'
20126
},
20127
20128
'//\r\n]': {
20129
index: 4,
20130
lineNumber: 2,
20131
column: 1,
20132
message: 'Error: Line 2: Unexpected token ]'
20133
},
20134
20135
'//\n\r]': {
20136
index: 4,
20137
lineNumber: 3,
20138
column: 1,
20139
message: 'Error: Line 3: Unexpected token ]'
20140
},
20141
20142
'/a\\\n/': {
20143
index: 4,
20144
lineNumber: 1,
20145
column: 5,
20146
message: 'Error: Line 1: Invalid regular expression: missing /'
20147
},
20148
20149
'//\r \n]': {
20150
index: 5,
20151
lineNumber: 3,
20152
column: 1,
20153
message: 'Error: Line 3: Unexpected token ]'
20154
},
20155
20156
'/*\r\n*/]': {
20157
index: 6,
20158
lineNumber: 2,
20159
column: 3,
20160
message: 'Error: Line 2: Unexpected token ]'
20161
},
20162
20163
'/*\n\r*/]': {
20164
index: 6,
20165
lineNumber: 3,
20166
column: 3,
20167
message: 'Error: Line 3: Unexpected token ]'
20168
},
20169
20170
'/*\r \n*/]': {
20171
index: 7,
20172
lineNumber: 3,
20173
column: 3,
20174
message: 'Error: Line 3: Unexpected token ]'
20175
},
20176
20177
'\\\\': {
20178
index: 1,
20179
lineNumber: 1,
20180
column: 2,
20181
message: 'Error: Line 1: Unexpected token ILLEGAL'
20182
},
20183
20184
'\\u005c': {
20185
index: 6,
20186
lineNumber: 1,
20187
column: 7,
20188
message: 'Error: Line 1: Unexpected token ILLEGAL'
20189
},
20190
20191
20192
'\\x': {
20193
index: 1,
20194
lineNumber: 1,
20195
column: 2,
20196
message: 'Error: Line 1: Unexpected token ILLEGAL'
20197
},
20198
20199
'\\u0000': {
20200
index: 6,
20201
lineNumber: 1,
20202
column: 7,
20203
message: 'Error: Line 1: Unexpected token ILLEGAL'
20204
},
20205
20206
'\u200C = []': {
20207
index: 0,
20208
lineNumber: 1,
20209
column: 1,
20210
message: 'Error: Line 1: Unexpected token ILLEGAL'
20211
},
20212
20213
'\u200D = []': {
20214
index: 0,
20215
lineNumber: 1,
20216
column: 1,
20217
message: 'Error: Line 1: Unexpected token ILLEGAL'
20218
},
20219
20220
'"\\': {
20221
index: 3,
20222
lineNumber: 1,
20223
column: 4,
20224
message: 'Error: Line 1: Unexpected token ILLEGAL'
20225
},
20226
20227
'"\\u': {
20228
index: 3,
20229
lineNumber: 1,
20230
column: 4,
20231
message: 'Error: Line 1: Unexpected token ILLEGAL'
20232
},
20233
20234
'try { } catch() {}': {
20235
index: 14,
20236
lineNumber: 1,
20237
column: 15,
20238
message: 'Error: Line 1: Unexpected token )'
20239
},
20240
20241
'return': {
20242
index: 6,
20243
lineNumber: 1,
20244
column: 7,
20245
message: 'Error: Line 1: Illegal return statement'
20246
},
20247
20248
'break': {
20249
index: 5,
20250
lineNumber: 1,
20251
column: 6,
20252
message: 'Error: Line 1: Illegal break statement'
20253
},
20254
20255
'continue': {
20256
index: 8,
20257
lineNumber: 1,
20258
column: 9,
20259
message: 'Error: Line 1: Illegal continue statement'
20260
},
20261
20262
'switch (x) { default: continue; }': {
20263
index: 31,
20264
lineNumber: 1,
20265
column: 32,
20266
message: 'Error: Line 1: Illegal continue statement'
20267
},
20268
20269
'do { x } *': {
20270
index: 9,
20271
lineNumber: 1,
20272
column: 10,
20273
message: 'Error: Line 1: Unexpected token *'
20274
},
20275
20276
'while (true) { break x; }': {
20277
index: 22,
20278
lineNumber: 1,
20279
column: 23,
20280
message: 'Error: Line 1: Undefined label \'x\''
20281
},
20282
20283
'while (true) { continue x; }': {
20284
index: 25,
20285
lineNumber: 1,
20286
column: 26,
20287
message: 'Error: Line 1: Undefined label \'x\''
20288
},
20289
20290
'x: while (true) { (function () { break x; }); }': {
20291
index: 40,
20292
lineNumber: 1,
20293
column: 41,
20294
message: 'Error: Line 1: Undefined label \'x\''
20295
},
20296
20297
'x: while (true) { (function () { continue x; }); }': {
20298
index: 43,
20299
lineNumber: 1,
20300
column: 44,
20301
message: 'Error: Line 1: Undefined label \'x\''
20302
},
20303
20304
'x: while (true) { (function () { break; }); }': {
20305
index: 39,
20306
lineNumber: 1,
20307
column: 40,
20308
message: 'Error: Line 1: Illegal break statement'
20309
},
20310
20311
'x: while (true) { (function () { continue; }); }': {
20312
index: 42,
20313
lineNumber: 1,
20314
column: 43,
20315
message: 'Error: Line 1: Illegal continue statement'
20316
},
20317
20318
'x: while (true) { x: while (true) { } }': {
20319
index: 20,
20320
lineNumber: 1,
20321
column: 21,
20322
message: 'Error: Line 1: Label \'x\' has already been declared'
20323
},
20324
20325
'(function () { \'use strict\'; delete i; }())': {
20326
index: 37,
20327
lineNumber: 1,
20328
column: 38,
20329
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
20330
},
20331
20332
'(function () { \'use strict\'; with (i); }())': {
20333
index: 29,
20334
lineNumber: 1,
20335
column: 30,
20336
message: 'Error: Line 1: Strict mode code may not include a with statement'
20337
},
20338
20339
'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': {
20340
index: 47,
20341
lineNumber: 1,
20342
column: 48,
20343
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
20344
},
20345
20346
'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': {
20347
index: 73,
20348
lineNumber: 1,
20349
column: 74,
20350
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
20351
},
20352
20353
'function hello() {\'use strict\'; var eval = 10; }': {
20354
index: 40,
20355
lineNumber: 1,
20356
column: 41,
20357
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20358
},
20359
20360
'function hello() {\'use strict\'; var arguments = 10; }': {
20361
index: 45,
20362
lineNumber: 1,
20363
column: 46,
20364
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20365
},
20366
20367
'function hello() {\'use strict\'; try { } catch (eval) { } }': {
20368
index: 51,
20369
lineNumber: 1,
20370
column: 52,
20371
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20372
},
20373
20374
'function hello() {\'use strict\'; try { } catch (arguments) { } }': {
20375
index: 56,
20376
lineNumber: 1,
20377
column: 57,
20378
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20379
},
20380
20381
'function hello() {\'use strict\'; eval = 10; }': {
20382
index: 32,
20383
lineNumber: 1,
20384
column: 33,
20385
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20386
},
20387
20388
'function hello() {\'use strict\'; arguments = 10; }': {
20389
index: 32,
20390
lineNumber: 1,
20391
column: 33,
20392
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20393
},
20394
20395
'function hello() {\'use strict\'; ++eval; }': {
20396
index: 38,
20397
lineNumber: 1,
20398
column: 39,
20399
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20400
},
20401
20402
'function hello() {\'use strict\'; --eval; }': {
20403
index: 38,
20404
lineNumber: 1,
20405
column: 39,
20406
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20407
},
20408
20409
'function hello() {\'use strict\'; ++arguments; }': {
20410
index: 43,
20411
lineNumber: 1,
20412
column: 44,
20413
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20414
},
20415
20416
'function hello() {\'use strict\'; --arguments; }': {
20417
index: 43,
20418
lineNumber: 1,
20419
column: 44,
20420
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20421
},
20422
20423
'function hello() {\'use strict\'; eval++; }': {
20424
index: 36,
20425
lineNumber: 1,
20426
column: 37,
20427
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20428
},
20429
20430
'function hello() {\'use strict\'; eval--; }': {
20431
index: 36,
20432
lineNumber: 1,
20433
column: 37,
20434
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20435
},
20436
20437
'function hello() {\'use strict\'; arguments++; }': {
20438
index: 41,
20439
lineNumber: 1,
20440
column: 42,
20441
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20442
},
20443
20444
'function hello() {\'use strict\'; arguments--; }': {
20445
index: 41,
20446
lineNumber: 1,
20447
column: 42,
20448
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20449
},
20450
20451
'function hello() {\'use strict\'; function eval() { } }': {
20452
index: 41,
20453
lineNumber: 1,
20454
column: 42,
20455
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20456
},
20457
20458
'function hello() {\'use strict\'; function arguments() { } }': {
20459
index: 41,
20460
lineNumber: 1,
20461
column: 42,
20462
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20463
},
20464
20465
'function eval() {\'use strict\'; }': {
20466
index: 9,
20467
lineNumber: 1,
20468
column: 10,
20469
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20470
},
20471
20472
'function arguments() {\'use strict\'; }': {
20473
index: 9,
20474
lineNumber: 1,
20475
column: 10,
20476
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20477
},
20478
20479
'function hello() {\'use strict\'; (function eval() { }()) }': {
20480
index: 42,
20481
lineNumber: 1,
20482
column: 43,
20483
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20484
},
20485
20486
'function hello() {\'use strict\'; (function arguments() { }()) }': {
20487
index: 42,
20488
lineNumber: 1,
20489
column: 43,
20490
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20491
},
20492
20493
'(function eval() {\'use strict\'; })()': {
20494
index: 10,
20495
lineNumber: 1,
20496
column: 11,
20497
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20498
},
20499
20500
'(function arguments() {\'use strict\'; })()': {
20501
index: 10,
20502
lineNumber: 1,
20503
column: 11,
20504
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20505
},
20506
20507
'function hello() {\'use strict\'; ({ s: function eval() { } }); }': {
20508
index: 47,
20509
lineNumber: 1,
20510
column: 48,
20511
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20512
},
20513
20514
'(function package() {\'use strict\'; })()': {
20515
index: 10,
20516
lineNumber: 1,
20517
column: 11,
20518
message: 'Error: Line 1: Use of future reserved word in strict mode'
20519
},
20520
20521
'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': {
20522
index: 48,
20523
lineNumber: 1,
20524
column: 49,
20525
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20526
},
20527
20528
'function hello() {\'use strict\'; ({ set s(eval) { } }); }': {
20529
index: 41,
20530
lineNumber: 1,
20531
column: 42,
20532
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20533
},
20534
20535
'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': {
20536
index: 49,
20537
lineNumber: 1,
20538
column: 50,
20539
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20540
},
20541
20542
'function hello(eval) {\'use strict\';}': {
20543
index: 15,
20544
lineNumber: 1,
20545
column: 16,
20546
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20547
},
20548
20549
'function hello(arguments) {\'use strict\';}': {
20550
index: 15,
20551
lineNumber: 1,
20552
column: 16,
20553
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20554
},
20555
20556
'function hello() { \'use strict\'; function inner(eval) {} }': {
20557
index: 48,
20558
lineNumber: 1,
20559
column: 49,
20560
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20561
},
20562
20563
'function hello() { \'use strict\'; function inner(arguments) {} }': {
20564
index: 48,
20565
lineNumber: 1,
20566
column: 49,
20567
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20568
},
20569
20570
' "\\1"; \'use strict\';': {
20571
index: 1,
20572
lineNumber: 1,
20573
column: 2,
20574
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20575
},
20576
20577
'function hello() { \'use strict\'; "\\1"; }': {
20578
index: 33,
20579
lineNumber: 1,
20580
column: 34,
20581
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20582
},
20583
20584
'function hello() { \'use strict\'; 021; }': {
20585
index: 33,
20586
lineNumber: 1,
20587
column: 34,
20588
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20589
},
20590
20591
'function hello() { \'use strict\'; ({ "\\1": 42 }); }': {
20592
index: 36,
20593
lineNumber: 1,
20594
column: 37,
20595
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20596
},
20597
20598
'function hello() { \'use strict\'; ({ 021: 42 }); }': {
20599
index: 36,
20600
lineNumber: 1,
20601
column: 37,
20602
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20603
},
20604
20605
'function hello() { "octal directive\\1"; "use strict"; }': {
20606
index: 19,
20607
lineNumber: 1,
20608
column: 20,
20609
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20610
},
20611
20612
'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': {
20613
index: 19,
20614
lineNumber: 1,
20615
column: 20,
20616
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20617
},
20618
20619
'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': {
20620
index: 52,
20621
lineNumber: 1,
20622
column: 53,
20623
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
20624
},
20625
20626
'function hello() { "use strict"; var implements; }': {
20627
index: 37,
20628
lineNumber: 1,
20629
column: 38,
20630
message: 'Error: Line 1: Use of future reserved word in strict mode'
20631
},
20632
20633
'function hello() { "use strict"; var interface; }': {
20634
index: 37,
20635
lineNumber: 1,
20636
column: 38,
20637
message: 'Error: Line 1: Use of future reserved word in strict mode'
20638
},
20639
20640
'function hello() { "use strict"; var package; }': {
20641
index: 37,
20642
lineNumber: 1,
20643
column: 38,
20644
message: 'Error: Line 1: Use of future reserved word in strict mode'
20645
},
20646
20647
'function hello() { "use strict"; var private; }': {
20648
index: 37,
20649
lineNumber: 1,
20650
column: 38,
20651
message: 'Error: Line 1: Use of future reserved word in strict mode'
20652
},
20653
20654
'function hello() { "use strict"; var protected; }': {
20655
index: 37,
20656
lineNumber: 1,
20657
column: 38,
20658
message: 'Error: Line 1: Use of future reserved word in strict mode'
20659
},
20660
20661
'function hello() { "use strict"; var public; }': {
20662
index: 37,
20663
lineNumber: 1,
20664
column: 38,
20665
message: 'Error: Line 1: Use of future reserved word in strict mode'
20666
},
20667
20668
'function hello() { "use strict"; var static; }': {
20669
index: 37,
20670
lineNumber: 1,
20671
column: 38,
20672
message: 'Error: Line 1: Use of future reserved word in strict mode'
20673
},
20674
20675
'function hello() { "use strict"; var yield; }': {
20676
index: 37,
20677
lineNumber: 1,
20678
column: 38,
20679
message: 'Error: Line 1: Use of future reserved word in strict mode'
20680
},
20681
20682
'function hello() { "use strict"; var let; }': {
20683
index: 37,
20684
lineNumber: 1,
20685
column: 38,
20686
message: 'Error: Line 1: Use of future reserved word in strict mode'
20687
},
20688
20689
'function hello(static) { "use strict"; }': {
20690
index: 15,
20691
lineNumber: 1,
20692
column: 16,
20693
message: 'Error: Line 1: Use of future reserved word in strict mode'
20694
},
20695
20696
'function static() { "use strict"; }': {
20697
index: 9,
20698
lineNumber: 1,
20699
column: 10,
20700
message: 'Error: Line 1: Use of future reserved word in strict mode'
20701
},
20702
20703
'function eval(a) { "use strict"; }': {
20704
index: 9,
20705
lineNumber: 1,
20706
column: 10,
20707
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20708
},
20709
20710
'function arguments(a) { "use strict"; }': {
20711
index: 9,
20712
lineNumber: 1,
20713
column: 10,
20714
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20715
},
20716
20717
'var yield': {
20718
index: 4,
20719
lineNumber: 1,
20720
column: 5,
20721
message: 'Error: Line 1: Unexpected token yield'
20722
},
20723
20724
'var let': {
20725
index: 4,
20726
lineNumber: 1,
20727
column: 5,
20728
message: 'Error: Line 1: Unexpected token let'
20729
},
20730
20731
'"use strict"; function static() { }': {
20732
index: 23,
20733
lineNumber: 1,
20734
column: 24,
20735
message: 'Error: Line 1: Use of future reserved word in strict mode'
20736
},
20737
20738
'function a(t, t) { "use strict"; }': {
20739
index: 14,
20740
lineNumber: 1,
20741
column: 15,
20742
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
20743
},
20744
20745
'function a(eval) { "use strict"; }': {
20746
index: 11,
20747
lineNumber: 1,
20748
column: 12,
20749
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20750
},
20751
20752
'function a(package) { "use strict"; }': {
20753
index: 11,
20754
lineNumber: 1,
20755
column: 12,
20756
message: 'Error: Line 1: Use of future reserved word in strict mode'
20757
},
20758
20759
'function a() { "use strict"; function b(t, t) { }; }': {
20760
index: 43,
20761
lineNumber: 1,
20762
column: 44,
20763
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
20764
},
20765
20766
'(function a(t, t) { "use strict"; })': {
20767
index: 15,
20768
lineNumber: 1,
20769
column: 16,
20770
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
20771
},
20772
20773
'function a() { "use strict"; (function b(t, t) { }); }': {
20774
index: 44,
20775
lineNumber: 1,
20776
column: 45,
20777
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
20778
},
20779
20780
'(function a(eval) { "use strict"; })': {
20781
index: 12,
20782
lineNumber: 1,
20783
column: 13,
20784
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
20785
},
20786
20787
'(function a(package) { "use strict"; })': {
20788
index: 12,
20789
lineNumber: 1,
20790
column: 13,
20791
message: 'Error: Line 1: Use of future reserved word in strict mode'
20792
},
20793
20794
'__proto__: __proto__: 42;': {
20795
index: 21,
20796
lineNumber: 1,
20797
column: 22,
20798
message: 'Error: Line 1: Label \'__proto__\' has already been declared'
20799
},
20800
20801
'"use strict"; function t(__proto__, __proto__) { }': {
20802
index: 36,
20803
lineNumber: 1,
20804
column: 37,
20805
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
20806
},
20807
20808
'"use strict"; x = { __proto__: 42, __proto__: 43 }': {
20809
index: 48,
20810
lineNumber: 1,
20811
column: 49,
20812
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
20813
},
20814
20815
'"use strict"; x = { get __proto__() { }, __proto__: 43 }': {
20816
index: 54,
20817
lineNumber: 1,
20818
column: 55,
20819
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
20820
},
20821
20822
'var': {
20823
index: 3,
20824
lineNumber: 1,
20825
column: 4,
20826
message: 'Error: Line 1: Unexpected end of input'
20827
},
20828
20829
'let': {
20830
index: 3,
20831
lineNumber: 1,
20832
column: 4,
20833
message: 'Error: Line 1: Unexpected end of input'
20834
},
20835
20836
'const': {
20837
index: 5,
20838
lineNumber: 1,
20839
column: 6,
20840
message: 'Error: Line 1: Unexpected end of input'
20841
},
20842
20843
'{ ; ; ': {
20844
index: 8,
20845
lineNumber: 1,
20846
column: 9,
20847
message: 'Error: Line 1: Unexpected end of input'
20848
},
20849
20850
'function t() { ; ; ': {
20851
index: 21,
20852
lineNumber: 1,
20853
column: 22,
20854
message: 'Error: Line 1: Unexpected end of input'
20855
}
20856
20857
},
20858
20859
'Tokenize': {
20860
'tokenize(/42/)': [
20861
{
20862
"type": "Identifier",
20863
"value": "tokenize",
20864
"range": [
20865
0,
20866
8
20867
],
20868
"loc": {
20869
"start": {
20870
"line": 1,
20871
"column": 0
20872
},
20873
"end": {
20874
"line": 1,
20875
"column": 8
20876
}
20877
}
20878
},
20879
{
20880
"type": "Punctuator",
20881
"value": "(",
20882
"range": [
20883
8,
20884
9
20885
],
20886
"loc": {
20887
"start": {
20888
"line": 1,
20889
"column": 8
20890
},
20891
"end": {
20892
"line": 1,
20893
"column": 9
20894
}
20895
}
20896
},
20897
{
20898
"type": "RegularExpression",
20899
"value": "/42/",
20900
"range": [
20901
9,
20902
13
20903
],
20904
"loc": {
20905
"start": {
20906
"line": 1,
20907
"column": 9
20908
},
20909
"end": {
20910
"line": 1,
20911
"column": 13
20912
}
20913
}
20914
},
20915
{
20916
"type": "Punctuator",
20917
"value": ")",
20918
"range": [
20919
13,
20920
14
20921
],
20922
"loc": {
20923
"start": {
20924
"line": 1,
20925
"column": 13
20926
},
20927
"end": {
20928
"line": 1,
20929
"column": 14
20930
}
20931
}
20932
}
20933
],
20934
20935
'if (false) { /42/ }': [
20936
{
20937
"type": "Keyword",
20938
"value": "if",
20939
"range": [
20940
0,
20941
2
20942
],
20943
"loc": {
20944
"start": {
20945
"line": 1,
20946
"column": 0
20947
},
20948
"end": {
20949
"line": 1,
20950
"column": 2
20951
}
20952
}
20953
},
20954
{
20955
"type": "Punctuator",
20956
"value": "(",
20957
"range": [
20958
3,
20959
4
20960
],
20961
"loc": {
20962
"start": {
20963
"line": 1,
20964
"column": 3
20965
},
20966
"end": {
20967
"line": 1,
20968
"column": 4
20969
}
20970
}
20971
},
20972
{
20973
"type": "Boolean",
20974
"value": "false",
20975
"range": [
20976
4,
20977
9
20978
],
20979
"loc": {
20980
"start": {
20981
"line": 1,
20982
"column": 4
20983
},
20984
"end": {
20985
"line": 1,
20986
"column": 9
20987
}
20988
}
20989
},
20990
{
20991
"type": "Punctuator",
20992
"value": ")",
20993
"range": [
20994
9,
20995
10
20996
],
20997
"loc": {
20998
"start": {
20999
"line": 1,
21000
"column": 9
21001
},
21002
"end": {
21003
"line": 1,
21004
"column": 10
21005
}
21006
}
21007
},
21008
{
21009
"type": "Punctuator",
21010
"value": "{",
21011
"range": [
21012
11,
21013
12
21014
],
21015
"loc": {
21016
"start": {
21017
"line": 1,
21018
"column": 11
21019
},
21020
"end": {
21021
"line": 1,
21022
"column": 12
21023
}
21024
}
21025
},
21026
{
21027
"type": "RegularExpression",
21028
"value": "/42/",
21029
"range": [
21030
13,
21031
17
21032
],
21033
"loc": {
21034
"start": {
21035
"line": 1,
21036
"column": 13
21037
},
21038
"end": {
21039
"line": 1,
21040
"column": 17
21041
}
21042
}
21043
},
21044
{
21045
"type": "Punctuator",
21046
"value": "}",
21047
"range": [
21048
18,
21049
19
21050
],
21051
"loc": {
21052
"start": {
21053
"line": 1,
21054
"column": 18
21055
},
21056
"end": {
21057
"line": 1,
21058
"column": 19
21059
}
21060
}
21061
}
21062
],
21063
21064
'with (false) /42/': [
21065
{
21066
"type": "Keyword",
21067
"value": "with",
21068
"range": [
21069
0,
21070
4
21071
],
21072
"loc": {
21073
"start": {
21074
"line": 1,
21075
"column": 0
21076
},
21077
"end": {
21078
"line": 1,
21079
"column": 4
21080
}
21081
}
21082
},
21083
{
21084
"type": "Punctuator",
21085
"value": "(",
21086
"range": [
21087
5,
21088
6
21089
],
21090
"loc": {
21091
"start": {
21092
"line": 1,
21093
"column": 5
21094
},
21095
"end": {
21096
"line": 1,
21097
"column": 6
21098
}
21099
}
21100
},
21101
{
21102
"type": "Boolean",
21103
"value": "false",
21104
"range": [
21105
6,
21106
11
21107
],
21108
"loc": {
21109
"start": {
21110
"line": 1,
21111
"column": 6
21112
},
21113
"end": {
21114
"line": 1,
21115
"column": 11
21116
}
21117
}
21118
},
21119
{
21120
"type": "Punctuator",
21121
"value": ")",
21122
"range": [
21123
11,
21124
12
21125
],
21126
"loc": {
21127
"start": {
21128
"line": 1,
21129
"column": 11
21130
},
21131
"end": {
21132
"line": 1,
21133
"column": 12
21134
}
21135
}
21136
},
21137
{
21138
"type": "RegularExpression",
21139
"value": "/42/",
21140
"range": [
21141
13,
21142
17
21143
],
21144
"loc": {
21145
"start": {
21146
"line": 1,
21147
"column": 13
21148
},
21149
"end": {
21150
"line": 1,
21151
"column": 17
21152
}
21153
}
21154
}
21155
],
21156
21157
'(false) /42/': [
21158
{
21159
"type": "Punctuator",
21160
"value": "(",
21161
"range": [
21162
0,
21163
1
21164
],
21165
"loc": {
21166
"start": {
21167
"line": 1,
21168
"column": 0
21169
},
21170
"end": {
21171
"line": 1,
21172
"column": 1
21173
}
21174
}
21175
},
21176
{
21177
"type": "Boolean",
21178
"value": "false",
21179
"range": [
21180
1,
21181
6
21182
],
21183
"loc": {
21184
"start": {
21185
"line": 1,
21186
"column": 1
21187
},
21188
"end": {
21189
"line": 1,
21190
"column": 6
21191
}
21192
}
21193
},
21194
{
21195
"type": "Punctuator",
21196
"value": ")",
21197
"range": [
21198
6,
21199
7
21200
],
21201
"loc": {
21202
"start": {
21203
"line": 1,
21204
"column": 6
21205
},
21206
"end": {
21207
"line": 1,
21208
"column": 7
21209
}
21210
}
21211
},
21212
{
21213
"type": "Punctuator",
21214
"value": "/",
21215
"range": [
21216
8,
21217
9
21218
],
21219
"loc": {
21220
"start": {
21221
"line": 1,
21222
"column": 8
21223
},
21224
"end": {
21225
"line": 1,
21226
"column": 9
21227
}
21228
}
21229
},
21230
{
21231
"type": "Numeric",
21232
"value": "42",
21233
"range": [
21234
9,
21235
11
21236
],
21237
"loc": {
21238
"start": {
21239
"line": 1,
21240
"column": 9
21241
},
21242
"end": {
21243
"line": 1,
21244
"column": 11
21245
}
21246
}
21247
},
21248
{
21249
"type": "Punctuator",
21250
"value": "/",
21251
"range": [
21252
11,
21253
12
21254
],
21255
"loc": {
21256
"start": {
21257
"line": 1,
21258
"column": 11
21259
},
21260
"end": {
21261
"line": 1,
21262
"column": 12
21263
}
21264
}
21265
}
21266
],
21267
21268
'function f(){} /42/': [
21269
{
21270
"type": "Keyword",
21271
"value": "function",
21272
"range": [
21273
0,
21274
8
21275
],
21276
"loc": {
21277
"start": {
21278
"line": 1,
21279
"column": 0
21280
},
21281
"end": {
21282
"line": 1,
21283
"column": 8
21284
}
21285
}
21286
},
21287
{
21288
"type": "Identifier",
21289
"value": "f",
21290
"range": [
21291
9,
21292
10
21293
],
21294
"loc": {
21295
"start": {
21296
"line": 1,
21297
"column": 9
21298
},
21299
"end": {
21300
"line": 1,
21301
"column": 10
21302
}
21303
}
21304
},
21305
{
21306
"type": "Punctuator",
21307
"value": "(",
21308
"range": [
21309
10,
21310
11
21311
],
21312
"loc": {
21313
"start": {
21314
"line": 1,
21315
"column": 10
21316
},
21317
"end": {
21318
"line": 1,
21319
"column": 11
21320
}
21321
}
21322
},
21323
{
21324
"type": "Punctuator",
21325
"value": ")",
21326
"range": [
21327
11,
21328
12
21329
],
21330
"loc": {
21331
"start": {
21332
"line": 1,
21333
"column": 11
21334
},
21335
"end": {
21336
"line": 1,
21337
"column": 12
21338
}
21339
}
21340
},
21341
{
21342
"type": "Punctuator",
21343
"value": "{",
21344
"range": [
21345
12,
21346
13
21347
],
21348
"loc": {
21349
"start": {
21350
"line": 1,
21351
"column": 12
21352
},
21353
"end": {
21354
"line": 1,
21355
"column": 13
21356
}
21357
}
21358
},
21359
{
21360
"type": "Punctuator",
21361
"value": "}",
21362
"range": [
21363
13,
21364
14
21365
],
21366
"loc": {
21367
"start": {
21368
"line": 1,
21369
"column": 13
21370
},
21371
"end": {
21372
"line": 1,
21373
"column": 14
21374
}
21375
}
21376
},
21377
{
21378
"type": "RegularExpression",
21379
"value": "/42/",
21380
"range": [
21381
15,
21382
19
21383
],
21384
"loc": {
21385
"start": {
21386
"line": 1,
21387
"column": 15
21388
},
21389
"end": {
21390
"line": 1,
21391
"column": 19
21392
}
21393
}
21394
}
21395
],
21396
21397
'function(){} /42': [
21398
{
21399
"type": "Keyword",
21400
"value": "function",
21401
"range": [
21402
0,
21403
8
21404
],
21405
"loc": {
21406
"start": {
21407
"line": 1,
21408
"column": 0
21409
},
21410
"end": {
21411
"line": 1,
21412
"column": 8
21413
}
21414
}
21415
},
21416
{
21417
"type": "Punctuator",
21418
"value": "(",
21419
"range": [
21420
8,
21421
9
21422
],
21423
"loc": {
21424
"start": {
21425
"line": 1,
21426
"column": 8
21427
},
21428
"end": {
21429
"line": 1,
21430
"column": 9
21431
}
21432
}
21433
},
21434
{
21435
"type": "Punctuator",
21436
"value": ")",
21437
"range": [
21438
9,
21439
10
21440
],
21441
"loc": {
21442
"start": {
21443
"line": 1,
21444
"column": 9
21445
},
21446
"end": {
21447
"line": 1,
21448
"column": 10
21449
}
21450
}
21451
},
21452
{
21453
"type": "Punctuator",
21454
"value": "{",
21455
"range": [
21456
10,
21457
11
21458
],
21459
"loc": {
21460
"start": {
21461
"line": 1,
21462
"column": 10
21463
},
21464
"end": {
21465
"line": 1,
21466
"column": 11
21467
}
21468
}
21469
},
21470
{
21471
"type": "Punctuator",
21472
"value": "}",
21473
"range": [
21474
11,
21475
12
21476
],
21477
"loc": {
21478
"start": {
21479
"line": 1,
21480
"column": 11
21481
},
21482
"end": {
21483
"line": 1,
21484
"column": 12
21485
}
21486
}
21487
},
21488
{
21489
"type": "Punctuator",
21490
"value": "/",
21491
"range": [
21492
13,
21493
14
21494
],
21495
"loc": {
21496
"start": {
21497
"line": 1,
21498
"column": 13
21499
},
21500
"end": {
21501
"line": 1,
21502
"column": 14
21503
}
21504
}
21505
},
21506
{
21507
"type": "Numeric",
21508
"value": "42",
21509
"range": [
21510
14,
21511
16
21512
],
21513
"loc": {
21514
"start": {
21515
"line": 1,
21516
"column": 14
21517
},
21518
"end": {
21519
"line": 1,
21520
"column": 16
21521
}
21522
}
21523
}
21524
],
21525
21526
'{} /42': [
21527
{
21528
"type": "Punctuator",
21529
"value": "{",
21530
"range": [
21531
0,
21532
1
21533
],
21534
"loc": {
21535
"start": {
21536
"line": 1,
21537
"column": 0
21538
},
21539
"end": {
21540
"line": 1,
21541
"column": 1
21542
}
21543
}
21544
},
21545
{
21546
"type": "Punctuator",
21547
"value": "}",
21548
"range": [
21549
1,
21550
2
21551
],
21552
"loc": {
21553
"start": {
21554
"line": 1,
21555
"column": 1
21556
},
21557
"end": {
21558
"line": 1,
21559
"column": 2
21560
}
21561
}
21562
},
21563
{
21564
"type": "Punctuator",
21565
"value": "/",
21566
"range": [
21567
3,
21568
4
21569
],
21570
"loc": {
21571
"start": {
21572
"line": 1,
21573
"column": 3
21574
},
21575
"end": {
21576
"line": 1,
21577
"column": 4
21578
}
21579
}
21580
},
21581
{
21582
"type": "Numeric",
21583
"value": "42",
21584
"range": [
21585
4,
21586
6
21587
],
21588
"loc": {
21589
"start": {
21590
"line": 1,
21591
"column": 4
21592
},
21593
"end": {
21594
"line": 1,
21595
"column": 6
21596
}
21597
}
21598
}
21599
],
21600
21601
'[function(){} /42]': [
21602
{
21603
"type": "Punctuator",
21604
"value": "[",
21605
"range": [
21606
0,
21607
1
21608
],
21609
"loc": {
21610
"start": {
21611
"line": 1,
21612
"column": 0
21613
},
21614
"end": {
21615
"line": 1,
21616
"column": 1
21617
}
21618
}
21619
},
21620
{
21621
"type": "Keyword",
21622
"value": "function",
21623
"range": [
21624
1,
21625
9
21626
],
21627
"loc": {
21628
"start": {
21629
"line": 1,
21630
"column": 1
21631
},
21632
"end": {
21633
"line": 1,
21634
"column": 9
21635
}
21636
}
21637
},
21638
{
21639
"type": "Punctuator",
21640
"value": "(",
21641
"range": [
21642
9,
21643
10
21644
],
21645
"loc": {
21646
"start": {
21647
"line": 1,
21648
"column": 9
21649
},
21650
"end": {
21651
"line": 1,
21652
"column": 10
21653
}
21654
}
21655
},
21656
{
21657
"type": "Punctuator",
21658
"value": ")",
21659
"range": [
21660
10,
21661
11
21662
],
21663
"loc": {
21664
"start": {
21665
"line": 1,
21666
"column": 10
21667
},
21668
"end": {
21669
"line": 1,
21670
"column": 11
21671
}
21672
}
21673
},
21674
{
21675
"type": "Punctuator",
21676
"value": "{",
21677
"range": [
21678
11,
21679
12
21680
],
21681
"loc": {
21682
"start": {
21683
"line": 1,
21684
"column": 11
21685
},
21686
"end": {
21687
"line": 1,
21688
"column": 12
21689
}
21690
}
21691
},
21692
{
21693
"type": "Punctuator",
21694
"value": "}",
21695
"range": [
21696
12,
21697
13
21698
],
21699
"loc": {
21700
"start": {
21701
"line": 1,
21702
"column": 12
21703
},
21704
"end": {
21705
"line": 1,
21706
"column": 13
21707
}
21708
}
21709
},
21710
{
21711
"type": "Punctuator",
21712
"value": "/",
21713
"range": [
21714
14,
21715
15
21716
],
21717
"loc": {
21718
"start": {
21719
"line": 1,
21720
"column": 14
21721
},
21722
"end": {
21723
"line": 1,
21724
"column": 15
21725
}
21726
}
21727
},
21728
{
21729
"type": "Numeric",
21730
"value": "42",
21731
"range": [
21732
15,
21733
17
21734
],
21735
"loc": {
21736
"start": {
21737
"line": 1,
21738
"column": 15
21739
},
21740
"end": {
21741
"line": 1,
21742
"column": 17
21743
}
21744
}
21745
},
21746
{
21747
"type": "Punctuator",
21748
"value": "]",
21749
"range": [
21750
17,
21751
18
21752
],
21753
"loc": {
21754
"start": {
21755
"line": 1,
21756
"column": 17
21757
},
21758
"end": {
21759
"line": 1,
21760
"column": 18
21761
}
21762
}
21763
}
21764
],
21765
21766
';function f(){} /42/': [
21767
{
21768
"type": "Punctuator",
21769
"value": ";",
21770
"range": [
21771
0,
21772
1
21773
],
21774
"loc": {
21775
"start": {
21776
"line": 1,
21777
"column": 0
21778
},
21779
"end": {
21780
"line": 1,
21781
"column": 1
21782
}
21783
}
21784
},
21785
{
21786
"type": "Keyword",
21787
"value": "function",
21788
"range": [
21789
1,
21790
9
21791
],
21792
"loc": {
21793
"start": {
21794
"line": 1,
21795
"column": 1
21796
},
21797
"end": {
21798
"line": 1,
21799
"column": 9
21800
}
21801
}
21802
},
21803
{
21804
"type": "Identifier",
21805
"value": "f",
21806
"range": [
21807
10,
21808
11
21809
],
21810
"loc": {
21811
"start": {
21812
"line": 1,
21813
"column": 10
21814
},
21815
"end": {
21816
"line": 1,
21817
"column": 11
21818
}
21819
}
21820
},
21821
{
21822
"type": "Punctuator",
21823
"value": "(",
21824
"range": [
21825
11,
21826
12
21827
],
21828
"loc": {
21829
"start": {
21830
"line": 1,
21831
"column": 11
21832
},
21833
"end": {
21834
"line": 1,
21835
"column": 12
21836
}
21837
}
21838
},
21839
{
21840
"type": "Punctuator",
21841
"value": ")",
21842
"range": [
21843
12,
21844
13
21845
],
21846
"loc": {
21847
"start": {
21848
"line": 1,
21849
"column": 12
21850
},
21851
"end": {
21852
"line": 1,
21853
"column": 13
21854
}
21855
}
21856
},
21857
{
21858
"type": "Punctuator",
21859
"value": "{",
21860
"range": [
21861
13,
21862
14
21863
],
21864
"loc": {
21865
"start": {
21866
"line": 1,
21867
"column": 13
21868
},
21869
"end": {
21870
"line": 1,
21871
"column": 14
21872
}
21873
}
21874
},
21875
{
21876
"type": "Punctuator",
21877
"value": "}",
21878
"range": [
21879
14,
21880
15
21881
],
21882
"loc": {
21883
"start": {
21884
"line": 1,
21885
"column": 14
21886
},
21887
"end": {
21888
"line": 1,
21889
"column": 15
21890
}
21891
}
21892
},
21893
{
21894
"type": "RegularExpression",
21895
"value": "/42/",
21896
"range": [
21897
16,
21898
20
21899
],
21900
"loc": {
21901
"start": {
21902
"line": 1,
21903
"column": 16
21904
},
21905
"end": {
21906
"line": 1,
21907
"column": 20
21908
}
21909
}
21910
}
21911
],
21912
21913
'void /42/': [
21914
{
21915
"type": "Keyword",
21916
"value": "void",
21917
"range": [
21918
0,
21919
4
21920
],
21921
"loc": {
21922
"start": {
21923
"line": 1,
21924
"column": 0
21925
},
21926
"end": {
21927
"line": 1,
21928
"column": 4
21929
}
21930
}
21931
},
21932
{
21933
"type": "RegularExpression",
21934
"value": "/42/",
21935
"range": [
21936
5,
21937
9
21938
],
21939
"loc": {
21940
"start": {
21941
"line": 1,
21942
"column": 5
21943
},
21944
"end": {
21945
"line": 1,
21946
"column": 9
21947
}
21948
}
21949
}
21950
],
21951
21952
'/42/': [
21953
{
21954
"type": "RegularExpression",
21955
"value": "/42/",
21956
"range": [
21957
0,
21958
4
21959
],
21960
"loc": {
21961
"start": {
21962
"line": 1,
21963
"column": 0
21964
},
21965
"end": {
21966
"line": 1,
21967
"column": 4
21968
}
21969
}
21970
}
21971
],
21972
21973
'foo[/42]': [
21974
{
21975
"type": "Identifier",
21976
"value": "foo",
21977
"range": [
21978
0,
21979
3
21980
],
21981
"loc": {
21982
"start": {
21983
"line": 1,
21984
"column": 0
21985
},
21986
"end": {
21987
"line": 1,
21988
"column": 3
21989
}
21990
}
21991
},
21992
{
21993
"type": "Punctuator",
21994
"value": "[",
21995
"range": [
21996
3,
21997
4
21998
],
21999
"loc": {
22000
"start": {
22001
"line": 1,
22002
"column": 3
22003
},
22004
"end": {
22005
"line": 1,
22006
"column": 4
22007
}
22008
}
22009
}
22010
],
22011
22012
'[a] / b': [
22013
{
22014
"type": "Punctuator",
22015
"value": "[",
22016
"range": [
22017
0,
22018
1
22019
],
22020
"loc": {
22021
"start": {
22022
"line": 1,
22023
"column": 0
22024
},
22025
"end": {
22026
"line": 1,
22027
"column": 1
22028
}
22029
}
22030
},
22031
{
22032
"type": "Identifier",
22033
"value": "a",
22034
"range": [
22035
1,
22036
2
22037
],
22038
"loc": {
22039
"start": {
22040
"line": 1,
22041
"column": 1
22042
},
22043
"end": {
22044
"line": 1,
22045
"column": 2
22046
}
22047
}
22048
},
22049
{
22050
"type": "Punctuator",
22051
"value": "]",
22052
"range": [
22053
2,
22054
3
22055
],
22056
"loc": {
22057
"start": {
22058
"line": 1,
22059
"column": 2
22060
},
22061
"end": {
22062
"line": 1,
22063
"column": 3
22064
}
22065
}
22066
},
22067
{
22068
"type": "Punctuator",
22069
"value": "/",
22070
"range": [
22071
4,
22072
5
22073
],
22074
"loc": {
22075
"start": {
22076
"line": 1,
22077
"column": 4
22078
},
22079
"end": {
22080
"line": 1,
22081
"column": 5
22082
}
22083
}
22084
},
22085
{
22086
"type": "Identifier",
22087
"value": "b",
22088
"range": [
22089
6,
22090
7
22091
],
22092
"loc": {
22093
"start": {
22094
"line": 1,
22095
"column": 6
22096
},
22097
"end": {
22098
"line": 1,
22099
"column": 7
22100
}
22101
}
22102
}
22103
],
22104
22105
'': [],
22106
22107
'/42': {
22108
tokenize: true,
22109
index: 3,
22110
lineNumber: 1,
22111
column: 4,
22112
message: 'Error: Line 1: Invalid regular expression: missing /'
22113
},
22114
22115
'foo[/42': {
22116
tokenize: true,
22117
index: 7,
22118
lineNumber: 1,
22119
column: 8,
22120
message: 'Error: Line 1: Invalid regular expression: missing /'
22121
},
22122
22123
'this / 100;': [
22124
{
22125
"type": "Keyword",
22126
"value": "this",
22127
"range": [
22128
0,
22129
4
22130
],
22131
"loc": {
22132
"start": {
22133
"line": 1,
22134
"column": 0
22135
},
22136
"end": {
22137
"line": 1,
22138
"column": 4
22139
}
22140
}
22141
},
22142
{
22143
"type": "Punctuator",
22144
"value": "/",
22145
"range": [
22146
5,
22147
6
22148
],
22149
"loc": {
22150
"start": {
22151
"line": 1,
22152
"column": 5
22153
},
22154
"end": {
22155
"line": 1,
22156
"column": 6
22157
}
22158
}
22159
},
22160
{
22161
"type": "Numeric",
22162
"value": "100",
22163
"range": [
22164
7,
22165
10
22166
],
22167
"loc": {
22168
"start": {
22169
"line": 1,
22170
"column": 7
22171
},
22172
"end": {
22173
"line": 1,
22174
"column": 10
22175
}
22176
}
22177
},
22178
{
22179
"type": "Punctuator",
22180
"value": ";",
22181
"range": [
22182
10,
22183
11
22184
],
22185
"loc": {
22186
"start": {
22187
"line": 1,
22188
"column": 10
22189
},
22190
"end": {
22191
"line": 1,
22192
"column": 11
22193
}
22194
}
22195
}
22196
]
22197
},
22198
22199
'API': {
22200
'parse()': {
22201
call: 'parse',
22202
args: [],
22203
result: {
22204
type: 'Program',
22205
body: [{
22206
type: 'ExpressionStatement',
22207
expression: {
22208
type: 'Identifier',
22209
name: 'undefined'
22210
}
22211
}]
22212
}
22213
},
22214
22215
'parse(null)': {
22216
call: 'parse',
22217
args: [null],
22218
result: {
22219
type: 'Program',
22220
body: [{
22221
type: 'ExpressionStatement',
22222
expression: {
22223
type: 'Literal',
22224
value: null,
22225
raw: 'null'
22226
}
22227
}]
22228
}
22229
},
22230
22231
'parse(42)': {
22232
call: 'parse',
22233
args: [42],
22234
result: {
22235
type: 'Program',
22236
body: [{
22237
type: 'ExpressionStatement',
22238
expression: {
22239
type: 'Literal',
22240
value: 42,
22241
raw: '42'
22242
}
22243
}]
22244
}
22245
},
22246
22247
'parse(true)': {
22248
call: 'parse',
22249
args: [true],
22250
result: {
22251
type: 'Program',
22252
body: [{
22253
type: 'ExpressionStatement',
22254
expression: {
22255
type: 'Literal',
22256
value: true,
22257
raw: 'true'
22258
}
22259
}]
22260
}
22261
},
22262
22263
'parse(undefined)': {
22264
call: 'parse',
22265
args: [void 0],
22266
result: {
22267
type: 'Program',
22268
body: [{
22269
type: 'ExpressionStatement',
22270
expression: {
22271
type: 'Identifier',
22272
name: 'undefined'
22273
}
22274
}]
22275
}
22276
},
22277
22278
'parse(new String("test"))': {
22279
call: 'parse',
22280
args: [new String('test')],
22281
result: {
22282
type: 'Program',
22283
body: [{
22284
type: 'ExpressionStatement',
22285
expression: {
22286
type: 'Identifier',
22287
name: 'test'
22288
}
22289
}]
22290
}
22291
},
22292
22293
'parse(new Number(42))': {
22294
call: 'parse',
22295
args: [new Number(42)],
22296
result: {
22297
type: 'Program',
22298
body: [{
22299
type: 'ExpressionStatement',
22300
expression: {
22301
type: 'Literal',
22302
value: 42,
22303
raw: '42'
22304
}
22305
}]
22306
}
22307
},
22308
22309
'parse(new Boolean(true))': {
22310
call: 'parse',
22311
args: [new Boolean(true)],
22312
result: {
22313
type: 'Program',
22314
body: [{
22315
type: 'ExpressionStatement',
22316
expression: {
22317
type: 'Literal',
22318
value: true,
22319
raw: 'true'
22320
}
22321
}]
22322
}
22323
},
22324
22325
'Syntax': {
22326
property: 'Syntax',
22327
result: {
22328
AssignmentExpression: 'AssignmentExpression',
22329
ArrayExpression: 'ArrayExpression',
22330
BlockStatement: 'BlockStatement',
22331
BinaryExpression: 'BinaryExpression',
22332
BreakStatement: 'BreakStatement',
22333
CallExpression: 'CallExpression',
22334
CatchClause: 'CatchClause',
22335
ConditionalExpression: 'ConditionalExpression',
22336
ContinueStatement: 'ContinueStatement',
22337
DoWhileStatement: 'DoWhileStatement',
22338
DebuggerStatement: 'DebuggerStatement',
22339
EmptyStatement: 'EmptyStatement',
22340
ExpressionStatement: 'ExpressionStatement',
22341
ForStatement: 'ForStatement',
22342
ForInStatement: 'ForInStatement',
22343
FunctionDeclaration: 'FunctionDeclaration',
22344
FunctionExpression: 'FunctionExpression',
22345
Identifier: 'Identifier',
22346
IfStatement: 'IfStatement',
22347
Literal: 'Literal',
22348
LabeledStatement: 'LabeledStatement',
22349
LogicalExpression: 'LogicalExpression',
22350
MemberExpression: 'MemberExpression',
22351
NewExpression: 'NewExpression',
22352
ObjectExpression: 'ObjectExpression',
22353
Program: 'Program',
22354
Property: 'Property',
22355
ReturnStatement: 'ReturnStatement',
22356
SequenceExpression: 'SequenceExpression',
22357
SwitchStatement: 'SwitchStatement',
22358
SwitchCase: 'SwitchCase',
22359
ThisExpression: 'ThisExpression',
22360
ThrowStatement: 'ThrowStatement',
22361
TryStatement: 'TryStatement',
22362
UnaryExpression: 'UnaryExpression',
22363
UpdateExpression: 'UpdateExpression',
22364
VariableDeclaration: 'VariableDeclaration',
22365
VariableDeclarator: 'VariableDeclarator',
22366
WhileStatement: 'WhileStatement',
22367
WithStatement: 'WithStatement'
22368
}
22369
},
22370
22371
'tokenize()': {
22372
call: 'tokenize',
22373
args: [],
22374
result: [{
22375
type: 'Identifier',
22376
value: 'undefined'
22377
}]
22378
},
22379
22380
'tokenize(null)': {
22381
call: 'tokenize',
22382
args: [null],
22383
result: [{
22384
type: 'Null',
22385
value: 'null'
22386
}]
22387
},
22388
22389
'tokenize(42)': {
22390
call: 'tokenize',
22391
args: [42],
22392
result: [{
22393
type: 'Numeric',
22394
value: '42'
22395
}]
22396
},
22397
22398
'tokenize(true)': {
22399
call: 'tokenize',
22400
args: [true],
22401
result: [{
22402
type: 'Boolean',
22403
value: 'true'
22404
}]
22405
},
22406
22407
'tokenize(undefined)': {
22408
call: 'tokenize',
22409
args: [void 0],
22410
result: [{
22411
type: 'Identifier',
22412
value: 'undefined'
22413
}]
22414
},
22415
22416
'tokenize(new String("test"))': {
22417
call: 'tokenize',
22418
args: [new String('test')],
22419
result: [{
22420
type: 'Identifier',
22421
value: 'test'
22422
}]
22423
},
22424
22425
'tokenize(new Number(42))': {
22426
call: 'tokenize',
22427
args: [new Number(42)],
22428
result: [{
22429
type: 'Numeric',
22430
value: '42'
22431
}]
22432
},
22433
22434
'tokenize(new Boolean(true))': {
22435
call: 'tokenize',
22436
args: [new Boolean(true)],
22437
result: [{
22438
type: 'Boolean',
22439
value: 'true'
22440
}]
22441
}
22442
},
22443
22444
'Tolerant parse': {
22445
'return': {
22446
type: 'Program',
22447
body: [{
22448
type: 'ReturnStatement',
22449
'argument': null,
22450
range: [0, 6],
22451
loc: {
22452
start: { line: 1, column: 0 },
22453
end: { line: 1, column: 6 }
22454
}
22455
}],
22456
range: [0, 6],
22457
loc: {
22458
start: { line: 1, column: 0 },
22459
end: { line: 1, column: 6 }
22460
},
22461
errors: [{
22462
index: 6,
22463
lineNumber: 1,
22464
column: 7,
22465
message: 'Error: Line 1: Illegal return statement'
22466
}]
22467
},
22468
22469
'(function () { \'use strict\'; with (i); }())': {
22470
type: 'Program',
22471
body: [{
22472
type: 'ExpressionStatement',
22473
expression: {
22474
type: 'CallExpression',
22475
callee: {
22476
type: 'FunctionExpression',
22477
id: null,
22478
params: [],
22479
defaults: [],
22480
body: {
22481
type: 'BlockStatement',
22482
body: [{
22483
type: 'ExpressionStatement',
22484
expression: {
22485
type: 'Literal',
22486
value: 'use strict',
22487
raw: '\'use strict\'',
22488
range: [15, 27],
22489
loc: {
22490
start: { line: 1, column: 15 },
22491
end: { line: 1, column: 27 }
22492
}
22493
},
22494
range: [15, 28],
22495
loc: {
22496
start: { line: 1, column: 15 },
22497
end: { line: 1, column: 28 }
22498
}
22499
}, {
22500
type: 'WithStatement',
22501
object: {
22502
type: 'Identifier',
22503
name: 'i',
22504
range: [35, 36],
22505
loc: {
22506
start: { line: 1, column: 35 },
22507
end: { line: 1, column: 36 }
22508
}
22509
},
22510
body: {
22511
type: 'EmptyStatement',
22512
range: [37, 38],
22513
loc: {
22514
start: { line: 1, column: 37 },
22515
end: { line: 1, column: 38 }
22516
}
22517
},
22518
range: [29, 38],
22519
loc: {
22520
start: { line: 1, column: 29 },
22521
end: { line: 1, column: 38 }
22522
}
22523
}],
22524
range: [13, 40],
22525
loc: {
22526
start: { line: 1, column: 13 },
22527
end: { line: 1, column: 40 }
22528
}
22529
},
22530
rest: null,
22531
generator: false,
22532
expression: false,
22533
range: [1, 40],
22534
loc: {
22535
start: { line: 1, column: 1 },
22536
end: { line: 1, column: 40 }
22537
}
22538
},
22539
'arguments': [],
22540
range: [1, 42],
22541
loc: {
22542
start: { line: 1, column: 1 },
22543
end: { line: 1, column: 42 }
22544
}
22545
},
22546
range: [0, 43],
22547
loc: {
22548
start: { line: 1, column: 0 },
22549
end: { line: 1, column: 43 }
22550
}
22551
}],
22552
range: [0, 43],
22553
loc: {
22554
start: { line: 1, column: 0 },
22555
end: { line: 1, column: 43 }
22556
},
22557
errors: [{
22558
index: 29,
22559
lineNumber: 1,
22560
column: 30,
22561
message: 'Error: Line 1: Strict mode code may not include a with statement'
22562
}]
22563
},
22564
22565
'(function () { \'use strict\'; 021 }())': {
22566
type: 'Program',
22567
body: [{
22568
type: 'ExpressionStatement',
22569
expression: {
22570
type: 'CallExpression',
22571
callee: {
22572
type: 'FunctionExpression',
22573
id: null,
22574
params: [],
22575
defaults: [],
22576
body: {
22577
type: 'BlockStatement',
22578
body: [{
22579
type: 'ExpressionStatement',
22580
expression: {
22581
type: 'Literal',
22582
value: 'use strict',
22583
raw: '\'use strict\'',
22584
range: [15, 27],
22585
loc: {
22586
start: { line: 1, column: 15 },
22587
end: { line: 1, column: 27 }
22588
}
22589
},
22590
range: [15, 28],
22591
loc: {
22592
start: { line: 1, column: 15 },
22593
end: { line: 1, column: 28 }
22594
}
22595
}, {
22596
type: 'ExpressionStatement',
22597
expression: {
22598
type: 'Literal',
22599
value: 17,
22600
raw: "021",
22601
range: [29, 32],
22602
loc: {
22603
start: { line: 1, column: 29 },
22604
end: { line: 1, column: 32 }
22605
}
22606
},
22607
range: [29, 33],
22608
loc: {
22609
start: { line: 1, column: 29 },
22610
end: { line: 1, column: 33 }
22611
}
22612
}],
22613
range: [13, 34],
22614
loc: {
22615
start: { line: 1, column: 13 },
22616
end: { line: 1, column: 34 }
22617
}
22618
},
22619
rest: null,
22620
generator: false,
22621
expression: false,
22622
range: [1, 34],
22623
loc: {
22624
start: { line: 1, column: 1 },
22625
end: { line: 1, column: 34 }
22626
}
22627
},
22628
'arguments': [],
22629
range: [1, 36],
22630
loc: {
22631
start: { line: 1, column: 1 },
22632
end: { line: 1, column: 36 }
22633
}
22634
},
22635
range: [0, 37],
22636
loc: {
22637
start: { line: 1, column: 0 },
22638
end: { line: 1, column: 37 }
22639
}
22640
}],
22641
range: [0, 37],
22642
loc: {
22643
start: { line: 1, column: 0 },
22644
end: { line: 1, column: 37 }
22645
},
22646
errors: [{
22647
index: 29,
22648
lineNumber: 1,
22649
column: 30,
22650
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
22651
}]
22652
},
22653
22654
'"use strict"; delete x': {
22655
type: 'Program',
22656
body: [{
22657
type: 'ExpressionStatement',
22658
expression: {
22659
type: 'Literal',
22660
value: 'use strict',
22661
raw: '"use strict"',
22662
range: [0, 12],
22663
loc: {
22664
start: { line: 1, column: 0 },
22665
end: { line: 1, column: 12 }
22666
}
22667
},
22668
range: [0, 13],
22669
loc: {
22670
start: { line: 1, column: 0 },
22671
end: { line: 1, column: 13 }
22672
}
22673
}, {
22674
type: 'ExpressionStatement',
22675
expression: {
22676
type: 'UnaryExpression',
22677
operator: 'delete',
22678
argument: {
22679
type: 'Identifier',
22680
name: 'x',
22681
range: [21, 22],
22682
loc: {
22683
start: { line: 1, column: 21 },
22684
end: { line: 1, column: 22 }
22685
}
22686
},
22687
prefix: true,
22688
range: [14, 22],
22689
loc: {
22690
start: { line: 1, column: 14 },
22691
end: { line: 1, column: 22 }
22692
}
22693
},
22694
range: [14, 22],
22695
loc: {
22696
start: { line: 1, column: 14 },
22697
end: { line: 1, column: 22 }
22698
}
22699
}],
22700
range: [0, 22],
22701
loc: {
22702
start: { line: 1, column: 0 },
22703
end: { line: 1, column: 22 }
22704
},
22705
errors: [{
22706
index: 22,
22707
lineNumber: 1,
22708
column: 23,
22709
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
22710
}]
22711
},
22712
22713
'"use strict"; try {} catch (eval) {}': {
22714
type: 'Program',
22715
body: [{
22716
type: 'ExpressionStatement',
22717
expression: {
22718
type: 'Literal',
22719
value: 'use strict',
22720
raw: '"use strict"',
22721
range: [0, 12],
22722
loc: {
22723
start: { line: 1, column: 0 },
22724
end: { line: 1, column: 12 }
22725
}
22726
},
22727
range: [0, 13],
22728
loc: {
22729
start: { line: 1, column: 0 },
22730
end: { line: 1, column: 13 }
22731
}
22732
}, {
22733
type: 'TryStatement',
22734
block: {
22735
type: 'BlockStatement',
22736
body: [],
22737
range: [18, 20],
22738
loc: {
22739
start: { line: 1, column: 18 },
22740
end: { line: 1, column: 20 }
22741
}
22742
},
22743
guardedHandlers: [],
22744
handlers: [{
22745
type: 'CatchClause',
22746
param: {
22747
type: 'Identifier',
22748
name: 'eval',
22749
range: [28, 32],
22750
loc: {
22751
start: { line: 1, column: 28 },
22752
end: { line: 1, column: 32 }
22753
}
22754
},
22755
body: {
22756
type: 'BlockStatement',
22757
body: [],
22758
range: [34, 36],
22759
loc: {
22760
start: { line: 1, column: 34 },
22761
end: { line: 1, column: 36 }
22762
}
22763
},
22764
range: [21, 36],
22765
loc: {
22766
start: { line: 1, column: 21 },
22767
end: { line: 1, column: 36 }
22768
}
22769
}],
22770
finalizer: null,
22771
range: [14, 36],
22772
loc: {
22773
start: { line: 1, column: 14 },
22774
end: { line: 1, column: 36 }
22775
}
22776
}],
22777
range: [0, 36],
22778
loc: {
22779
start: { line: 1, column: 0 },
22780
end: { line: 1, column: 36 }
22781
},
22782
errors: [{
22783
index: 32,
22784
lineNumber: 1,
22785
column: 33,
22786
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
22787
}]
22788
},
22789
22790
'"use strict"; try {} catch (arguments) {}': {
22791
type: 'Program',
22792
body: [{
22793
type: 'ExpressionStatement',
22794
expression: {
22795
type: 'Literal',
22796
value: 'use strict',
22797
raw: '"use strict"',
22798
range: [0, 12],
22799
loc: {
22800
start: { line: 1, column: 0 },
22801
end: { line: 1, column: 12 }
22802
}
22803
},
22804
range: [0, 13],
22805
loc: {
22806
start: { line: 1, column: 0 },
22807
end: { line: 1, column: 13 }
22808
}
22809
}, {
22810
type: 'TryStatement',
22811
block: {
22812
type: 'BlockStatement',
22813
body: [],
22814
range: [18, 20],
22815
loc: {
22816
start: { line: 1, column: 18 },
22817
end: { line: 1, column: 20 }
22818
}
22819
},
22820
guardedHandlers: [],
22821
handlers: [{
22822
type: 'CatchClause',
22823
param: {
22824
type: 'Identifier',
22825
name: 'arguments',
22826
range: [28, 37],
22827
loc: {
22828
start: { line: 1, column: 28 },
22829
end: { line: 1, column: 37 }
22830
}
22831
},
22832
body: {
22833
type: 'BlockStatement',
22834
body: [],
22835
range: [39, 41],
22836
loc: {
22837
start: { line: 1, column: 39 },
22838
end: { line: 1, column: 41 }
22839
}
22840
},
22841
range: [21, 41],
22842
loc: {
22843
start: { line: 1, column: 21 },
22844
end: { line: 1, column: 41 }
22845
}
22846
}],
22847
finalizer: null,
22848
range: [14, 41],
22849
loc: {
22850
start: { line: 1, column: 14 },
22851
end: { line: 1, column: 41 }
22852
}
22853
}],
22854
range: [0, 41],
22855
loc: {
22856
start: { line: 1, column: 0 },
22857
end: { line: 1, column: 41 }
22858
},
22859
errors: [{
22860
index: 37,
22861
lineNumber: 1,
22862
column: 38,
22863
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
22864
}]
22865
},
22866
22867
'"use strict"; var eval;': {
22868
type: 'Program',
22869
body: [{
22870
type: 'ExpressionStatement',
22871
expression: {
22872
type: 'Literal',
22873
value: 'use strict',
22874
raw: '"use strict"',
22875
range: [0, 12],
22876
loc: {
22877
start: { line: 1, column: 0 },
22878
end: { line: 1, column: 12 }
22879
}
22880
},
22881
range: [0, 13],
22882
loc: {
22883
start: { line: 1, column: 0 },
22884
end: { line: 1, column: 13 }
22885
}
22886
}, {
22887
type: 'VariableDeclaration',
22888
declarations: [{
22889
type: 'VariableDeclarator',
22890
id: {
22891
type: 'Identifier',
22892
name: 'eval',
22893
range: [18, 22],
22894
loc: {
22895
start: { line: 1, column: 18 },
22896
end: { line: 1, column: 22 }
22897
}
22898
},
22899
init: null,
22900
range: [18, 22],
22901
loc: {
22902
start: { line: 1, column: 18 },
22903
end: { line: 1, column: 22 }
22904
}
22905
}],
22906
kind: 'var',
22907
range: [14, 23],
22908
loc: {
22909
start: { line: 1, column: 14 },
22910
end: { line: 1, column: 23 }
22911
}
22912
}],
22913
range: [0, 23],
22914
loc: {
22915
start: { line: 1, column: 0 },
22916
end: { line: 1, column: 23 }
22917
},
22918
errors: [{
22919
index: 22,
22920
lineNumber: 1,
22921
column: 23,
22922
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
22923
}]
22924
},
22925
22926
'"use strict"; var arguments;': {
22927
type: 'Program',
22928
body: [{
22929
type: 'ExpressionStatement',
22930
expression: {
22931
type: 'Literal',
22932
value: 'use strict',
22933
raw: '"use strict"',
22934
range: [0, 12],
22935
loc: {
22936
start: { line: 1, column: 0 },
22937
end: { line: 1, column: 12 }
22938
}
22939
},
22940
range: [0, 13],
22941
loc: {
22942
start: { line: 1, column: 0 },
22943
end: { line: 1, column: 13 }
22944
}
22945
}, {
22946
type: 'VariableDeclaration',
22947
declarations: [{
22948
type: 'VariableDeclarator',
22949
id: {
22950
type: 'Identifier',
22951
name: 'arguments',
22952
range: [18, 27],
22953
loc: {
22954
start: { line: 1, column: 18 },
22955
end: { line: 1, column: 27 }
22956
}
22957
},
22958
init: null,
22959
range: [18, 27],
22960
loc: {
22961
start: { line: 1, column: 18 },
22962
end: { line: 1, column: 27 }
22963
}
22964
}],
22965
kind: 'var',
22966
range: [14, 28],
22967
loc: {
22968
start: { line: 1, column: 14 },
22969
end: { line: 1, column: 28 }
22970
}
22971
}],
22972
range: [0, 28],
22973
loc: {
22974
start: { line: 1, column: 0 },
22975
end: { line: 1, column: 28 }
22976
},
22977
errors: [{
22978
index: 27,
22979
lineNumber: 1,
22980
column: 28,
22981
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
22982
}]
22983
},
22984
22985
'"use strict"; eval = 0;': {
22986
type: 'Program',
22987
body: [{
22988
type: 'ExpressionStatement',
22989
expression: {
22990
type: 'Literal',
22991
value: 'use strict',
22992
raw: '"use strict"',
22993
range: [0, 12],
22994
loc: {
22995
start: { line: 1, column: 0 },
22996
end: { line: 1, column: 12 }
22997
}
22998
},
22999
range: [0, 13],
23000
loc: {
23001
start: { line: 1, column: 0 },
23002
end: { line: 1, column: 13 }
23003
}
23004
}, {
23005
type: 'ExpressionStatement',
23006
expression: {
23007
type: 'AssignmentExpression',
23008
operator: '=',
23009
left: {
23010
type: 'Identifier',
23011
name: 'eval',
23012
range: [14, 18],
23013
loc: {
23014
start: { line: 1, column: 14 },
23015
end: { line: 1, column: 18 }
23016
}
23017
},
23018
right: {
23019
type: 'Literal',
23020
value: 0,
23021
raw: '0',
23022
range: [21, 22],
23023
loc: {
23024
start: { line: 1, column: 21 },
23025
end: { line: 1, column: 22 }
23026
}
23027
},
23028
range: [14, 22],
23029
loc: {
23030
start: { line: 1, column: 14 },
23031
end: { line: 1, column: 22 }
23032
}
23033
},
23034
range: [14, 23],
23035
loc: {
23036
start: { line: 1, column: 14 },
23037
end: { line: 1, column: 23 }
23038
}
23039
}],
23040
range: [0, 23],
23041
loc: {
23042
start: { line: 1, column: 0 },
23043
end: { line: 1, column: 23 }
23044
},
23045
errors: [{
23046
index: 14,
23047
lineNumber: 1,
23048
column: 15,
23049
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
23050
}]
23051
},
23052
23053
'"use strict"; eval++;': {
23054
type: 'Program',
23055
body: [{
23056
type: 'ExpressionStatement',
23057
expression: {
23058
type: 'Literal',
23059
value: 'use strict',
23060
raw: '"use strict"',
23061
range: [0, 12],
23062
loc: {
23063
start: { line: 1, column: 0 },
23064
end: { line: 1, column: 12 }
23065
}
23066
},
23067
range: [0, 13],
23068
loc: {
23069
start: { line: 1, column: 0 },
23070
end: { line: 1, column: 13 }
23071
}
23072
}, {
23073
type: 'ExpressionStatement',
23074
expression: {
23075
type: 'UpdateExpression',
23076
operator: '++',
23077
argument: {
23078
type: 'Identifier',
23079
name: 'eval',
23080
range: [14, 18],
23081
loc: {
23082
start: { line: 1, column: 14 },
23083
end: { line: 1, column: 18 }
23084
}
23085
},
23086
prefix: false,
23087
range: [14, 20],
23088
loc: {
23089
start: { line: 1, column: 14 },
23090
end: { line: 1, column: 20 }
23091
}
23092
},
23093
range: [14, 21],
23094
loc: {
23095
start: { line: 1, column: 14 },
23096
end: { line: 1, column: 21 }
23097
}
23098
}],
23099
range: [0, 21],
23100
loc: {
23101
start: { line: 1, column: 0 },
23102
end: { line: 1, column: 21 }
23103
},
23104
errors: [{
23105
index: 18,
23106
lineNumber: 1,
23107
column: 19,
23108
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23109
}]
23110
},
23111
23112
'"use strict"; --eval;': {
23113
type: 'Program',
23114
body: [{
23115
type: 'ExpressionStatement',
23116
expression: {
23117
type: 'Literal',
23118
value: 'use strict',
23119
raw: '"use strict"',
23120
range: [0, 12],
23121
loc: {
23122
start: { line: 1, column: 0 },
23123
end: { line: 1, column: 12 }
23124
}
23125
},
23126
range: [0, 13],
23127
loc: {
23128
start: { line: 1, column: 0 },
23129
end: { line: 1, column: 13 }
23130
}
23131
}, {
23132
type: 'ExpressionStatement',
23133
expression: {
23134
type: 'UpdateExpression',
23135
operator: '--',
23136
argument: {
23137
type: 'Identifier',
23138
name: 'eval',
23139
range: [16, 20],
23140
loc: {
23141
start: { line: 1, column: 16 },
23142
end: { line: 1, column: 20 }
23143
}
23144
},
23145
prefix: true,
23146
range: [14, 20],
23147
loc: {
23148
start: { line: 1, column: 14 },
23149
end: { line: 1, column: 20 }
23150
}
23151
},
23152
range: [14, 21],
23153
loc: {
23154
start: { line: 1, column: 14 },
23155
end: { line: 1, column: 21 }
23156
}
23157
}],
23158
range: [0, 21],
23159
loc: {
23160
start: { line: 1, column: 0 },
23161
end: { line: 1, column: 21 }
23162
},
23163
errors: [{
23164
index: 20,
23165
lineNumber: 1,
23166
column: 21,
23167
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23168
}]
23169
},
23170
23171
'"use strict"; arguments = 0;': {
23172
type: 'Program',
23173
body: [{
23174
type: 'ExpressionStatement',
23175
expression: {
23176
type: 'Literal',
23177
value: 'use strict',
23178
raw: '"use strict"',
23179
range: [0, 12],
23180
loc: {
23181
start: { line: 1, column: 0 },
23182
end: { line: 1, column: 12 }
23183
}
23184
},
23185
range: [0, 13],
23186
loc: {
23187
start: { line: 1, column: 0 },
23188
end: { line: 1, column: 13 }
23189
}
23190
}, {
23191
type: 'ExpressionStatement',
23192
expression: {
23193
type: 'AssignmentExpression',
23194
operator: '=',
23195
left: {
23196
type: 'Identifier',
23197
name: 'arguments',
23198
range: [14, 23],
23199
loc: {
23200
start: { line: 1, column: 14 },
23201
end: { line: 1, column: 23 }
23202
}
23203
},
23204
right: {
23205
type: 'Literal',
23206
value: 0,
23207
raw: '0',
23208
range: [26, 27],
23209
loc: {
23210
start: { line: 1, column: 26 },
23211
end: { line: 1, column: 27 }
23212
}
23213
},
23214
range: [14, 27],
23215
loc: {
23216
start: { line: 1, column: 14 },
23217
end: { line: 1, column: 27 }
23218
}
23219
},
23220
range: [14, 28],
23221
loc: {
23222
start: { line: 1, column: 14 },
23223
end: { line: 1, column: 28 }
23224
}
23225
}],
23226
range: [0, 28],
23227
loc: {
23228
start: { line: 1, column: 0 },
23229
end: { line: 1, column: 28 }
23230
},
23231
errors: [{
23232
index: 14,
23233
lineNumber: 1,
23234
column: 15,
23235
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
23236
}]
23237
},
23238
23239
'"use strict"; arguments--;': {
23240
type: 'Program',
23241
body: [{
23242
type: 'ExpressionStatement',
23243
expression: {
23244
type: 'Literal',
23245
value: 'use strict',
23246
raw: '"use strict"',
23247
range: [0, 12],
23248
loc: {
23249
start: { line: 1, column: 0 },
23250
end: { line: 1, column: 12 }
23251
}
23252
},
23253
range: [0, 13],
23254
loc: {
23255
start: { line: 1, column: 0 },
23256
end: { line: 1, column: 13 }
23257
}
23258
}, {
23259
type: 'ExpressionStatement',
23260
expression: {
23261
type: 'UpdateExpression',
23262
operator: '--',
23263
argument: {
23264
type: 'Identifier',
23265
name: 'arguments',
23266
range: [14, 23],
23267
loc: {
23268
start: { line: 1, column: 14 },
23269
end: { line: 1, column: 23 }
23270
}
23271
},
23272
prefix: false,
23273
range: [14, 25],
23274
loc: {
23275
start: { line: 1, column: 14 },
23276
end: { line: 1, column: 25 }
23277
}
23278
},
23279
range: [14, 26],
23280
loc: {
23281
start: { line: 1, column: 14 },
23282
end: { line: 1, column: 26 }
23283
}
23284
}],
23285
range: [0, 26],
23286
loc: {
23287
start: { line: 1, column: 0 },
23288
end: { line: 1, column: 26 }
23289
},
23290
errors: [{
23291
index: 23,
23292
lineNumber: 1,
23293
column: 24,
23294
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
23295
}]
23296
},
23297
23298
'"use strict"; ++arguments;': {
23299
type: 'Program',
23300
body: [{
23301
type: 'ExpressionStatement',
23302
expression: {
23303
type: 'Literal',
23304
value: 'use strict',
23305
raw: '"use strict"',
23306
range: [0, 12],
23307
loc: {
23308
start: { line: 1, column: 0 },
23309
end: { line: 1, column: 12 }
23310
}
23311
},
23312
range: [0, 13],
23313
loc: {
23314
start: { line: 1, column: 0 },
23315
end: { line: 1, column: 13 }
23316
}
23317
}, {
23318
type: 'ExpressionStatement',
23319
expression: {
23320
type: 'UpdateExpression',
23321
operator: '++',
23322
argument: {
23323
type: 'Identifier',
23324
name: 'arguments',
23325
range: [16, 25],
23326
loc: {
23327
start: { line: 1, column: 16 },
23328
end: { line: 1, column: 25 }
23329
}
23330
},
23331
prefix: true,
23332
range: [14, 25],
23333
loc: {
23334
start: { line: 1, column: 14 },
23335
end: { line: 1, column: 25 }
23336
}
23337
},
23338
range: [14, 26],
23339
loc: {
23340
start: { line: 1, column: 14 },
23341
end: { line: 1, column: 26 }
23342
}
23343
}],
23344
range: [0, 26],
23345
loc: {
23346
start: { line: 1, column: 0 },
23347
end: { line: 1, column: 26 }
23348
},
23349
errors: [{
23350
index: 25,
23351
lineNumber: 1,
23352
column: 26,
23353
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
23354
}]
23355
},
23356
23357
23358
'"use strict";x={y:1,y:1}': {
23359
type: 'Program',
23360
body: [{
23361
type: 'ExpressionStatement',
23362
expression: {
23363
type: 'Literal',
23364
value: 'use strict',
23365
raw: '"use strict"',
23366
range: [0, 12],
23367
loc: {
23368
start: { line: 1, column: 0 },
23369
end: { line: 1, column: 12 }
23370
}
23371
},
23372
range: [0, 13],
23373
loc: {
23374
start: { line: 1, column: 0 },
23375
end: { line: 1, column: 13 }
23376
}
23377
}, {
23378
type: 'ExpressionStatement',
23379
expression: {
23380
type: 'AssignmentExpression',
23381
operator: '=',
23382
left: {
23383
type: 'Identifier',
23384
name: 'x',
23385
range: [13, 14],
23386
loc: {
23387
start: { line: 1, column: 13 },
23388
end: { line: 1, column: 14 }
23389
}
23390
},
23391
right: {
23392
type: 'ObjectExpression',
23393
properties: [{
23394
type: 'Property',
23395
key: {
23396
type: 'Identifier',
23397
name: 'y',
23398
range: [16, 17],
23399
loc: {
23400
start: { line: 1, column: 16 },
23401
end: { line: 1, column: 17 }
23402
}
23403
},
23404
value: {
23405
type: 'Literal',
23406
value: 1,
23407
raw: '1',
23408
range: [18, 19],
23409
loc: {
23410
start: { line: 1, column: 18 },
23411
end: { line: 1, column: 19 }
23412
}
23413
},
23414
kind: 'init',
23415
range: [16, 19],
23416
loc: {
23417
start: { line: 1, column: 16 },
23418
end: { line: 1, column: 19 }
23419
}
23420
}, {
23421
type: 'Property',
23422
key: {
23423
type: 'Identifier',
23424
name: 'y',
23425
range: [20, 21],
23426
loc: {
23427
start: { line: 1, column: 20 },
23428
end: { line: 1, column: 21 }
23429
}
23430
},
23431
value: {
23432
type: 'Literal',
23433
value: 1,
23434
raw: '1',
23435
range: [22, 23],
23436
loc: {
23437
start: { line: 1, column: 22 },
23438
end: { line: 1, column: 23 }
23439
}
23440
},
23441
kind: 'init',
23442
range: [20, 23],
23443
loc: {
23444
start: { line: 1, column: 20 },
23445
end: { line: 1, column: 23 }
23446
}
23447
}],
23448
range: [15, 24],
23449
loc: {
23450
start: { line: 1, column: 15 },
23451
end: { line: 1, column: 24 }
23452
}
23453
},
23454
range: [13, 24],
23455
loc: {
23456
start: { line: 1, column: 13 },
23457
end: { line: 1, column: 24 }
23458
}
23459
},
23460
range: [13, 24],
23461
loc: {
23462
start: { line: 1, column: 13 },
23463
end: { line: 1, column: 24 }
23464
}
23465
}],
23466
range: [0, 24],
23467
loc: {
23468
start: { line: 1, column: 0 },
23469
end: { line: 1, column: 24 }
23470
},
23471
errors: [{
23472
index: 23,
23473
lineNumber: 1,
23474
column: 24,
23475
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
23476
}]
23477
},
23478
23479
'"use strict"; function eval() {};': {
23480
type: 'Program',
23481
body: [{
23482
type: 'ExpressionStatement',
23483
expression: {
23484
type: 'Literal',
23485
value: 'use strict',
23486
raw: '"use strict"',
23487
range: [0, 12],
23488
loc: {
23489
start: { line: 1, column: 0 },
23490
end: { line: 1, column: 12 }
23491
}
23492
},
23493
range: [0, 13],
23494
loc: {
23495
start: { line: 1, column: 0 },
23496
end: { line: 1, column: 13 }
23497
}
23498
}, {
23499
type: 'FunctionDeclaration',
23500
id: {
23501
type: 'Identifier',
23502
name: 'eval',
23503
range: [23, 27],
23504
loc: {
23505
start: { line: 1, column: 23 },
23506
end: { line: 1, column: 27 }
23507
}
23508
},
23509
params: [],
23510
defaults: [],
23511
body: {
23512
type: 'BlockStatement',
23513
body: [],
23514
range: [30, 32],
23515
loc: {
23516
start: { line: 1, column: 30 },
23517
end: { line: 1, column: 32 }
23518
}
23519
},
23520
rest: null,
23521
generator: false,
23522
expression: false,
23523
range: [14, 32],
23524
loc: {
23525
start: { line: 1, column: 14 },
23526
end: { line: 1, column: 32 }
23527
}
23528
}, {
23529
type: 'EmptyStatement',
23530
range: [32, 33],
23531
loc: {
23532
start: { line: 1, column: 32 },
23533
end: { line: 1, column: 33 }
23534
}
23535
}],
23536
range: [0, 33],
23537
loc: {
23538
start: { line: 1, column: 0 },
23539
end: { line: 1, column: 33 }
23540
},
23541
errors: [{
23542
index: 23,
23543
lineNumber: 1,
23544
column: 24,
23545
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23546
}]
23547
},
23548
23549
'"use strict"; function arguments() {};': {
23550
type: 'Program',
23551
body: [{
23552
type: 'ExpressionStatement',
23553
expression: {
23554
type: 'Literal',
23555
value: 'use strict',
23556
raw: '"use strict"',
23557
range: [0, 12],
23558
loc: {
23559
start: { line: 1, column: 0 },
23560
end: { line: 1, column: 12 }
23561
}
23562
},
23563
range: [0, 13],
23564
loc: {
23565
start: { line: 1, column: 0 },
23566
end: { line: 1, column: 13 }
23567
}
23568
}, {
23569
type: 'FunctionDeclaration',
23570
id: {
23571
type: 'Identifier',
23572
name: 'arguments',
23573
range: [23, 32],
23574
loc: {
23575
start: { line: 1, column: 23 },
23576
end: { line: 1, column: 32 }
23577
}
23578
},
23579
params: [],
23580
defaults: [],
23581
body: {
23582
type: 'BlockStatement',
23583
body: [],
23584
range: [35, 37],
23585
loc: {
23586
start: { line: 1, column: 35 },
23587
end: { line: 1, column: 37 }
23588
}
23589
},
23590
rest: null,
23591
generator: false,
23592
expression: false,
23593
range: [14, 37],
23594
loc: {
23595
start: { line: 1, column: 14 },
23596
end: { line: 1, column: 37 }
23597
}
23598
}, {
23599
type: 'EmptyStatement',
23600
range: [37, 38],
23601
loc: {
23602
start: { line: 1, column: 37 },
23603
end: { line: 1, column: 38 }
23604
}
23605
}],
23606
range: [0, 38],
23607
loc: {
23608
start: { line: 1, column: 0 },
23609
end: { line: 1, column: 38 }
23610
},
23611
errors: [{
23612
index: 23,
23613
lineNumber: 1,
23614
column: 24,
23615
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23616
}]
23617
},
23618
23619
'"use strict"; function interface() {};': {
23620
type: 'Program',
23621
body: [{
23622
type: 'ExpressionStatement',
23623
expression: {
23624
type: 'Literal',
23625
value: 'use strict',
23626
raw: '"use strict"',
23627
range: [0, 12],
23628
loc: {
23629
start: { line: 1, column: 0 },
23630
end: { line: 1, column: 12 }
23631
}
23632
},
23633
range: [0, 13],
23634
loc: {
23635
start: { line: 1, column: 0 },
23636
end: { line: 1, column: 13 }
23637
}
23638
}, {
23639
type: 'FunctionDeclaration',
23640
id: {
23641
type: 'Identifier',
23642
name: 'interface',
23643
range: [23, 32],
23644
loc: {
23645
start: { line: 1, column: 23 },
23646
end: { line: 1, column: 32 }
23647
}
23648
},
23649
params: [],
23650
defaults: [],
23651
body: {
23652
type: 'BlockStatement',
23653
body: [],
23654
range: [35, 37],
23655
loc: {
23656
start: { line: 1, column: 35 },
23657
end: { line: 1, column: 37 }
23658
}
23659
},
23660
rest: null,
23661
generator: false,
23662
expression: false,
23663
range: [14, 37],
23664
loc: {
23665
start: { line: 1, column: 14 },
23666
end: { line: 1, column: 37 }
23667
}
23668
}, {
23669
type: 'EmptyStatement',
23670
range: [37, 38],
23671
loc: {
23672
start: { line: 1, column: 37 },
23673
end: { line: 1, column: 38 }
23674
}
23675
}],
23676
range: [0, 38],
23677
loc: {
23678
start: { line: 1, column: 0 },
23679
end: { line: 1, column: 38 }
23680
},
23681
errors: [{
23682
index: 23,
23683
lineNumber: 1,
23684
column: 24,
23685
message: 'Error: Line 1: Use of future reserved word in strict mode'
23686
}]
23687
},
23688
23689
'"use strict"; (function eval() {});': {
23690
type: 'Program',
23691
body: [{
23692
type: 'ExpressionStatement',
23693
expression: {
23694
type: 'Literal',
23695
value: 'use strict',
23696
raw: '"use strict"',
23697
range: [0, 12],
23698
loc: {
23699
start: { line: 1, column: 0 },
23700
end: { line: 1, column: 12 }
23701
}
23702
},
23703
range: [0, 13],
23704
loc: {
23705
start: { line: 1, column: 0 },
23706
end: { line: 1, column: 13 }
23707
}
23708
}, {
23709
type: 'ExpressionStatement',
23710
expression: {
23711
type: 'FunctionExpression',
23712
id: {
23713
type: 'Identifier',
23714
name: 'eval',
23715
range: [24, 28],
23716
loc: {
23717
start: { line: 1, column: 24 },
23718
end: { line: 1, column: 28 }
23719
}
23720
},
23721
params: [],
23722
defaults: [],
23723
body: {
23724
type: 'BlockStatement',
23725
body: [],
23726
range: [31, 33],
23727
loc: {
23728
start: { line: 1, column: 31 },
23729
end: { line: 1, column: 33 }
23730
}
23731
},
23732
rest: null,
23733
generator: false,
23734
expression: false,
23735
range: [15, 33],
23736
loc: {
23737
start: { line: 1, column: 15 },
23738
end: { line: 1, column: 33 }
23739
}
23740
},
23741
range: [14, 35],
23742
loc: {
23743
start: { line: 1, column: 14 },
23744
end: { line: 1, column: 35 }
23745
}
23746
}],
23747
range: [0, 35],
23748
loc: {
23749
start: { line: 1, column: 0 },
23750
end: { line: 1, column: 35 }
23751
},
23752
errors: [{
23753
index: 24,
23754
lineNumber: 1,
23755
column: 25,
23756
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23757
}]
23758
},
23759
23760
'"use strict"; (function arguments() {});': {
23761
type: 'Program',
23762
body: [{
23763
type: 'ExpressionStatement',
23764
expression: {
23765
type: 'Literal',
23766
value: 'use strict',
23767
raw: '"use strict"',
23768
range: [0, 12],
23769
loc: {
23770
start: { line: 1, column: 0 },
23771
end: { line: 1, column: 12 }
23772
}
23773
},
23774
range: [0, 13],
23775
loc: {
23776
start: { line: 1, column: 0 },
23777
end: { line: 1, column: 13 }
23778
}
23779
}, {
23780
type: 'ExpressionStatement',
23781
expression: {
23782
type: 'FunctionExpression',
23783
id: {
23784
type: 'Identifier',
23785
name: 'arguments',
23786
range: [24, 33],
23787
loc: {
23788
start: { line: 1, column: 24 },
23789
end: { line: 1, column: 33 }
23790
}
23791
},
23792
params: [],
23793
defaults: [],
23794
body: {
23795
type: 'BlockStatement',
23796
body: [],
23797
range: [36, 38],
23798
loc: {
23799
start: { line: 1, column: 36 },
23800
end: { line: 1, column: 38 }
23801
}
23802
},
23803
rest: null,
23804
generator: false,
23805
expression: false,
23806
range: [15, 38],
23807
loc: {
23808
start: { line: 1, column: 15 },
23809
end: { line: 1, column: 38 }
23810
}
23811
},
23812
range: [14, 40],
23813
loc: {
23814
start: { line: 1, column: 14 },
23815
end: { line: 1, column: 40 }
23816
}
23817
}],
23818
range: [0, 40],
23819
loc: {
23820
start: { line: 1, column: 0 },
23821
end: { line: 1, column: 40 }
23822
},
23823
errors: [{
23824
index: 24,
23825
lineNumber: 1,
23826
column: 25,
23827
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
23828
}]
23829
},
23830
23831
'"use strict"; (function interface() {});': {
23832
type: 'Program',
23833
body: [{
23834
type: 'ExpressionStatement',
23835
expression: {
23836
type: 'Literal',
23837
value: 'use strict',
23838
raw: '"use strict"',
23839
range: [0, 12],
23840
loc: {
23841
start: { line: 1, column: 0 },
23842
end: { line: 1, column: 12 }
23843
}
23844
},
23845
range: [0, 13],
23846
loc: {
23847
start: { line: 1, column: 0 },
23848
end: { line: 1, column: 13 }
23849
}
23850
}, {
23851
type: 'ExpressionStatement',
23852
expression: {
23853
type: 'FunctionExpression',
23854
id: {
23855
type: 'Identifier',
23856
name: 'interface',
23857
range: [24, 33],
23858
loc: {
23859
start: { line: 1, column: 24 },
23860
end: { line: 1, column: 33 }
23861
}
23862
},
23863
params: [],
23864
defaults: [],
23865
body: {
23866
type: 'BlockStatement',
23867
body: [],
23868
range: [36, 38],
23869
loc: {
23870
start: { line: 1, column: 36 },
23871
end: { line: 1, column: 38 }
23872
}
23873
},
23874
rest: null,
23875
generator: false,
23876
expression: false,
23877
range: [15, 38],
23878
loc: {
23879
start: { line: 1, column: 15 },
23880
end: { line: 1, column: 38 }
23881
}
23882
},
23883
range: [14, 40],
23884
loc: {
23885
start: { line: 1, column: 14 },
23886
end: { line: 1, column: 40 }
23887
}
23888
}],
23889
range: [0, 40],
23890
loc: {
23891
start: { line: 1, column: 0 },
23892
end: { line: 1, column: 40 }
23893
},
23894
errors: [{
23895
index: 24,
23896
lineNumber: 1,
23897
column: 25,
23898
message: 'Error: Line 1: Use of future reserved word in strict mode'
23899
}]
23900
},
23901
23902
'"use strict"; function f(eval) {};': {
23903
type: 'Program',
23904
body: [{
23905
type: 'ExpressionStatement',
23906
expression: {
23907
type: 'Literal',
23908
value: 'use strict',
23909
raw: '"use strict"',
23910
range: [0, 12],
23911
loc: {
23912
start: { line: 1, column: 0 },
23913
end: { line: 1, column: 12 }
23914
}
23915
},
23916
range: [0, 13],
23917
loc: {
23918
start: { line: 1, column: 0 },
23919
end: { line: 1, column: 13 }
23920
}
23921
}, {
23922
type: 'FunctionDeclaration',
23923
id: {
23924
type: 'Identifier',
23925
name: 'f',
23926
range: [23, 24],
23927
loc: {
23928
start: { line: 1, column: 23 },
23929
end: { line: 1, column: 24 }
23930
}
23931
},
23932
params: [{
23933
type: 'Identifier',
23934
name: 'eval',
23935
range: [25, 29],
23936
loc: {
23937
start: { line: 1, column: 25 },
23938
end: { line: 1, column: 29 }
23939
}
23940
}],
23941
defaults: [],
23942
body: {
23943
type: 'BlockStatement',
23944
body: [],
23945
range: [31, 33],
23946
loc: {
23947
start: { line: 1, column: 31 },
23948
end: { line: 1, column: 33 }
23949
}
23950
},
23951
rest: null,
23952
generator: false,
23953
expression: false,
23954
range: [14, 33],
23955
loc: {
23956
start: { line: 1, column: 14 },
23957
end: { line: 1, column: 33 }
23958
}
23959
}, {
23960
type: 'EmptyStatement',
23961
range: [33, 34],
23962
loc: {
23963
start: { line: 1, column: 33 },
23964
end: { line: 1, column: 34 }
23965
}
23966
}],
23967
range: [0, 34],
23968
loc: {
23969
start: { line: 1, column: 0 },
23970
end: { line: 1, column: 34 }
23971
},
23972
errors: [{
23973
index: 25,
23974
lineNumber: 1,
23975
column: 26,
23976
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
23977
}]
23978
},
23979
23980
'"use strict"; function f(arguments) {};': {
23981
type: 'Program',
23982
body: [{
23983
type: 'ExpressionStatement',
23984
expression: {
23985
type: 'Literal',
23986
value: 'use strict',
23987
raw: '"use strict"',
23988
range: [0, 12],
23989
loc: {
23990
start: { line: 1, column: 0 },
23991
end: { line: 1, column: 12 }
23992
}
23993
},
23994
range: [0, 13],
23995
loc: {
23996
start: { line: 1, column: 0 },
23997
end: { line: 1, column: 13 }
23998
}
23999
}, {
24000
type: 'FunctionDeclaration',
24001
id: {
24002
type: 'Identifier',
24003
name: 'f',
24004
range: [23, 24],
24005
loc: {
24006
start: { line: 1, column: 23 },
24007
end: { line: 1, column: 24 }
24008
}
24009
},
24010
params: [{
24011
type: 'Identifier',
24012
name: 'arguments',
24013
range: [25, 34],
24014
loc: {
24015
start: { line: 1, column: 25 },
24016
end: { line: 1, column: 34 }
24017
}
24018
}],
24019
defaults: [],
24020
body: {
24021
type: 'BlockStatement',
24022
body: [],
24023
range: [36, 38],
24024
loc: {
24025
start: { line: 1, column: 36 },
24026
end: { line: 1, column: 38 }
24027
}
24028
},
24029
rest: null,
24030
generator: false,
24031
expression: false,
24032
range: [14, 38],
24033
loc: {
24034
start: { line: 1, column: 14 },
24035
end: { line: 1, column: 38 }
24036
}
24037
}, {
24038
type: 'EmptyStatement',
24039
range: [38, 39],
24040
loc: {
24041
start: { line: 1, column: 38 },
24042
end: { line: 1, column: 39 }
24043
}
24044
}],
24045
range: [0, 39],
24046
loc: {
24047
start: { line: 1, column: 0 },
24048
end: { line: 1, column: 39 }
24049
},
24050
errors: [{
24051
index: 25,
24052
lineNumber: 1,
24053
column: 26,
24054
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
24055
}]
24056
},
24057
24058
'"use strict"; function f(foo, foo) {};': {
24059
type: 'Program',
24060
body: [{
24061
type: 'ExpressionStatement',
24062
expression: {
24063
type: 'Literal',
24064
value: 'use strict',
24065
raw: '"use strict"',
24066
range: [0, 12],
24067
loc: {
24068
start: { line: 1, column: 0 },
24069
end: { line: 1, column: 12 }
24070
}
24071
},
24072
range: [0, 13],
24073
loc: {
24074
start: { line: 1, column: 0 },
24075
end: { line: 1, column: 13 }
24076
}
24077
}, {
24078
type: 'FunctionDeclaration',
24079
id: {
24080
type: 'Identifier',
24081
name: 'f',
24082
range: [23, 24],
24083
loc: {
24084
start: { line: 1, column: 23 },
24085
end: { line: 1, column: 24 }
24086
}
24087
},
24088
params: [{
24089
type: 'Identifier',
24090
name: 'foo',
24091
range: [25, 28],
24092
loc: {
24093
start: { line: 1, column: 25 },
24094
end: { line: 1, column: 28 }
24095
}
24096
}, {
24097
type: 'Identifier',
24098
name: 'foo',
24099
range: [31, 34],
24100
loc: {
24101
start: { line: 1, column: 31 },
24102
end: { line: 1, column: 34 }
24103
}
24104
}],
24105
defaults: [],
24106
body: {
24107
type: 'BlockStatement',
24108
body: [],
24109
range: [36, 38],
24110
loc: {
24111
start: { line: 1, column: 36 },
24112
end: { line: 1, column: 38 }
24113
}
24114
},
24115
rest: null,
24116
generator: false,
24117
expression: false,
24118
range: [14, 38],
24119
loc: {
24120
start: { line: 1, column: 14 },
24121
end: { line: 1, column: 38 }
24122
}
24123
}, {
24124
type: 'EmptyStatement',
24125
range: [38, 39],
24126
loc: {
24127
start: { line: 1, column: 38 },
24128
end: { line: 1, column: 39 }
24129
}
24130
}],
24131
range: [0, 39],
24132
loc: {
24133
start: { line: 1, column: 0 },
24134
end: { line: 1, column: 39 }
24135
},
24136
errors: [{
24137
index: 31,
24138
lineNumber: 1,
24139
column: 32,
24140
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
24141
}]
24142
},
24143
24144
'"use strict"; (function f(eval) {});': {
24145
type: 'Program',
24146
body: [{
24147
type: 'ExpressionStatement',
24148
expression: {
24149
type: 'Literal',
24150
value: 'use strict',
24151
raw: '"use strict"',
24152
range: [0, 12],
24153
loc: {
24154
start: { line: 1, column: 0 },
24155
end: { line: 1, column: 12 }
24156
}
24157
},
24158
range: [0, 13],
24159
loc: {
24160
start: { line: 1, column: 0 },
24161
end: { line: 1, column: 13 }
24162
}
24163
}, {
24164
type: 'ExpressionStatement',
24165
expression: {
24166
type: 'FunctionExpression',
24167
id: {
24168
type: 'Identifier',
24169
name: 'f',
24170
range: [24, 25],
24171
loc: {
24172
start: { line: 1, column: 24 },
24173
end: { line: 1, column: 25 }
24174
}
24175
},
24176
params: [{
24177
type: 'Identifier',
24178
name: 'eval',
24179
range: [26, 30],
24180
loc: {
24181
start: { line: 1, column: 26 },
24182
end: { line: 1, column: 30 }
24183
}
24184
}],
24185
defaults: [],
24186
body: {
24187
type: 'BlockStatement',
24188
body: [],
24189
range: [32, 34],
24190
loc: {
24191
start: { line: 1, column: 32 },
24192
end: { line: 1, column: 34 }
24193
}
24194
},
24195
rest: null,
24196
generator: false,
24197
expression: false,
24198
range: [15, 34],
24199
loc: {
24200
start: { line: 1, column: 15 },
24201
end: { line: 1, column: 34 }
24202
}
24203
},
24204
range: [14, 36],
24205
loc: {
24206
start: { line: 1, column: 14 },
24207
end: { line: 1, column: 36 }
24208
}
24209
}],
24210
range: [0, 36],
24211
loc: {
24212
start: { line: 1, column: 0 },
24213
end: { line: 1, column: 36 }
24214
},
24215
errors: [{
24216
index: 26,
24217
lineNumber: 1,
24218
column: 27,
24219
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
24220
}]
24221
},
24222
24223
24224
'"use strict"; (function f(arguments) {});': {
24225
type: 'Program',
24226
body: [{
24227
type: 'ExpressionStatement',
24228
expression: {
24229
type: 'Literal',
24230
value: 'use strict',
24231
raw: '"use strict"',
24232
range: [0, 12],
24233
loc: {
24234
start: { line: 1, column: 0 },
24235
end: { line: 1, column: 12 }
24236
}
24237
},
24238
range: [0, 13],
24239
loc: {
24240
start: { line: 1, column: 0 },
24241
end: { line: 1, column: 13 }
24242
}
24243
}, {
24244
type: 'ExpressionStatement',
24245
expression: {
24246
type: 'FunctionExpression',
24247
id: {
24248
type: 'Identifier',
24249
name: 'f',
24250
range: [24, 25],
24251
loc: {
24252
start: { line: 1, column: 24 },
24253
end: { line: 1, column: 25 }
24254
}
24255
},
24256
params: [{
24257
type: 'Identifier',
24258
name: 'arguments',
24259
range: [26, 35],
24260
loc: {
24261
start: { line: 1, column: 26 },
24262
end: { line: 1, column: 35 }
24263
}
24264
}],
24265
defaults: [],
24266
body: {
24267
type: 'BlockStatement',
24268
body: [],
24269
range: [37, 39],
24270
loc: {
24271
start: { line: 1, column: 37 },
24272
end: { line: 1, column: 39 }
24273
}
24274
},
24275
rest: null,
24276
generator: false,
24277
expression: false,
24278
range: [15, 39],
24279
loc: {
24280
start: { line: 1, column: 15 },
24281
end: { line: 1, column: 39 }
24282
}
24283
},
24284
range: [14, 41],
24285
loc: {
24286
start: { line: 1, column: 14 },
24287
end: { line: 1, column: 41 }
24288
}
24289
}],
24290
range: [0, 41],
24291
loc: {
24292
start: { line: 1, column: 0 },
24293
end: { line: 1, column: 41 }
24294
},
24295
errors: [{
24296
index: 26,
24297
lineNumber: 1,
24298
column: 27,
24299
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
24300
}]
24301
},
24302
24303
'"use strict"; (function f(foo, foo) {});': {
24304
type: 'Program',
24305
body: [{
24306
type: 'ExpressionStatement',
24307
expression: {
24308
type: 'Literal',
24309
value: 'use strict',
24310
raw: '"use strict"',
24311
range: [0, 12],
24312
loc: {
24313
start: { line: 1, column: 0 },
24314
end: { line: 1, column: 12 }
24315
}
24316
},
24317
range: [0, 13],
24318
loc: {
24319
start: { line: 1, column: 0 },
24320
end: { line: 1, column: 13 }
24321
}
24322
}, {
24323
type: 'ExpressionStatement',
24324
expression: {
24325
type: 'FunctionExpression',
24326
id: {
24327
type: 'Identifier',
24328
name: 'f',
24329
range: [24, 25],
24330
loc: {
24331
start: { line: 1, column: 24 },
24332
end: { line: 1, column: 25 }
24333
}
24334
},
24335
params: [{
24336
type: 'Identifier',
24337
name: 'foo',
24338
range: [26, 29],
24339
loc: {
24340
start: { line: 1, column: 26 },
24341
end: { line: 1, column: 29 }
24342
}
24343
}, {
24344
type: 'Identifier',
24345
name: 'foo',
24346
range: [32, 35],
24347
loc: {
24348
start: { line: 1, column: 32 },
24349
end: { line: 1, column: 35 }
24350
}
24351
}],
24352
defaults: [],
24353
body: {
24354
type: 'BlockStatement',
24355
body: [],
24356
range: [37, 39],
24357
loc: {
24358
start: { line: 1, column: 37 },
24359
end: { line: 1, column: 39 }
24360
}
24361
},
24362
rest: null,
24363
generator: false,
24364
expression: false,
24365
range: [15, 39],
24366
loc: {
24367
start: { line: 1, column: 15 },
24368
end: { line: 1, column: 39 }
24369
}
24370
},
24371
range: [14, 41],
24372
loc: {
24373
start: { line: 1, column: 14 },
24374
end: { line: 1, column: 41 }
24375
}
24376
}],
24377
range: [0, 41],
24378
loc: {
24379
start: { line: 1, column: 0 },
24380
end: { line: 1, column: 41 }
24381
},
24382
errors: [{
24383
index: 32,
24384
lineNumber: 1,
24385
column: 33,
24386
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
24387
}]
24388
},
24389
24390
'"use strict"; x = { set f(eval) {} }' : {
24391
type: 'Program',
24392
body: [{
24393
type: 'ExpressionStatement',
24394
expression: {
24395
type: 'Literal',
24396
value: 'use strict',
24397
raw: '"use strict"',
24398
range: [0, 12],
24399
loc: {
24400
start: { line: 1, column: 0 },
24401
end: { line: 1, column: 12 }
24402
}
24403
},
24404
range: [0, 13],
24405
loc: {
24406
start: { line: 1, column: 0 },
24407
end: { line: 1, column: 13 }
24408
}
24409
}, {
24410
type: 'ExpressionStatement',
24411
expression: {
24412
type: 'AssignmentExpression',
24413
operator: '=',
24414
left: {
24415
type: 'Identifier',
24416
name: 'x',
24417
range: [14, 15],
24418
loc: {
24419
start: { line: 1, column: 14 },
24420
end: { line: 1, column: 15 }
24421
}
24422
},
24423
right: {
24424
type: 'ObjectExpression',
24425
properties: [{
24426
type: 'Property',
24427
key: {
24428
type: 'Identifier',
24429
name: 'f',
24430
range: [24, 25],
24431
loc: {
24432
start: { line: 1, column: 24 },
24433
end: { line: 1, column: 25 }
24434
}
24435
},
24436
value : {
24437
type: 'FunctionExpression',
24438
id: null,
24439
params: [{
24440
type: 'Identifier',
24441
name: 'eval',
24442
range: [26, 30],
24443
loc: {
24444
start: { line: 1, column: 26 },
24445
end: { line: 1, column: 30 }
24446
}
24447
}],
24448
defaults: [],
24449
body: {
24450
type: 'BlockStatement',
24451
body: [],
24452
range: [32, 34],
24453
loc: {
24454
start: { line: 1, column: 32 },
24455
end: { line: 1, column: 34 }
24456
}
24457
},
24458
rest: null,
24459
generator: false,
24460
expression: false,
24461
range: [32, 34],
24462
loc: {
24463
start: { line: 1, column: 32 },
24464
end: { line: 1, column: 34 }
24465
}
24466
},
24467
kind: 'set',
24468
range: [20, 34],
24469
loc: {
24470
start: { line: 1, column: 20 },
24471
end: { line: 1, column: 34 }
24472
}
24473
}],
24474
range: [18, 36],
24475
loc: {
24476
start: { line: 1, column: 18 },
24477
end: { line: 1, column: 36 }
24478
}
24479
},
24480
range: [14, 36],
24481
loc: {
24482
start: { line: 1, column: 14 },
24483
end: { line: 1, column: 36 }
24484
}
24485
},
24486
range: [14, 36],
24487
loc: {
24488
start: { line: 1, column: 14 },
24489
end: { line: 1, column: 36 }
24490
}
24491
}],
24492
range: [0, 36],
24493
loc: {
24494
start: { line: 1, column: 0 },
24495
end: { line: 1, column: 36 }
24496
},
24497
errors: [{
24498
index: 26,
24499
lineNumber: 1,
24500
column: 27,
24501
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
24502
}]
24503
},
24504
24505
'function hello() { "octal directive\\1"; "use strict"; }': {
24506
type: 'Program',
24507
body: [{
24508
type: 'FunctionDeclaration',
24509
id: {
24510
type: 'Identifier',
24511
name: 'hello',
24512
range: [9, 14],
24513
loc: {
24514
start: { line: 1, column: 9 },
24515
end: { line: 1, column: 14 }
24516
}
24517
},
24518
params: [],
24519
defaults: [],
24520
body: {
24521
type: 'BlockStatement',
24522
body: [{
24523
type: 'ExpressionStatement',
24524
expression: {
24525
type: 'Literal',
24526
value: 'octal directive\u0001',
24527
raw: '"octal directive\\1"',
24528
range: [19, 38],
24529
loc: {
24530
start: { line: 1, column: 19 },
24531
end: { line: 1, column: 38 }
24532
}
24533
},
24534
range: [19, 39],
24535
loc: {
24536
start: { line: 1, column: 19 },
24537
end: { line: 1, column: 39 }
24538
}
24539
}, {
24540
type: 'ExpressionStatement',
24541
expression: {
24542
type: 'Literal',
24543
value: 'use strict',
24544
raw: '"use strict"',
24545
range: [40, 52],
24546
loc: {
24547
start: { line: 1, column: 40 },
24548
end: { line: 1, column: 52 }
24549
}
24550
},
24551
range: [40, 53],
24552
loc: {
24553
start: { line: 1, column: 40 },
24554
end: { line: 1, column: 53 }
24555
}
24556
}],
24557
range: [17, 55],
24558
loc: {
24559
start: { line: 1, column: 17 },
24560
end: { line: 1, column: 55 }
24561
}
24562
},
24563
rest: null,
24564
generator: false,
24565
expression: false,
24566
range: [0, 55],
24567
loc: {
24568
start: { line: 1, column: 0 },
24569
end: { line: 1, column: 55 }
24570
}
24571
}],
24572
range: [0, 55],
24573
loc: {
24574
start: { line: 1, column: 0 },
24575
end: { line: 1, column: 55 }
24576
},
24577
errors: [{
24578
index: 19,
24579
lineNumber: 1,
24580
column: 20,
24581
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
24582
}]
24583
},
24584
24585
'"\\1"; \'use strict\';': {
24586
type: 'Program',
24587
body: [{
24588
type: 'ExpressionStatement',
24589
expression: {
24590
type: 'Literal',
24591
value: '\u0001',
24592
raw: '"\\1"',
24593
range: [0, 4],
24594
loc: {
24595
start: { line: 1, column: 0 },
24596
end: { line: 1, column: 4 }
24597
}
24598
},
24599
range: [0, 5],
24600
loc: {
24601
start: { line: 1, column: 0 },
24602
end: { line: 1, column: 5 }
24603
}
24604
}, {
24605
type: 'ExpressionStatement',
24606
expression: {
24607
type: 'Literal',
24608
value: 'use strict',
24609
raw: '\'use strict\'',
24610
range: [6, 18],
24611
loc: {
24612
start: { line: 1, column: 6 },
24613
end: { line: 1, column: 18 }
24614
}
24615
},
24616
range: [6, 19],
24617
loc: {
24618
start: { line: 1, column: 6 },
24619
end: { line: 1, column: 19 }
24620
}
24621
}],
24622
range: [0, 19],
24623
loc: {
24624
start: { line: 1, column: 0 },
24625
end: { line: 1, column: 19 }
24626
},
24627
errors: [{
24628
index: 0,
24629
lineNumber: 1,
24630
column: 1,
24631
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
24632
}]
24633
},
24634
24635
'"use strict"; var x = { 014: 3}': {
24636
type: 'Program',
24637
body: [{
24638
type: 'ExpressionStatement',
24639
expression: {
24640
type: 'Literal',
24641
value: 'use strict',
24642
raw: '"use strict"',
24643
range: [0, 12],
24644
loc: {
24645
start: { line: 1, column: 0 },
24646
end: { line: 1, column: 12 }
24647
}
24648
},
24649
range: [0, 13],
24650
loc: {
24651
start: { line: 1, column: 0 },
24652
end: { line: 1, column: 13 }
24653
}
24654
}, {
24655
type: 'VariableDeclaration',
24656
declarations: [{
24657
type: 'VariableDeclarator',
24658
id: {
24659
type: 'Identifier',
24660
name: 'x',
24661
range: [18, 19],
24662
loc: {
24663
start: { line: 1, column: 18 },
24664
end: { line: 1, column: 19 }
24665
}
24666
},
24667
init: {
24668
type: 'ObjectExpression',
24669
properties: [{
24670
type: 'Property',
24671
key: {
24672
type: 'Literal',
24673
value: 12,
24674
raw: '014',
24675
range: [24, 27],
24676
loc: {
24677
start: { line: 1, column: 24 },
24678
end: { line: 1, column: 27 }
24679
}
24680
},
24681
value: {
24682
type: 'Literal',
24683
value: 3,
24684
raw: '3',
24685
range: [29, 30],
24686
loc: {
24687
start: { line: 1, column: 29 },
24688
end: { line: 1, column: 30 }
24689
}
24690
},
24691
kind: 'init',
24692
range: [24, 30],
24693
loc: {
24694
start: { line: 1, column: 24 },
24695
end: { line: 1, column: 30 }
24696
}
24697
}],
24698
range: [22, 31],
24699
loc: {
24700
start: { line: 1, column: 22 },
24701
end: { line: 1, column: 31 }
24702
}
24703
},
24704
range: [18, 31],
24705
loc: {
24706
start: { line: 1, column: 18 },
24707
end: { line: 1, column: 31 }
24708
}
24709
}],
24710
kind: 'var',
24711
range: [14, 31],
24712
loc: {
24713
start: { line: 1, column: 14 },
24714
end: { line: 1, column: 31 }
24715
}
24716
}],
24717
range: [0, 31],
24718
loc: {
24719
start: { line: 1, column: 0 },
24720
end: { line: 1, column: 31 }
24721
},
24722
errors: [{
24723
index: 24,
24724
lineNumber: 1,
24725
column: 25,
24726
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
24727
}]
24728
},
24729
24730
'"use strict"; var x = { get i() {}, get i() {} }': {
24731
type: 'Program',
24732
body: [{
24733
type: 'ExpressionStatement',
24734
expression: {
24735
type: 'Literal',
24736
value: 'use strict',
24737
raw: '"use strict"',
24738
range: [0, 12],
24739
loc: {
24740
start: { line: 1, column: 0 },
24741
end: { line: 1, column: 12 }
24742
}
24743
},
24744
range: [0, 13],
24745
loc: {
24746
start: { line: 1, column: 0 },
24747
end: { line: 1, column: 13 }
24748
}
24749
}, {
24750
type: 'VariableDeclaration',
24751
declarations: [{
24752
type: 'VariableDeclarator',
24753
id: {
24754
type: 'Identifier',
24755
name: 'x',
24756
range: [18, 19],
24757
loc: {
24758
start: { line: 1, column: 18 },
24759
end: { line: 1, column: 19 }
24760
}
24761
},
24762
init: {
24763
type: 'ObjectExpression',
24764
properties: [{
24765
type: 'Property',
24766
key: {
24767
type: 'Identifier',
24768
name: 'i',
24769
range: [28, 29],
24770
loc: {
24771
start: { line: 1, column: 28 },
24772
end: { line: 1, column: 29 }
24773
}
24774
},
24775
value: {
24776
type: 'FunctionExpression',
24777
id: null,
24778
params: [],
24779
defaults: [],
24780
body: {
24781
type: 'BlockStatement',
24782
body: [],
24783
range: [32, 34],
24784
loc: {
24785
start: { line: 1, column: 32 },
24786
end: { line: 1, column: 34 }
24787
}
24788
},
24789
rest: null,
24790
generator: false,
24791
expression: false,
24792
range: [32, 34],
24793
loc: {
24794
start: { line: 1, column: 32 },
24795
end: { line: 1, column: 34 }
24796
}
24797
},
24798
kind: 'get',
24799
range: [24, 34],
24800
loc: {
24801
start: { line: 1, column: 24 },
24802
end: { line: 1, column: 34 }
24803
}
24804
}, {
24805
type: 'Property',
24806
key: {
24807
type: 'Identifier',
24808
name: 'i',
24809
range: [40, 41],
24810
loc: {
24811
start: { line: 1, column: 40 },
24812
end: { line: 1, column: 41 }
24813
}
24814
},
24815
value: {
24816
type: 'FunctionExpression',
24817
id: null,
24818
params: [],
24819
defaults: [],
24820
body: {
24821
type: 'BlockStatement',
24822
body: [],
24823
range: [44, 46],
24824
loc: {
24825
start: { line: 1, column: 44 },
24826
end: { line: 1, column: 46 }
24827
}
24828
},
24829
rest: null,
24830
generator: false,
24831
expression: false,
24832
range: [44, 46],
24833
loc: {
24834
start: { line: 1, column: 44 },
24835
end: { line: 1, column: 46 }
24836
}
24837
},
24838
kind: 'get',
24839
range: [36, 46],
24840
loc: {
24841
start: { line: 1, column: 36 },
24842
end: { line: 1, column: 46 }
24843
}
24844
}],
24845
range: [22, 48],
24846
loc: {
24847
start: { line: 1, column: 22 },
24848
end: { line: 1, column: 48 }
24849
}
24850
},
24851
range: [18, 48],
24852
loc: {
24853
start: { line: 1, column: 18 },
24854
end: { line: 1, column: 48 }
24855
}
24856
}],
24857
kind: 'var',
24858
range: [14, 48],
24859
loc: {
24860
start: { line: 1, column: 14 },
24861
end: { line: 1, column: 48 }
24862
}
24863
}],
24864
range: [0, 48],
24865
loc: {
24866
start: { line: 1, column: 0 },
24867
end: { line: 1, column: 48 }
24868
},
24869
errors: [{
24870
index: 46,
24871
lineNumber: 1,
24872
column: 47,
24873
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
24874
}]
24875
},
24876
24877
'"use strict"; var x = { i: 42, get i() {} }': {
24878
type: 'Program',
24879
body: [{
24880
type: 'ExpressionStatement',
24881
expression: {
24882
type: 'Literal',
24883
value: 'use strict',
24884
raw: '"use strict"',
24885
range: [0, 12],
24886
loc: {
24887
start: { line: 1, column: 0 },
24888
end: { line: 1, column: 12 }
24889
}
24890
},
24891
range: [0, 13],
24892
loc: {
24893
start: { line: 1, column: 0 },
24894
end: { line: 1, column: 13 }
24895
}
24896
}, {
24897
type: 'VariableDeclaration',
24898
declarations: [{
24899
type: 'VariableDeclarator',
24900
id: {
24901
type: 'Identifier',
24902
name: 'x',
24903
range: [18, 19],
24904
loc: {
24905
start: { line: 1, column: 18 },
24906
end: { line: 1, column: 19 }
24907
}
24908
},
24909
init: {
24910
type: 'ObjectExpression',
24911
properties: [{
24912
type: 'Property',
24913
key: {
24914
type: 'Identifier',
24915
name: 'i',
24916
range: [24, 25],
24917
loc: {
24918
start: { line: 1, column: 24 },
24919
end: { line: 1, column: 25 }
24920
}
24921
},
24922
value: {
24923
type: 'Literal',
24924
value: 42,
24925
raw: '42',
24926
range: [27, 29],
24927
loc: {
24928
start: { line: 1, column: 27 },
24929
end: { line: 1, column: 29 }
24930
}
24931
},
24932
kind: 'init',
24933
range: [24, 29],
24934
loc: {
24935
start: { line: 1, column: 24 },
24936
end: { line: 1, column: 29 }
24937
}
24938
}, {
24939
type: 'Property',
24940
key: {
24941
type: 'Identifier',
24942
name: 'i',
24943
range: [35, 36],
24944
loc: {
24945
start: { line: 1, column: 35 },
24946
end: { line: 1, column: 36 }
24947
}
24948
},
24949
value: {
24950
type: 'FunctionExpression',
24951
id: null,
24952
params: [],
24953
defaults: [],
24954
body: {
24955
type: 'BlockStatement',
24956
body: [],
24957
range: [39, 41],
24958
loc: {
24959
start: { line: 1, column: 39 },
24960
end: { line: 1, column: 41 }
24961
}
24962
},
24963
rest: null,
24964
generator: false,
24965
expression: false,
24966
range: [39, 41],
24967
loc: {
24968
start: { line: 1, column: 39 },
24969
end: { line: 1, column: 41 }
24970
}
24971
},
24972
kind: 'get',
24973
range: [31, 41],
24974
loc: {
24975
start: { line: 1, column: 31 },
24976
end: { line: 1, column: 41 }
24977
}
24978
}],
24979
range: [22, 43],
24980
loc: {
24981
start: { line: 1, column: 22 },
24982
end: { line: 1, column: 43 }
24983
}
24984
},
24985
range: [18, 43],
24986
loc: {
24987
start: { line: 1, column: 18 },
24988
end: { line: 1, column: 43 }
24989
}
24990
}],
24991
kind: 'var',
24992
range: [14, 43],
24993
loc: {
24994
start: { line: 1, column: 14 },
24995
end: { line: 1, column: 43 }
24996
}
24997
}],
24998
range: [0, 43],
24999
loc: {
25000
start: { line: 1, column: 0 },
25001
end: { line: 1, column: 43 }
25002
},
25003
errors: [{
25004
index: 41,
25005
lineNumber: 1,
25006
column: 42,
25007
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
25008
}]
25009
},
25010
25011
'"use strict"; var x = { set i(x) {}, i: 42 }': {
25012
type: 'Program',
25013
body: [{
25014
type: 'ExpressionStatement',
25015
expression: {
25016
type: 'Literal',
25017
value: 'use strict',
25018
raw: '"use strict"',
25019
range: [0, 12],
25020
loc: {
25021
start: { line: 1, column: 0 },
25022
end: { line: 1, column: 12 }
25023
}
25024
},
25025
range: [0, 13],
25026
loc: {
25027
start: { line: 1, column: 0 },
25028
end: { line: 1, column: 13 }
25029
}
25030
}, {
25031
type: 'VariableDeclaration',
25032
declarations: [{
25033
type: 'VariableDeclarator',
25034
id: {
25035
type: 'Identifier',
25036
name: 'x',
25037
range: [18, 19],
25038
loc: {
25039
start: { line: 1, column: 18 },
25040
end: { line: 1, column: 19 }
25041
}
25042
},
25043
init: {
25044
type: 'ObjectExpression',
25045
properties: [{
25046
type: 'Property',
25047
key: {
25048
type: 'Identifier',
25049
name: 'i',
25050
range: [28, 29],
25051
loc: {
25052
start: { line: 1, column: 28 },
25053
end: { line: 1, column: 29 }
25054
}
25055
},
25056
value: {
25057
type: 'FunctionExpression',
25058
id: null,
25059
params: [{
25060
type: 'Identifier',
25061
name: 'x',
25062
range: [30, 31],
25063
loc: {
25064
start: { line: 1, column: 30 },
25065
end: { line: 1, column: 31 }
25066
}
25067
}],
25068
defaults: [],
25069
body: {
25070
type: 'BlockStatement',
25071
body: [],
25072
range: [33, 35],
25073
loc: {
25074
start: { line: 1, column: 33 },
25075
end: { line: 1, column: 35 }
25076
}
25077
},
25078
rest: null,
25079
generator: false,
25080
expression: false,
25081
range: [33, 35],
25082
loc: {
25083
start: { line: 1, column: 33 },
25084
end: { line: 1, column: 35 }
25085
}
25086
},
25087
kind: 'set',
25088
range: [24, 35],
25089
loc: {
25090
start: { line: 1, column: 24 },
25091
end: { line: 1, column: 35 }
25092
}
25093
}, {
25094
type: 'Property',
25095
key: {
25096
type: 'Identifier',
25097
name: 'i',
25098
range: [37, 38],
25099
loc: {
25100
start: { line: 1, column: 37 },
25101
end: { line: 1, column: 38 }
25102
}
25103
},
25104
value: {
25105
type: 'Literal',
25106
value: 42,
25107
raw: '42',
25108
range: [40, 42],
25109
loc: {
25110
start: { line: 1, column: 40 },
25111
end: { line: 1, column: 42 }
25112
}
25113
},
25114
kind: 'init',
25115
range: [37, 42],
25116
loc: {
25117
start: { line: 1, column: 37 },
25118
end: { line: 1, column: 42 }
25119
}
25120
}],
25121
range: [22, 44],
25122
loc: {
25123
start: { line: 1, column: 22 },
25124
end: { line: 1, column: 44 }
25125
}
25126
},
25127
range: [18, 44],
25128
loc: {
25129
start: { line: 1, column: 18 },
25130
end: { line: 1, column: 44 }
25131
}
25132
}],
25133
kind: 'var',
25134
range: [14, 44],
25135
loc: {
25136
start: { line: 1, column: 14 },
25137
end: { line: 1, column: 44 }
25138
}
25139
}],
25140
range: [0, 44],
25141
loc: {
25142
start: { line: 1, column: 0 },
25143
end: { line: 1, column: 44 }
25144
},
25145
errors: [{
25146
index: 42,
25147
lineNumber: 1,
25148
column: 43,
25149
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
25150
}]
25151
25152
25153
},
25154
25155
'({ set s() { } })': {
25156
type: 'Program',
25157
body: [{
25158
type: 'ExpressionStatement',
25159
expression: {
25160
type: 'ObjectExpression',
25161
properties: [{
25162
type: 'Property',
25163
key: {
25164
type: 'Identifier',
25165
name: 's',
25166
range: [7, 8],
25167
loc: {
25168
start: { line: 1, column: 7 },
25169
end: { line: 1, column: 8 }
25170
}
25171
},
25172
value: {
25173
type: 'FunctionExpression',
25174
id: null,
25175
params: [],
25176
defaults: [],
25177
body: {
25178
type: 'BlockStatement',
25179
body: [],
25180
range: [11, 14],
25181
loc: {
25182
start: { line: 1, column: 11 },
25183
end: { line: 1, column: 14 }
25184
}
25185
},
25186
rest: null,
25187
generator: false,
25188
expression: false,
25189
range: [11, 14],
25190
loc: {
25191
start: { line: 1, column: 11 },
25192
end: { line: 1, column: 14 }
25193
}
25194
},
25195
kind: 'set',
25196
range: [3, 14],
25197
loc: {
25198
start: { line: 1, column: 3 },
25199
end: { line: 1, column: 14 }
25200
}
25201
}],
25202
range: [1, 16],
25203
loc: {
25204
start: { line: 1, column: 1 },
25205
end: { line: 1, column: 16 }
25206
}
25207
},
25208
range: [0, 17],
25209
loc: {
25210
start: { line: 1, column: 0 },
25211
end: { line: 1, column: 17 }
25212
}
25213
}],
25214
range: [0, 17],
25215
loc: {
25216
start: { line: 1, column: 0 },
25217
end: { line: 1, column: 17 }
25218
},
25219
errors: [{
25220
index: 9,
25221
lineNumber: 1,
25222
column: 10,
25223
message: 'Error: Line 1: Unexpected token )'
25224
}]
25225
},
25226
25227
'foo("bar") = baz': {
25228
type: 'Program',
25229
body: [{
25230
type: 'ExpressionStatement',
25231
expression: {
25232
type: 'AssignmentExpression',
25233
operator: '=',
25234
left: {
25235
type: 'CallExpression',
25236
callee: {
25237
type: 'Identifier',
25238
name: 'foo',
25239
range: [0, 3],
25240
loc: {
25241
start: { line: 1, column: 0 },
25242
end: { line: 1, column: 3 }
25243
}
25244
},
25245
'arguments': [{
25246
type: 'Literal',
25247
value: 'bar',
25248
raw: '"bar"',
25249
range: [4, 9],
25250
loc: {
25251
start: { line: 1, column: 4 },
25252
end: { line: 1, column: 9 }
25253
}
25254
}],
25255
range: [0, 10],
25256
loc: {
25257
start: { line: 1, column: 0 },
25258
end: { line: 1, column: 10 }
25259
}
25260
},
25261
right: {
25262
type: 'Identifier',
25263
name: 'baz',
25264
range: [13, 16],
25265
loc: {
25266
start: { line: 1, column: 13 },
25267
end: { line: 1, column: 16 }
25268
}
25269
},
25270
range: [0, 16],
25271
loc: {
25272
start: { line: 1, column: 0 },
25273
end: { line: 1, column: 16 }
25274
}
25275
},
25276
range: [0, 16],
25277
loc: {
25278
start: { line: 1, column: 0 },
25279
end: { line: 1, column: 16 }
25280
}
25281
}],
25282
range: [0, 16],
25283
loc: {
25284
start: { line: 1, column: 0 },
25285
end: { line: 1, column: 16 }
25286
},
25287
errors: [{
25288
index: 10,
25289
lineNumber: 1,
25290
column: 11,
25291
message: 'Error: Line 1: Invalid left-hand side in assignment'
25292
}]
25293
},
25294
25295
'1 = 2': {
25296
type: 'Program',
25297
body: [{
25298
type: 'ExpressionStatement',
25299
expression: {
25300
type: 'AssignmentExpression',
25301
operator: '=',
25302
left: {
25303
type: 'Literal',
25304
value: 1,
25305
raw: '1',
25306
range: [0, 1],
25307
loc: {
25308
start: { line: 1, column: 0 },
25309
end: { line: 1, column: 1 }
25310
}
25311
},
25312
right: {
25313
type: 'Literal',
25314
value: 2,
25315
raw: '2',
25316
range: [4, 5],
25317
loc: {
25318
start: { line: 1, column: 4 },
25319
end: { line: 1, column: 5 }
25320
}
25321
},
25322
range: [0, 5],
25323
loc: {
25324
start: { line: 1, column: 0 },
25325
end: { line: 1, column: 5 }
25326
}
25327
},
25328
range: [0, 5],
25329
loc: {
25330
start: { line: 1, column: 0 },
25331
end: { line: 1, column: 5 }
25332
}
25333
}],
25334
range: [0, 5],
25335
loc: {
25336
start: { line: 1, column: 0 },
25337
end: { line: 1, column: 5 }
25338
},
25339
errors: [{
25340
index: 1,
25341
lineNumber: 1,
25342
column: 2,
25343
message: 'Error: Line 1: Invalid left-hand side in assignment'
25344
}]
25345
},
25346
25347
'3++': {
25348
type: 'Program',
25349
body: [{
25350
type: 'ExpressionStatement',
25351
expression: {
25352
type: 'UpdateExpression',
25353
operator: '++',
25354
argument: {
25355
type: 'Literal',
25356
value: 3,
25357
raw: '3',
25358
range: [0, 1],
25359
loc: {
25360
start: { line: 1, column: 0 },
25361
end: { line: 1, column: 1 }
25362
}
25363
},
25364
prefix: false,
25365
range: [0, 3],
25366
loc: {
25367
start: { line: 1, column: 0 },
25368
end: { line: 1, column: 3 }
25369
}
25370
},
25371
range: [0, 3],
25372
loc: {
25373
start: { line: 1, column: 0 },
25374
end: { line: 1, column: 3 }
25375
}
25376
}],
25377
range: [0, 3],
25378
loc: {
25379
start: { line: 1, column: 0 },
25380
end: { line: 1, column: 3 }
25381
},
25382
errors: [{
25383
index: 1,
25384
lineNumber: 1,
25385
column: 2,
25386
message: 'Error: Line 1: Invalid left-hand side in assignment'
25387
}]
25388
},
25389
25390
'--4': {
25391
type: 'Program',
25392
body: [{
25393
type: 'ExpressionStatement',
25394
expression: {
25395
type: 'UpdateExpression',
25396
operator: '--',
25397
argument: {
25398
type: 'Literal',
25399
value: 4,
25400
raw: '4',
25401
range: [2, 3],
25402
loc: {
25403
start: { line: 1, column: 2 },
25404
end: { line: 1, column: 3 }
25405
}
25406
},
25407
prefix: true,
25408
range: [0, 3],
25409
loc: {
25410
start: { line: 1, column: 0 },
25411
end: { line: 1, column: 3 }
25412
}
25413
},
25414
range: [0, 3],
25415
loc: {
25416
start: { line: 1, column: 0 },
25417
end: { line: 1, column: 3 }
25418
}
25419
}],
25420
range: [0, 3],
25421
loc: {
25422
start: { line: 1, column: 0 },
25423
end: { line: 1, column: 3 }
25424
},
25425
errors: [{
25426
index: 3,
25427
lineNumber: 1,
25428
column: 4,
25429
message: 'Error: Line 1: Invalid left-hand side in assignment'
25430
}]
25431
},
25432
25433
'for (5 in []) {}': {
25434
type: 'Program',
25435
body: [{
25436
type: 'ForInStatement',
25437
left: {
25438
type: 'Literal',
25439
value: 5,
25440
raw: '5',
25441
range: [5, 6],
25442
loc: {
25443
start: { line: 1, column: 5 },
25444
end: { line: 1, column: 6 }
25445
}
25446
},
25447
right: {
25448
type: 'ArrayExpression',
25449
elements: [],
25450
range: [10, 12],
25451
loc: {
25452
start: { line: 1, column: 10 },
25453
end: { line: 1, column: 12 }
25454
}
25455
},
25456
body: {
25457
type: 'BlockStatement',
25458
body: [],
25459
range: [14, 16],
25460
loc: {
25461
start: { line: 1, column: 14 },
25462
end: { line: 1, column: 16 }
25463
}
25464
},
25465
each: false,
25466
range: [0, 16],
25467
loc: {
25468
start: { line: 1, column: 0 },
25469
end: { line: 1, column: 16 }
25470
}
25471
}],
25472
range: [0, 16],
25473
loc: {
25474
start: { line: 1, column: 0 },
25475
end: { line: 1, column: 16 }
25476
},
25477
errors: [{
25478
index: 6,
25479
lineNumber: 1,
25480
column: 7,
25481
message: 'Error: Line 1: Invalid left-hand side in for-in'
25482
}]
25483
},
25484
25485
'var x = /[P QR]/\\g': {
25486
type: "Program",
25487
body: [{
25488
type: "VariableDeclaration",
25489
declarations: [{
25490
type: "VariableDeclarator",
25491
id: {
25492
type: "Identifier",
25493
name: "x",
25494
range: [4, 5],
25495
loc: {
25496
start: { line: 1, column: 4 },
25497
end: { line: 1, column: 5 }
25498
}
25499
},
25500
init: {
25501
type: "Literal",
25502
value: "/[P QR]/g",
25503
raw: "/[P QR]/\\g",
25504
range: [8, 18],
25505
loc: {
25506
start: { line: 1, column: 8 },
25507
end: { line: 1, column: 18 }
25508
}
25509
},
25510
range: [4, 18],
25511
loc: {
25512
start: { line: 1, column: 4 },
25513
end: { line: 1, column: 18 }
25514
}
25515
}],
25516
kind: "var",
25517
range: [0, 18],
25518
loc: {
25519
start: { line: 1, column: 0 },
25520
end: { line: 1, column: 18 }
25521
}
25522
}],
25523
range: [0, 18],
25524
loc: {
25525
start: { line: 1, column: 0 },
25526
end: { line: 1, column: 18 }
25527
},
25528
errors: [{
25529
index: 17,
25530
lineNumber: 1,
25531
column: 18,
25532
message: "Error: Line 1: Unexpected token ILLEGAL"
25533
}]
25534
},
25535
25536
'var x = /[P QR]/\\\\u0067': {
25537
type: "Program",
25538
body: [{
25539
type: "VariableDeclaration",
25540
declarations: [{
25541
type: "VariableDeclarator",
25542
id: {
25543
type: "Identifier",
25544
name: "x",
25545
range: [4, 5],
25546
loc: {
25547
start: { line: 1, column: 4 },
25548
end: { line: 1, column: 5 }
25549
}
25550
},
25551
init: {
25552
type: "Literal",
25553
value: "/[P QR]/g",
25554
raw: "/[P QR]/\\\\u0067",
25555
range: [8, 23],
25556
loc: {
25557
start: { line: 1, column: 8 },
25558
end: { line: 1, column: 23 }
25559
}
25560
},
25561
range: [4, 23],
25562
loc: {
25563
start: { line: 1, column: 4 },
25564
end: { line: 1, column: 23 }
25565
}
25566
}],
25567
kind: "var",
25568
range: [0, 23],
25569
loc: {
25570
start: { line: 1, column: 0 },
25571
end: { line: 1, column: 23 }
25572
}
25573
}],
25574
range: [0, 23],
25575
loc: {
25576
start: { line: 1, column: 0 },
25577
end: { line: 1, column: 23 }
25578
},
25579
errors: [{
25580
index: 17,
25581
lineNumber: 1,
25582
column: 18,
25583
message: "Error: Line 1: Unexpected token ILLEGAL"
25584
}, {
25585
index: 23,
25586
lineNumber: 1,
25587
column: 24,
25588
message: "Error: Line 1: Unexpected token ILLEGAL"
25589
}]
25590
}
25591
25592
}
25593
};
25594
25595