Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80682 views
1
/*
2
Copyright (C) 2012 Ariya Hidayat <[email protected]>
3
Copyright (C) 2012 Joost-Wim Boekesteijn <[email protected]>
4
Copyright (C) 2012 Yusuke Suzuki <[email protected]>
5
Copyright (C) 2012 Arpad Borsos <[email protected]>
6
Copyright (C) 2011 Ariya Hidayat <[email protected]>
7
Copyright (C) 2011 Yusuke Suzuki <[email protected]>
8
Copyright (C) 2011 Arpad Borsos <[email protected]>
9
10
Redistribution and use in source and binary forms, with or without
11
modification, are permitted provided that the following conditions are met:
12
13
* Redistributions of source code must retain the above copyright
14
notice, this list of conditions and the following disclaimer.
15
* Redistributions in binary form must reproduce the above copyright
16
notice, this list of conditions and the following disclaimer in the
17
documentation and/or other materials provided with the distribution.
18
19
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
var testFixture = {
32
33
'Primary Expression': {
34
35
'this\n': {
36
type: 'Program',
37
body: [{
38
type: 'ExpressionStatement',
39
expression: {
40
type: 'ThisExpression',
41
range: [0, 4],
42
loc: {
43
start: { line: 1, column: 0 },
44
end: { line: 1, column: 4 }
45
}
46
},
47
range: [0, 5],
48
loc: {
49
start: { line: 1, column: 0 },
50
end: { line: 2, column: 0 }
51
}
52
}],
53
range: [0, 5],
54
loc: {
55
start: { line: 1, column: 0 },
56
end: { line: 2, column: 0 }
57
},
58
tokens: [{
59
type: 'Keyword',
60
value: 'this',
61
range: [0, 4],
62
loc: {
63
start: { line: 1, column: 0 },
64
end: { line: 1, column: 4 }
65
}
66
}]
67
},
68
69
'null\n': {
70
type: 'Program',
71
body: [{
72
type: 'ExpressionStatement',
73
expression: {
74
type: 'Literal',
75
value: null,
76
raw: 'null',
77
range: [0, 4],
78
loc: {
79
start: { line: 1, column: 0 },
80
end: { line: 1, column: 4 }
81
}
82
},
83
range: [0, 5],
84
loc: {
85
start: { line: 1, column: 0 },
86
end: { line: 2, column: 0 }
87
}
88
}],
89
range: [0, 5],
90
loc: {
91
start: { line: 1, column: 0 },
92
end: { line: 2, column: 0 }
93
},
94
tokens: [{
95
type: 'Null',
96
value: 'null',
97
range: [0, 4],
98
loc: {
99
start: { line: 1, column: 0 },
100
end: { line: 1, column: 4 }
101
}
102
}]
103
},
104
105
'\n 42\n\n': {
106
type: 'Program',
107
body: [{
108
type: 'ExpressionStatement',
109
expression: {
110
type: 'Literal',
111
value: 42,
112
raw: '42',
113
range: [5, 7],
114
loc: {
115
start: { line: 2, column: 4 },
116
end: { line: 2, column: 6 }
117
}
118
},
119
range: [5, 9],
120
loc: {
121
start: { line: 2, column: 4 },
122
end: { line: 4, column: 0 }
123
}
124
}],
125
range: [5, 9],
126
loc: {
127
start: { line: 2, column: 4 },
128
end: { line: 4, column: 0 }
129
},
130
tokens: [{
131
type: 'Numeric',
132
value: '42',
133
range: [5, 7],
134
loc: {
135
start: { line: 2, column: 4 },
136
end: { line: 2, column: 6 }
137
}
138
}]
139
},
140
141
'(1 + 2 ) * 3': {
142
type: 'ExpressionStatement',
143
expression: {
144
type: 'BinaryExpression',
145
operator: '*',
146
left: {
147
type: 'BinaryExpression',
148
operator: '+',
149
left: {
150
type: 'Literal',
151
value: 1,
152
raw: '1',
153
range: [1, 2],
154
loc: {
155
start: { line: 1, column: 1 },
156
end: { line: 1, column: 2 }
157
}
158
},
159
right: {
160
type: 'Literal',
161
value: 2,
162
raw: '2',
163
range: [5, 6],
164
loc: {
165
start: { line: 1, column: 5 },
166
end: { line: 1, column: 6 }
167
}
168
},
169
range: [1, 6],
170
loc: {
171
start: { line: 1, column: 1 },
172
end: { line: 1, column: 6 }
173
}
174
},
175
right: {
176
type: 'Literal',
177
value: 3,
178
raw: '3',
179
range: [11, 12],
180
loc: {
181
start: { line: 1, column: 11 },
182
end: { line: 1, column: 12 }
183
}
184
},
185
range: [0, 12],
186
loc: {
187
start: { line: 1, column: 0 },
188
end: { line: 1, column: 12 }
189
}
190
},
191
range: [0, 12],
192
loc: {
193
start: { line: 1, column: 0 },
194
end: { line: 1, column: 12 }
195
}
196
}
197
198
},
199
200
'Grouping Operator': {
201
202
'(1) + (2 ) + 3': {
203
type: 'ExpressionStatement',
204
expression: {
205
type: 'BinaryExpression',
206
operator: '+',
207
left: {
208
type: 'BinaryExpression',
209
operator: '+',
210
left: {
211
type: 'Literal',
212
value: 1,
213
raw: '1',
214
range: [1, 2],
215
loc: {
216
start: { line: 1, column: 1 },
217
end: { line: 1, column: 2 }
218
}
219
},
220
right: {
221
type: 'Literal',
222
value: 2,
223
raw: '2',
224
range: [7, 8],
225
loc: {
226
start: { line: 1, column: 7 },
227
end: { line: 1, column: 8 }
228
}
229
},
230
range: [0, 11],
231
loc: {
232
start: { line: 1, column: 0 },
233
end: { line: 1, column: 11 }
234
}
235
},
236
right: {
237
type: 'Literal',
238
value: 3,
239
raw: '3',
240
range: [14, 15],
241
loc: {
242
start: { line: 1, column: 14 },
243
end: { line: 1, column: 15 }
244
}
245
},
246
range: [0, 15],
247
loc: {
248
start: { line: 1, column: 0 },
249
end: { line: 1, column: 15 }
250
}
251
},
252
range: [0, 15],
253
loc: {
254
start: { line: 1, column: 0 },
255
end: { line: 1, column: 15 }
256
}
257
},
258
259
'4 + 5 << (6)': {
260
type: 'ExpressionStatement',
261
expression: {
262
type: 'BinaryExpression',
263
operator: '<<',
264
left: {
265
type: 'BinaryExpression',
266
operator: '+',
267
left: {
268
type: 'Literal',
269
value: 4,
270
raw: '4',
271
range: [0, 1],
272
loc: {
273
start: { line: 1, column: 0 },
274
end: { line: 1, column: 1 }
275
}
276
},
277
right: {
278
type: 'Literal',
279
value: 5,
280
raw: '5',
281
range: [4, 5],
282
loc: {
283
start: { line: 1, column: 4 },
284
end: { line: 1, column: 5 }
285
}
286
},
287
range: [0, 5],
288
loc: {
289
start: { line: 1, column: 0 },
290
end: { line: 1, column: 5 }
291
}
292
},
293
right: {
294
type: 'Literal',
295
value: 6,
296
raw: '6',
297
range: [10, 11],
298
loc: {
299
start: { line: 1, column: 10 },
300
end: { line: 1, column: 11 }
301
}
302
},
303
range: [0, 12],
304
loc: {
305
start: { line: 1, column: 0 },
306
end: { line: 1, column: 12 }
307
}
308
},
309
range: [0, 12],
310
loc: {
311
start: { line: 1, column: 0 },
312
end: { line: 1, column: 12 }
313
}
314
}
315
316
},
317
318
'Array Initializer': {
319
320
'x = []': {
321
type: 'Program',
322
body: [{
323
type: 'ExpressionStatement',
324
expression: {
325
type: 'AssignmentExpression',
326
operator: '=',
327
left: {
328
type: 'Identifier',
329
name: 'x',
330
range: [0, 1],
331
loc: {
332
start: { line: 1, column: 0 },
333
end: { line: 1, column: 1 }
334
}
335
},
336
right: {
337
type: 'ArrayExpression',
338
elements: [],
339
range: [4, 6],
340
loc: {
341
start: { line: 1, column: 4 },
342
end: { line: 1, column: 6 }
343
}
344
},
345
range: [0, 6],
346
loc: {
347
start: { line: 1, column: 0 },
348
end: { line: 1, column: 6 }
349
}
350
},
351
range: [0, 6],
352
loc: {
353
start: { line: 1, column: 0 },
354
end: { line: 1, column: 6 }
355
}
356
}],
357
range: [0, 6],
358
loc: {
359
start: { line: 1, column: 0 },
360
end: { line: 1, column: 6 }
361
},
362
tokens: [{
363
type: 'Identifier',
364
value: 'x',
365
range: [0, 1],
366
loc: {
367
start: { line: 1, column: 0 },
368
end: { line: 1, column: 1 }
369
}
370
}, {
371
type: 'Punctuator',
372
value: '=',
373
range: [2, 3],
374
loc: {
375
start: { line: 1, column: 2 },
376
end: { line: 1, column: 3 }
377
}
378
}, {
379
type: 'Punctuator',
380
value: '[',
381
range: [4, 5],
382
loc: {
383
start: { line: 1, column: 4 },
384
end: { line: 1, column: 5 }
385
}
386
}, {
387
type: 'Punctuator',
388
value: ']',
389
range: [5, 6],
390
loc: {
391
start: { line: 1, column: 5 },
392
end: { line: 1, column: 6 }
393
}
394
}]
395
},
396
397
'x = [ ]': {
398
type: 'ExpressionStatement',
399
expression: {
400
type: 'AssignmentExpression',
401
operator: '=',
402
left: {
403
type: 'Identifier',
404
name: 'x',
405
range: [0, 1],
406
loc: {
407
start: { line: 1, column: 0 },
408
end: { line: 1, column: 1 }
409
}
410
},
411
right: {
412
type: 'ArrayExpression',
413
elements: [],
414
range: [4, 7],
415
loc: {
416
start: { line: 1, column: 4 },
417
end: { line: 1, column: 7 }
418
}
419
},
420
range: [0, 7],
421
loc: {
422
start: { line: 1, column: 0 },
423
end: { line: 1, column: 7 }
424
}
425
},
426
range: [0, 7],
427
loc: {
428
start: { line: 1, column: 0 },
429
end: { line: 1, column: 7 }
430
}
431
},
432
433
'x = [ 42 ]': {
434
type: 'ExpressionStatement',
435
expression: {
436
type: 'AssignmentExpression',
437
operator: '=',
438
left: {
439
type: 'Identifier',
440
name: 'x',
441
range: [0, 1],
442
loc: {
443
start: { line: 1, column: 0 },
444
end: { line: 1, column: 1 }
445
}
446
},
447
right: {
448
type: 'ArrayExpression',
449
elements: [{
450
type: 'Literal',
451
value: 42,
452
raw: '42',
453
range: [6, 8],
454
loc: {
455
start: { line: 1, column: 6 },
456
end: { line: 1, column: 8 }
457
}
458
}],
459
range: [4, 10],
460
loc: {
461
start: { line: 1, column: 4 },
462
end: { line: 1, column: 10 }
463
}
464
},
465
range: [0, 10],
466
loc: {
467
start: { line: 1, column: 0 },
468
end: { line: 1, column: 10 }
469
}
470
},
471
range: [0, 10],
472
loc: {
473
start: { line: 1, column: 0 },
474
end: { line: 1, column: 10 }
475
}
476
},
477
478
'x = [ 42, ]': {
479
type: 'ExpressionStatement',
480
expression: {
481
type: 'AssignmentExpression',
482
operator: '=',
483
left: {
484
type: 'Identifier',
485
name: 'x',
486
range: [0, 1],
487
loc: {
488
start: { line: 1, column: 0 },
489
end: { line: 1, column: 1 }
490
}
491
},
492
right: {
493
type: 'ArrayExpression',
494
elements: [{
495
type: 'Literal',
496
value: 42,
497
raw: '42',
498
range: [6, 8],
499
loc: {
500
start: { line: 1, column: 6 },
501
end: { line: 1, column: 8 }
502
}
503
}],
504
range: [4, 11],
505
loc: {
506
start: { line: 1, column: 4 },
507
end: { line: 1, column: 11 }
508
}
509
},
510
range: [0, 11],
511
loc: {
512
start: { line: 1, column: 0 },
513
end: { line: 1, column: 11 }
514
}
515
},
516
range: [0, 11],
517
loc: {
518
start: { line: 1, column: 0 },
519
end: { line: 1, column: 11 }
520
}
521
},
522
523
'x = [ ,, 42 ]': {
524
type: 'ExpressionStatement',
525
expression: {
526
type: 'AssignmentExpression',
527
operator: '=',
528
left: {
529
type: 'Identifier',
530
name: 'x',
531
range: [0, 1],
532
loc: {
533
start: { line: 1, column: 0 },
534
end: { line: 1, column: 1 }
535
}
536
},
537
right: {
538
type: 'ArrayExpression',
539
elements: [
540
null,
541
null,
542
{
543
type: 'Literal',
544
value: 42,
545
raw: '42',
546
range: [9, 11],
547
loc: {
548
start: { line: 1, column: 9 },
549
end: { line: 1, column: 11 }
550
}
551
}],
552
range: [4, 13],
553
loc: {
554
start: { line: 1, column: 4 },
555
end: { line: 1, column: 13 }
556
}
557
},
558
range: [0, 13],
559
loc: {
560
start: { line: 1, column: 0 },
561
end: { line: 1, column: 13 }
562
}
563
},
564
range: [0, 13],
565
loc: {
566
start: { line: 1, column: 0 },
567
end: { line: 1, column: 13 }
568
}
569
},
570
571
'x = [ 1, 2, 3, ]': {
572
type: 'ExpressionStatement',
573
expression: {
574
type: 'AssignmentExpression',
575
operator: '=',
576
left: {
577
type: 'Identifier',
578
name: 'x',
579
range: [0, 1],
580
loc: {
581
start: { line: 1, column: 0 },
582
end: { line: 1, column: 1 }
583
}
584
},
585
right: {
586
type: 'ArrayExpression',
587
elements: [{
588
type: 'Literal',
589
value: 1,
590
raw: '1',
591
range: [6, 7],
592
loc: {
593
start: { line: 1, column: 6 },
594
end: { line: 1, column: 7 }
595
}
596
}, {
597
type: 'Literal',
598
value: 2,
599
raw: '2',
600
range: [9, 10],
601
loc: {
602
start: { line: 1, column: 9 },
603
end: { line: 1, column: 10 }
604
}
605
}, {
606
type: 'Literal',
607
value: 3,
608
raw: '3',
609
range: [12, 13],
610
loc: {
611
start: { line: 1, column: 12 },
612
end: { line: 1, column: 13 }
613
}
614
}],
615
range: [4, 16],
616
loc: {
617
start: { line: 1, column: 4 },
618
end: { line: 1, column: 16 }
619
}
620
},
621
range: [0, 16],
622
loc: {
623
start: { line: 1, column: 0 },
624
end: { line: 1, column: 16 }
625
}
626
},
627
range: [0, 16],
628
loc: {
629
start: { line: 1, column: 0 },
630
end: { line: 1, column: 16 }
631
}
632
},
633
634
'x = [ 1, 2,, 3, ]': {
635
type: 'ExpressionStatement',
636
expression: {
637
type: 'AssignmentExpression',
638
operator: '=',
639
left: {
640
type: 'Identifier',
641
name: 'x',
642
range: [0, 1],
643
loc: {
644
start: { line: 1, column: 0 },
645
end: { line: 1, column: 1 }
646
}
647
},
648
right: {
649
type: 'ArrayExpression',
650
elements: [{
651
type: 'Literal',
652
value: 1,
653
raw: '1',
654
range: [6, 7],
655
loc: {
656
start: { line: 1, column: 6 },
657
end: { line: 1, column: 7 }
658
}
659
}, {
660
type: 'Literal',
661
value: 2,
662
raw: '2',
663
range: [9, 10],
664
loc: {
665
start: { line: 1, column: 9 },
666
end: { line: 1, column: 10 }
667
}
668
}, null, {
669
type: 'Literal',
670
value: 3,
671
raw: '3',
672
range: [13, 14],
673
loc: {
674
start: { line: 1, column: 13 },
675
end: { line: 1, column: 14 }
676
}
677
}],
678
range: [4, 17],
679
loc: {
680
start: { line: 1, column: 4 },
681
end: { line: 1, column: 17 }
682
}
683
},
684
range: [0, 17],
685
loc: {
686
start: { line: 1, column: 0 },
687
end: { line: 1, column: 17 }
688
}
689
},
690
range: [0, 17],
691
loc: {
692
start: { line: 1, column: 0 },
693
end: { line: 1, column: 17 }
694
}
695
},
696
697
'x = [ "finally", "for" ]': {
698
type: 'ExpressionStatement',
699
expression: {
700
type: 'AssignmentExpression',
701
operator: '=',
702
left: {
703
type: 'Identifier',
704
name: 'x',
705
range: [0, 1],
706
loc: {
707
start: { line: 1, column: 0 },
708
end: { line: 1, column: 1 }
709
}
710
},
711
right: {
712
type: 'ArrayExpression',
713
elements: [{
714
type: 'Literal',
715
value: 'finally',
716
raw: '"finally"',
717
range: [6, 15],
718
loc: {
719
start: { line: 1, column: 6 },
720
end: { line: 1, column: 15 }
721
}
722
}, {
723
type: 'Literal',
724
value: 'for',
725
raw: '"for"',
726
range: [17, 22],
727
loc: {
728
start: { line: 1, column: 17 },
729
end: { line: 1, column: 22 }
730
}
731
}],
732
range: [4, 24],
733
loc: {
734
start: { line: 1, column: 4 },
735
end: { line: 1, column: 24 }
736
}
737
},
738
range: [0, 24],
739
loc: {
740
start: { line: 1, column: 0 },
741
end: { line: 1, column: 24 }
742
}
743
},
744
range: [0, 24],
745
loc: {
746
start: { line: 1, column: 0 },
747
end: { line: 1, column: 24 }
748
}
749
},
750
751
'日本語 = []': {
752
type: 'ExpressionStatement',
753
expression: {
754
type: 'AssignmentExpression',
755
operator: '=',
756
left: {
757
type: 'Identifier',
758
name: '日本語',
759
range: [0, 3],
760
loc: {
761
start: { line: 1, column: 0 },
762
end: { line: 1, column: 3 }
763
}
764
},
765
right: {
766
type: 'ArrayExpression',
767
elements: [],
768
range: [6, 8],
769
loc: {
770
start: { line: 1, column: 6 },
771
end: { line: 1, column: 8 }
772
}
773
},
774
range: [0, 8],
775
loc: {
776
start: { line: 1, column: 0 },
777
end: { line: 1, column: 8 }
778
}
779
},
780
range: [0, 8],
781
loc: {
782
start: { line: 1, column: 0 },
783
end: { line: 1, column: 8 }
784
}
785
},
786
787
'T\u203F = []': {
788
type: 'ExpressionStatement',
789
expression: {
790
type: 'AssignmentExpression',
791
operator: '=',
792
left: {
793
type: 'Identifier',
794
name: 'T\u203F',
795
range: [0, 2],
796
loc: {
797
start: { line: 1, column: 0 },
798
end: { line: 1, column: 2 }
799
}
800
},
801
right: {
802
type: 'ArrayExpression',
803
elements: [],
804
range: [5, 7],
805
loc: {
806
start: { line: 1, column: 5 },
807
end: { line: 1, column: 7 }
808
}
809
},
810
range: [0, 7],
811
loc: {
812
start: { line: 1, column: 0 },
813
end: { line: 1, column: 7 }
814
}
815
},
816
range: [0, 7],
817
loc: {
818
start: { line: 1, column: 0 },
819
end: { line: 1, column: 7 }
820
}
821
},
822
823
'T\u200C = []': {
824
type: 'ExpressionStatement',
825
expression: {
826
type: 'AssignmentExpression',
827
operator: '=',
828
left: {
829
type: 'Identifier',
830
name: 'T\u200C',
831
range: [0, 2],
832
loc: {
833
start: { line: 1, column: 0 },
834
end: { line: 1, column: 2 }
835
}
836
},
837
right: {
838
type: 'ArrayExpression',
839
elements: [],
840
range: [5, 7],
841
loc: {
842
start: { line: 1, column: 5 },
843
end: { line: 1, column: 7 }
844
}
845
},
846
range: [0, 7],
847
loc: {
848
start: { line: 1, column: 0 },
849
end: { line: 1, column: 7 }
850
}
851
},
852
range: [0, 7],
853
loc: {
854
start: { line: 1, column: 0 },
855
end: { line: 1, column: 7 }
856
}
857
},
858
859
'T\u200D = []': {
860
type: 'ExpressionStatement',
861
expression: {
862
type: 'AssignmentExpression',
863
operator: '=',
864
left: {
865
type: 'Identifier',
866
name: 'T\u200D',
867
range: [0, 2],
868
loc: {
869
start: { line: 1, column: 0 },
870
end: { line: 1, column: 2 }
871
}
872
},
873
right: {
874
type: 'ArrayExpression',
875
elements: [],
876
range: [5, 7],
877
loc: {
878
start: { line: 1, column: 5 },
879
end: { line: 1, column: 7 }
880
}
881
},
882
range: [0, 7],
883
loc: {
884
start: { line: 1, column: 0 },
885
end: { line: 1, column: 7 }
886
}
887
},
888
range: [0, 7],
889
loc: {
890
start: { line: 1, column: 0 },
891
end: { line: 1, column: 7 }
892
}
893
},
894
895
'\u2163\u2161 = []': {
896
type: 'ExpressionStatement',
897
expression: {
898
type: 'AssignmentExpression',
899
operator: '=',
900
left: {
901
type: 'Identifier',
902
name: '\u2163\u2161',
903
range: [0, 2],
904
loc: {
905
start: { line: 1, column: 0 },
906
end: { line: 1, column: 2 }
907
}
908
},
909
right: {
910
type: 'ArrayExpression',
911
elements: [],
912
range: [5, 7],
913
loc: {
914
start: { line: 1, column: 5 },
915
end: { line: 1, column: 7 }
916
}
917
},
918
range: [0, 7],
919
loc: {
920
start: { line: 1, column: 0 },
921
end: { line: 1, column: 7 }
922
}
923
},
924
range: [0, 7],
925
loc: {
926
start: { line: 1, column: 0 },
927
end: { line: 1, column: 7 }
928
}
929
},
930
931
'\u2163\u2161\u200A=\u2009[]': {
932
type: 'ExpressionStatement',
933
expression: {
934
type: 'AssignmentExpression',
935
operator: '=',
936
left: {
937
type: 'Identifier',
938
name: '\u2163\u2161',
939
range: [0, 2],
940
loc: {
941
start: { line: 1, column: 0 },
942
end: { line: 1, column: 2 }
943
}
944
},
945
right: {
946
type: 'ArrayExpression',
947
elements: [],
948
range: [5, 7],
949
loc: {
950
start: { line: 1, column: 5 },
951
end: { line: 1, column: 7 }
952
}
953
},
954
range: [0, 7],
955
loc: {
956
start: { line: 1, column: 0 },
957
end: { line: 1, column: 7 }
958
}
959
},
960
range: [0, 7],
961
loc: {
962
start: { line: 1, column: 0 },
963
end: { line: 1, column: 7 }
964
}
965
},
966
967
'[",", "second"]': {
968
type: 'ExpressionStatement',
969
expression: {
970
type: 'ArrayExpression',
971
elements: [{
972
type: 'Literal',
973
value: ',',
974
raw: '","',
975
range: [1, 4],
976
loc: {
977
start: { line: 1, column: 1 },
978
end: { line: 1, column: 4 }
979
}
980
}, {
981
type: 'Literal',
982
value: 'second',
983
raw: '"second"',
984
range: [6, 14],
985
loc: {
986
start: { line: 1, column: 6 },
987
end: { line: 1, column: 14 }
988
}
989
}],
990
range: [0, 15],
991
loc: {
992
start: { line: 1, column: 0 },
993
end: { line: 1, column: 15 }
994
}
995
},
996
range: [0, 15],
997
loc: {
998
start: { line: 1, column: 0 },
999
end: { line: 1, column: 15 }
1000
}
1001
},
1002
1003
'["notAToken", "if"]': {
1004
type: 'ExpressionStatement',
1005
expression: {
1006
type: 'ArrayExpression',
1007
elements: [{
1008
type: 'Literal',
1009
value: 'notAToken',
1010
raw: '"notAToken"',
1011
range: [1, 12],
1012
loc: {
1013
start: { line: 1, column: 1 },
1014
end: { line: 1, column: 12 }
1015
}
1016
}, {
1017
type: 'Literal',
1018
value: 'if',
1019
raw: '"if"',
1020
range: [14, 18],
1021
loc: {
1022
start: { line: 1, column: 14 },
1023
end: { line: 1, column: 18 }
1024
}
1025
}],
1026
range: [0, 19],
1027
loc: {
1028
start: { line: 1, column: 0 },
1029
end: { line: 1, column: 19 }
1030
}
1031
},
1032
range: [0, 19],
1033
loc: {
1034
start: { line: 1, column: 0 },
1035
end: { line: 1, column: 19 }
1036
}
1037
}
1038
},
1039
1040
'Object Initializer': {
1041
1042
'x = {}': {
1043
type: 'ExpressionStatement',
1044
expression: {
1045
type: 'AssignmentExpression',
1046
operator: '=',
1047
left: {
1048
type: 'Identifier',
1049
name: 'x',
1050
range: [0, 1],
1051
loc: {
1052
start: { line: 1, column: 0 },
1053
end: { line: 1, column: 1 }
1054
}
1055
},
1056
right: {
1057
type: 'ObjectExpression',
1058
properties: [],
1059
range: [4, 6],
1060
loc: {
1061
start: { line: 1, column: 4 },
1062
end: { line: 1, column: 6 }
1063
}
1064
},
1065
range: [0, 6],
1066
loc: {
1067
start: { line: 1, column: 0 },
1068
end: { line: 1, column: 6 }
1069
}
1070
},
1071
range: [0, 6],
1072
loc: {
1073
start: { line: 1, column: 0 },
1074
end: { line: 1, column: 6 }
1075
}
1076
},
1077
1078
'x = { }': {
1079
type: 'ExpressionStatement',
1080
expression: {
1081
type: 'AssignmentExpression',
1082
operator: '=',
1083
left: {
1084
type: 'Identifier',
1085
name: 'x',
1086
range: [0, 1],
1087
loc: {
1088
start: { line: 1, column: 0 },
1089
end: { line: 1, column: 1 }
1090
}
1091
},
1092
right: {
1093
type: 'ObjectExpression',
1094
properties: [],
1095
range: [4, 7],
1096
loc: {
1097
start: { line: 1, column: 4 },
1098
end: { line: 1, column: 7 }
1099
}
1100
},
1101
range: [0, 7],
1102
loc: {
1103
start: { line: 1, column: 0 },
1104
end: { line: 1, column: 7 }
1105
}
1106
},
1107
range: [0, 7],
1108
loc: {
1109
start: { line: 1, column: 0 },
1110
end: { line: 1, column: 7 }
1111
}
1112
},
1113
1114
'x = { answer: 42 }': {
1115
type: 'ExpressionStatement',
1116
expression: {
1117
type: 'AssignmentExpression',
1118
operator: '=',
1119
left: {
1120
type: 'Identifier',
1121
name: 'x',
1122
range: [0, 1],
1123
loc: {
1124
start: { line: 1, column: 0 },
1125
end: { line: 1, column: 1 }
1126
}
1127
},
1128
right: {
1129
type: 'ObjectExpression',
1130
properties: [{
1131
type: 'Property',
1132
key: {
1133
type: 'Identifier',
1134
name: 'answer',
1135
range: [6, 12],
1136
loc: {
1137
start: { line: 1, column: 6 },
1138
end: { line: 1, column: 12 }
1139
}
1140
},
1141
value: {
1142
type: 'Literal',
1143
value: 42,
1144
raw: '42',
1145
range: [14, 16],
1146
loc: {
1147
start: { line: 1, column: 14 },
1148
end: { line: 1, column: 16 }
1149
}
1150
},
1151
kind: 'init',
1152
method: false,
1153
shorthand: false,
1154
computed: false,
1155
range: [6, 16],
1156
loc: {
1157
start: { line: 1, column: 6 },
1158
end: { line: 1, column: 16 }
1159
}
1160
}],
1161
range: [4, 18],
1162
loc: {
1163
start: { line: 1, column: 4 },
1164
end: { line: 1, column: 18 }
1165
}
1166
},
1167
range: [0, 18],
1168
loc: {
1169
start: { line: 1, column: 0 },
1170
end: { line: 1, column: 18 }
1171
}
1172
},
1173
range: [0, 18],
1174
loc: {
1175
start: { line: 1, column: 0 },
1176
end: { line: 1, column: 18 }
1177
}
1178
},
1179
1180
'x = { if: 42 }': {
1181
type: 'ExpressionStatement',
1182
expression: {
1183
type: 'AssignmentExpression',
1184
operator: '=',
1185
left: {
1186
type: 'Identifier',
1187
name: 'x',
1188
range: [0, 1],
1189
loc: {
1190
start: { line: 1, column: 0 },
1191
end: { line: 1, column: 1 }
1192
}
1193
},
1194
right: {
1195
type: 'ObjectExpression',
1196
properties: [{
1197
type: 'Property',
1198
key: {
1199
type: 'Identifier',
1200
name: 'if',
1201
range: [6, 8],
1202
loc: {
1203
start: { line: 1, column: 6 },
1204
end: { line: 1, column: 8 }
1205
}
1206
},
1207
value: {
1208
type: 'Literal',
1209
value: 42,
1210
raw: '42',
1211
range: [10, 12],
1212
loc: {
1213
start: { line: 1, column: 10 },
1214
end: { line: 1, column: 12 }
1215
}
1216
},
1217
kind: 'init',
1218
method: false,
1219
shorthand: false,
1220
computed: false,
1221
range: [6, 12],
1222
loc: {
1223
start: { line: 1, column: 6 },
1224
end: { line: 1, column: 12 }
1225
}
1226
}],
1227
range: [4, 14],
1228
loc: {
1229
start: { line: 1, column: 4 },
1230
end: { line: 1, column: 14 }
1231
}
1232
},
1233
range: [0, 14],
1234
loc: {
1235
start: { line: 1, column: 0 },
1236
end: { line: 1, column: 14 }
1237
}
1238
},
1239
range: [0, 14],
1240
loc: {
1241
start: { line: 1, column: 0 },
1242
end: { line: 1, column: 14 }
1243
}
1244
},
1245
1246
'x = { true: 42 }': {
1247
type: 'ExpressionStatement',
1248
expression: {
1249
type: 'AssignmentExpression',
1250
operator: '=',
1251
left: {
1252
type: 'Identifier',
1253
name: 'x',
1254
range: [0, 1],
1255
loc: {
1256
start: { line: 1, column: 0 },
1257
end: { line: 1, column: 1 }
1258
}
1259
},
1260
right: {
1261
type: 'ObjectExpression',
1262
properties: [{
1263
type: 'Property',
1264
key: {
1265
type: 'Identifier',
1266
name: 'true',
1267
range: [6, 10],
1268
loc: {
1269
start: { line: 1, column: 6 },
1270
end: { line: 1, column: 10 }
1271
}
1272
},
1273
value: {
1274
type: 'Literal',
1275
value: 42,
1276
raw: '42',
1277
range: [12, 14],
1278
loc: {
1279
start: { line: 1, column: 12 },
1280
end: { line: 1, column: 14 }
1281
}
1282
},
1283
kind: 'init',
1284
method: false,
1285
shorthand: false,
1286
computed: false,
1287
range: [6, 14],
1288
loc: {
1289
start: { line: 1, column: 6 },
1290
end: { line: 1, column: 14 }
1291
}
1292
}],
1293
range: [4, 16],
1294
loc: {
1295
start: { line: 1, column: 4 },
1296
end: { line: 1, column: 16 }
1297
}
1298
},
1299
range: [0, 16],
1300
loc: {
1301
start: { line: 1, column: 0 },
1302
end: { line: 1, column: 16 }
1303
}
1304
},
1305
range: [0, 16],
1306
loc: {
1307
start: { line: 1, column: 0 },
1308
end: { line: 1, column: 16 }
1309
}
1310
},
1311
1312
'x = { false: 42 }': {
1313
type: 'ExpressionStatement',
1314
expression: {
1315
type: 'AssignmentExpression',
1316
operator: '=',
1317
left: {
1318
type: 'Identifier',
1319
name: 'x',
1320
range: [0, 1],
1321
loc: {
1322
start: { line: 1, column: 0 },
1323
end: { line: 1, column: 1 }
1324
}
1325
},
1326
right: {
1327
type: 'ObjectExpression',
1328
properties: [{
1329
type: 'Property',
1330
key: {
1331
type: 'Identifier',
1332
name: 'false',
1333
range: [6, 11],
1334
loc: {
1335
start: { line: 1, column: 6 },
1336
end: { line: 1, column: 11 }
1337
}
1338
},
1339
value: {
1340
type: 'Literal',
1341
value: 42,
1342
raw: '42',
1343
range: [13, 15],
1344
loc: {
1345
start: { line: 1, column: 13 },
1346
end: { line: 1, column: 15 }
1347
}
1348
},
1349
kind: 'init',
1350
method: false,
1351
shorthand: false,
1352
computed: false,
1353
range: [6, 15],
1354
loc: {
1355
start: { line: 1, column: 6 },
1356
end: { line: 1, column: 15 }
1357
}
1358
}],
1359
range: [4, 17],
1360
loc: {
1361
start: { line: 1, column: 4 },
1362
end: { line: 1, column: 17 }
1363
}
1364
},
1365
range: [0, 17],
1366
loc: {
1367
start: { line: 1, column: 0 },
1368
end: { line: 1, column: 17 }
1369
}
1370
},
1371
range: [0, 17],
1372
loc: {
1373
start: { line: 1, column: 0 },
1374
end: { line: 1, column: 17 }
1375
}
1376
},
1377
1378
'x = { null: 42 }': {
1379
type: 'ExpressionStatement',
1380
expression: {
1381
type: 'AssignmentExpression',
1382
operator: '=',
1383
left: {
1384
type: 'Identifier',
1385
name: 'x',
1386
range: [0, 1],
1387
loc: {
1388
start: { line: 1, column: 0 },
1389
end: { line: 1, column: 1 }
1390
}
1391
},
1392
right: {
1393
type: 'ObjectExpression',
1394
properties: [{
1395
type: 'Property',
1396
key: {
1397
type: 'Identifier',
1398
name: 'null',
1399
range: [6, 10],
1400
loc: {
1401
start: { line: 1, column: 6 },
1402
end: { line: 1, column: 10 }
1403
}
1404
},
1405
value: {
1406
type: 'Literal',
1407
value: 42,
1408
raw: '42',
1409
range: [12, 14],
1410
loc: {
1411
start: { line: 1, column: 12 },
1412
end: { line: 1, column: 14 }
1413
}
1414
},
1415
kind: 'init',
1416
method: false,
1417
shorthand: false,
1418
computed: false,
1419
range: [6, 14],
1420
loc: {
1421
start: { line: 1, column: 6 },
1422
end: { line: 1, column: 14 }
1423
}
1424
}],
1425
range: [4, 16],
1426
loc: {
1427
start: { line: 1, column: 4 },
1428
end: { line: 1, column: 16 }
1429
}
1430
},
1431
range: [0, 16],
1432
loc: {
1433
start: { line: 1, column: 0 },
1434
end: { line: 1, column: 16 }
1435
}
1436
},
1437
range: [0, 16],
1438
loc: {
1439
start: { line: 1, column: 0 },
1440
end: { line: 1, column: 16 }
1441
}
1442
},
1443
1444
'x = { "answer": 42 }': {
1445
type: 'ExpressionStatement',
1446
expression: {
1447
type: 'AssignmentExpression',
1448
operator: '=',
1449
left: {
1450
type: 'Identifier',
1451
name: 'x',
1452
range: [0, 1],
1453
loc: {
1454
start: { line: 1, column: 0 },
1455
end: { line: 1, column: 1 }
1456
}
1457
},
1458
right: {
1459
type: 'ObjectExpression',
1460
properties: [{
1461
type: 'Property',
1462
key: {
1463
type: 'Literal',
1464
value: 'answer',
1465
raw: '"answer"',
1466
range: [6, 14],
1467
loc: {
1468
start: { line: 1, column: 6 },
1469
end: { line: 1, column: 14 }
1470
}
1471
},
1472
value: {
1473
type: 'Literal',
1474
value: 42,
1475
raw: '42',
1476
range: [16, 18],
1477
loc: {
1478
start: { line: 1, column: 16 },
1479
end: { line: 1, column: 18 }
1480
}
1481
},
1482
kind: 'init',
1483
method: false,
1484
shorthand: false,
1485
computed: false,
1486
range: [6, 18],
1487
loc: {
1488
start: { line: 1, column: 6 },
1489
end: { line: 1, column: 18 }
1490
}
1491
}],
1492
range: [4, 20],
1493
loc: {
1494
start: { line: 1, column: 4 },
1495
end: { line: 1, column: 20 }
1496
}
1497
},
1498
range: [0, 20],
1499
loc: {
1500
start: { line: 1, column: 0 },
1501
end: { line: 1, column: 20 }
1502
}
1503
},
1504
range: [0, 20],
1505
loc: {
1506
start: { line: 1, column: 0 },
1507
end: { line: 1, column: 20 }
1508
}
1509
},
1510
1511
'x = { x: 1, x: 2 }': {
1512
type: 'ExpressionStatement',
1513
expression: {
1514
type: 'AssignmentExpression',
1515
operator: '=',
1516
left: {
1517
type: 'Identifier',
1518
name: 'x',
1519
range: [0, 1],
1520
loc: {
1521
start: { line: 1, column: 0 },
1522
end: { line: 1, column: 1 }
1523
}
1524
},
1525
right: {
1526
type: 'ObjectExpression',
1527
properties: [
1528
{
1529
type: 'Property',
1530
key: {
1531
type: 'Identifier',
1532
name: 'x',
1533
range: [6, 7],
1534
loc: {
1535
start: { line: 1, column: 6 },
1536
end: { line: 1, column: 7 }
1537
}
1538
},
1539
value: {
1540
type: 'Literal',
1541
value: 1,
1542
raw: '1',
1543
range: [9, 10],
1544
loc: {
1545
start: { line: 1, column: 9 },
1546
end: { line: 1, column: 10 }
1547
}
1548
},
1549
kind: 'init',
1550
method: false,
1551
shorthand: false,
1552
computed: false,
1553
range: [6, 10],
1554
loc: {
1555
start: { line: 1, column: 6 },
1556
end: { line: 1, column: 10 }
1557
}
1558
},
1559
{
1560
type: 'Property',
1561
key: {
1562
type: 'Identifier',
1563
name: 'x',
1564
range: [12, 13],
1565
loc: {
1566
start: { line: 1, column: 12 },
1567
end: { line: 1, column: 13 }
1568
}
1569
},
1570
value: {
1571
type: 'Literal',
1572
value: 2,
1573
raw: '2',
1574
range: [15, 16],
1575
loc: {
1576
start: { line: 1, column: 15 },
1577
end: { line: 1, column: 16 }
1578
}
1579
},
1580
kind: 'init',
1581
method: false,
1582
shorthand: false,
1583
computed: false,
1584
range: [12, 16],
1585
loc: {
1586
start: { line: 1, column: 12 },
1587
end: { line: 1, column: 16 }
1588
}
1589
}
1590
],
1591
range: [4, 18],
1592
loc: {
1593
start: { line: 1, column: 4 },
1594
end: { line: 1, column: 18 }
1595
}
1596
},
1597
range: [0, 18],
1598
loc: {
1599
start: { line: 1, column: 0 },
1600
end: { line: 1, column: 18 }
1601
}
1602
},
1603
range: [0, 18],
1604
loc: {
1605
start: { line: 1, column: 0 },
1606
end: { line: 1, column: 18 }
1607
}
1608
},
1609
1610
'x = { get width() { return m_width } }': {
1611
type: 'ExpressionStatement',
1612
expression: {
1613
type: 'AssignmentExpression',
1614
operator: '=',
1615
left: {
1616
type: 'Identifier',
1617
name: 'x',
1618
range: [0, 1],
1619
loc: {
1620
start: { line: 1, column: 0 },
1621
end: { line: 1, column: 1 }
1622
}
1623
},
1624
right: {
1625
type: 'ObjectExpression',
1626
properties: [{
1627
type: 'Property',
1628
key: {
1629
type: 'Identifier',
1630
name: 'width',
1631
range: [10, 15],
1632
loc: {
1633
start: { line: 1, column: 10 },
1634
end: { line: 1, column: 15 }
1635
}
1636
},
1637
value: {
1638
type: 'FunctionExpression',
1639
id: null,
1640
params: [],
1641
defaults: [],
1642
body: {
1643
type: 'BlockStatement',
1644
body: [{
1645
type: 'ReturnStatement',
1646
argument: {
1647
type: 'Identifier',
1648
name: 'm_width',
1649
range: [27, 34],
1650
loc: {
1651
start: { line: 1, column: 27 },
1652
end: { line: 1, column: 34 }
1653
}
1654
},
1655
range: [20, 35],
1656
loc: {
1657
start: { line: 1, column: 20 },
1658
end: { line: 1, column: 35 }
1659
}
1660
}],
1661
range: [18, 36],
1662
loc: {
1663
start: { line: 1, column: 18 },
1664
end: { line: 1, column: 36 }
1665
}
1666
},
1667
rest: null,
1668
generator: false,
1669
expression: false,
1670
range: [18, 36],
1671
loc: {
1672
start: { line: 1, column: 18 },
1673
end: { line: 1, column: 36 }
1674
}
1675
},
1676
kind: 'get',
1677
method: false,
1678
shorthand: false,
1679
computed: false,
1680
range: [6, 36],
1681
loc: {
1682
start: { line: 1, column: 6 },
1683
end: { line: 1, column: 36 }
1684
}
1685
}],
1686
range: [4, 38],
1687
loc: {
1688
start: { line: 1, column: 4 },
1689
end: { line: 1, column: 38 }
1690
}
1691
},
1692
range: [0, 38],
1693
loc: {
1694
start: { line: 1, column: 0 },
1695
end: { line: 1, column: 38 }
1696
}
1697
},
1698
range: [0, 38],
1699
loc: {
1700
start: { line: 1, column: 0 },
1701
end: { line: 1, column: 38 }
1702
}
1703
},
1704
1705
'x = { get undef() {} }': {
1706
type: 'ExpressionStatement',
1707
expression: {
1708
type: 'AssignmentExpression',
1709
operator: '=',
1710
left: {
1711
type: 'Identifier',
1712
name: 'x',
1713
range: [0, 1],
1714
loc: {
1715
start: { line: 1, column: 0 },
1716
end: { line: 1, column: 1 }
1717
}
1718
},
1719
right: {
1720
type: 'ObjectExpression',
1721
properties: [{
1722
type: 'Property',
1723
key: {
1724
type: 'Identifier',
1725
name: 'undef',
1726
range: [10, 15],
1727
loc: {
1728
start: { line: 1, column: 10 },
1729
end: { line: 1, column: 15 }
1730
}
1731
},
1732
value: {
1733
type: 'FunctionExpression',
1734
id: null,
1735
params: [],
1736
defaults: [],
1737
body: {
1738
type: 'BlockStatement',
1739
body: [],
1740
range: [18, 20],
1741
loc: {
1742
start: { line: 1, column: 18 },
1743
end: { line: 1, column: 20 }
1744
}
1745
},
1746
rest: null,
1747
generator: false,
1748
expression: false,
1749
range: [18, 20],
1750
loc: {
1751
start: { line: 1, column: 18 },
1752
end: { line: 1, column: 20 }
1753
}
1754
},
1755
kind: 'get',
1756
method: false,
1757
shorthand: false,
1758
computed: false,
1759
range: [6, 20],
1760
loc: {
1761
start: { line: 1, column: 6 },
1762
end: { line: 1, column: 20 }
1763
}
1764
}],
1765
range: [4, 22],
1766
loc: {
1767
start: { line: 1, column: 4 },
1768
end: { line: 1, column: 22 }
1769
}
1770
},
1771
range: [0, 22],
1772
loc: {
1773
start: { line: 1, column: 0 },
1774
end: { line: 1, column: 22 }
1775
}
1776
},
1777
range: [0, 22],
1778
loc: {
1779
start: { line: 1, column: 0 },
1780
end: { line: 1, column: 22 }
1781
}
1782
},
1783
1784
'x = { get if() {} }': {
1785
type: 'ExpressionStatement',
1786
expression: {
1787
type: 'AssignmentExpression',
1788
operator: '=',
1789
left: {
1790
type: 'Identifier',
1791
name: 'x',
1792
range: [0, 1],
1793
loc: {
1794
start: { line: 1, column: 0 },
1795
end: { line: 1, column: 1 }
1796
}
1797
},
1798
right: {
1799
type: 'ObjectExpression',
1800
properties: [{
1801
type: 'Property',
1802
key: {
1803
type: 'Identifier',
1804
name: 'if',
1805
range: [10, 12],
1806
loc: {
1807
start: { line: 1, column: 10 },
1808
end: { line: 1, column: 12 }
1809
}
1810
},
1811
value: {
1812
type: 'FunctionExpression',
1813
id: null,
1814
params: [],
1815
defaults: [],
1816
body: {
1817
type: 'BlockStatement',
1818
body: [],
1819
range: [15, 17],
1820
loc: {
1821
start: { line: 1, column: 15 },
1822
end: { line: 1, column: 17 }
1823
}
1824
},
1825
rest: null,
1826
generator: false,
1827
expression: false,
1828
range: [15, 17],
1829
loc: {
1830
start: { line: 1, column: 15 },
1831
end: { line: 1, column: 17 }
1832
}
1833
},
1834
kind: 'get',
1835
method: false,
1836
shorthand: false,
1837
computed: false,
1838
range: [6, 17],
1839
loc: {
1840
start: { line: 1, column: 6 },
1841
end: { line: 1, column: 17 }
1842
}
1843
}],
1844
range: [4, 19],
1845
loc: {
1846
start: { line: 1, column: 4 },
1847
end: { line: 1, column: 19 }
1848
}
1849
},
1850
range: [0, 19],
1851
loc: {
1852
start: { line: 1, column: 0 },
1853
end: { line: 1, column: 19 }
1854
}
1855
},
1856
range: [0, 19],
1857
loc: {
1858
start: { line: 1, column: 0 },
1859
end: { line: 1, column: 19 }
1860
}
1861
},
1862
1863
'x = { get true() {} }': {
1864
type: 'ExpressionStatement',
1865
expression: {
1866
type: 'AssignmentExpression',
1867
operator: '=',
1868
left: {
1869
type: 'Identifier',
1870
name: 'x',
1871
range: [0, 1],
1872
loc: {
1873
start: { line: 1, column: 0 },
1874
end: { line: 1, column: 1 }
1875
}
1876
},
1877
right: {
1878
type: 'ObjectExpression',
1879
properties: [{
1880
type: 'Property',
1881
key: {
1882
type: 'Identifier',
1883
name: 'true',
1884
range: [10, 14],
1885
loc: {
1886
start: { line: 1, column: 10 },
1887
end: { line: 1, column: 14 }
1888
}
1889
},
1890
value: {
1891
type: 'FunctionExpression',
1892
id: null,
1893
params: [],
1894
defaults: [],
1895
body: {
1896
type: 'BlockStatement',
1897
body: [],
1898
range: [17, 19],
1899
loc: {
1900
start: { line: 1, column: 17 },
1901
end: { line: 1, column: 19 }
1902
}
1903
},
1904
rest: null,
1905
generator: false,
1906
expression: false,
1907
range: [17, 19],
1908
loc: {
1909
start: { line: 1, column: 17 },
1910
end: { line: 1, column: 19 }
1911
}
1912
},
1913
kind: 'get',
1914
method: false,
1915
shorthand: false,
1916
computed: false,
1917
range: [6, 19],
1918
loc: {
1919
start: { line: 1, column: 6 },
1920
end: { line: 1, column: 19 }
1921
}
1922
}],
1923
range: [4, 21],
1924
loc: {
1925
start: { line: 1, column: 4 },
1926
end: { line: 1, column: 21 }
1927
}
1928
},
1929
range: [0, 21],
1930
loc: {
1931
start: { line: 1, column: 0 },
1932
end: { line: 1, column: 21 }
1933
}
1934
},
1935
range: [0, 21],
1936
loc: {
1937
start: { line: 1, column: 0 },
1938
end: { line: 1, column: 21 }
1939
}
1940
},
1941
1942
'x = { get false() {} }': {
1943
type: 'ExpressionStatement',
1944
expression: {
1945
type: 'AssignmentExpression',
1946
operator: '=',
1947
left: {
1948
type: 'Identifier',
1949
name: 'x',
1950
range: [0, 1],
1951
loc: {
1952
start: { line: 1, column: 0 },
1953
end: { line: 1, column: 1 }
1954
}
1955
},
1956
right: {
1957
type: 'ObjectExpression',
1958
properties: [{
1959
type: 'Property',
1960
key: {
1961
type: 'Identifier',
1962
name: 'false',
1963
range: [10, 15],
1964
loc: {
1965
start: { line: 1, column: 10 },
1966
end: { line: 1, column: 15 }
1967
}
1968
},
1969
value: {
1970
type: 'FunctionExpression',
1971
id: null,
1972
params: [],
1973
defaults: [],
1974
body: {
1975
type: 'BlockStatement',
1976
body: [],
1977
range: [18, 20],
1978
loc: {
1979
start: { line: 1, column: 18 },
1980
end: { line: 1, column: 20 }
1981
}
1982
},
1983
rest: null,
1984
generator: false,
1985
expression: false,
1986
range: [18, 20],
1987
loc: {
1988
start: { line: 1, column: 18 },
1989
end: { line: 1, column: 20 }
1990
}
1991
},
1992
kind: 'get',
1993
method: false,
1994
shorthand: false,
1995
computed: false,
1996
range: [6, 20],
1997
loc: {
1998
start: { line: 1, column: 6 },
1999
end: { line: 1, column: 20 }
2000
}
2001
}],
2002
range: [4, 22],
2003
loc: {
2004
start: { line: 1, column: 4 },
2005
end: { line: 1, column: 22 }
2006
}
2007
},
2008
range: [0, 22],
2009
loc: {
2010
start: { line: 1, column: 0 },
2011
end: { line: 1, column: 22 }
2012
}
2013
},
2014
range: [0, 22],
2015
loc: {
2016
start: { line: 1, column: 0 },
2017
end: { line: 1, column: 22 }
2018
}
2019
},
2020
2021
'x = { get null() {} }': {
2022
type: 'ExpressionStatement',
2023
expression: {
2024
type: 'AssignmentExpression',
2025
operator: '=',
2026
left: {
2027
type: 'Identifier',
2028
name: 'x',
2029
range: [0, 1],
2030
loc: {
2031
start: { line: 1, column: 0 },
2032
end: { line: 1, column: 1 }
2033
}
2034
},
2035
right: {
2036
type: 'ObjectExpression',
2037
properties: [{
2038
type: 'Property',
2039
key: {
2040
type: 'Identifier',
2041
name: 'null',
2042
range: [10, 14],
2043
loc: {
2044
start: { line: 1, column: 10 },
2045
end: { line: 1, column: 14 }
2046
}
2047
},
2048
value: {
2049
type: 'FunctionExpression',
2050
id: null,
2051
params: [],
2052
defaults: [],
2053
body: {
2054
type: 'BlockStatement',
2055
body: [],
2056
range: [17, 19],
2057
loc: {
2058
start: { line: 1, column: 17 },
2059
end: { line: 1, column: 19 }
2060
}
2061
},
2062
rest: null,
2063
generator: false,
2064
expression: false,
2065
range: [17, 19],
2066
loc: {
2067
start: { line: 1, column: 17 },
2068
end: { line: 1, column: 19 }
2069
}
2070
},
2071
kind: 'get',
2072
method: false,
2073
shorthand: false,
2074
computed: false,
2075
range: [6, 19],
2076
loc: {
2077
start: { line: 1, column: 6 },
2078
end: { line: 1, column: 19 }
2079
}
2080
}],
2081
range: [4, 21],
2082
loc: {
2083
start: { line: 1, column: 4 },
2084
end: { line: 1, column: 21 }
2085
}
2086
},
2087
range: [0, 21],
2088
loc: {
2089
start: { line: 1, column: 0 },
2090
end: { line: 1, column: 21 }
2091
}
2092
},
2093
range: [0, 21],
2094
loc: {
2095
start: { line: 1, column: 0 },
2096
end: { line: 1, column: 21 }
2097
}
2098
},
2099
2100
'x = { get "undef"() {} }': {
2101
type: 'ExpressionStatement',
2102
expression: {
2103
type: 'AssignmentExpression',
2104
operator: '=',
2105
left: {
2106
type: 'Identifier',
2107
name: 'x',
2108
range: [0, 1],
2109
loc: {
2110
start: { line: 1, column: 0 },
2111
end: { line: 1, column: 1 }
2112
}
2113
},
2114
right: {
2115
type: 'ObjectExpression',
2116
properties: [{
2117
type: 'Property',
2118
key: {
2119
type: 'Literal',
2120
value: 'undef',
2121
raw: '"undef"',
2122
range: [10, 17],
2123
loc: {
2124
start: { line: 1, column: 10 },
2125
end: { line: 1, column: 17 }
2126
}
2127
},
2128
value: {
2129
type: 'FunctionExpression',
2130
id: null,
2131
params: [],
2132
defaults: [],
2133
body: {
2134
type: 'BlockStatement',
2135
body: [],
2136
range: [20, 22],
2137
loc: {
2138
start: { line: 1, column: 20 },
2139
end: { line: 1, column: 22 }
2140
}
2141
},
2142
rest: null,
2143
generator: false,
2144
expression: false,
2145
range: [20, 22],
2146
loc: {
2147
start: { line: 1, column: 20 },
2148
end: { line: 1, column: 22 }
2149
}
2150
},
2151
kind: 'get',
2152
method: false,
2153
shorthand: false,
2154
computed: false,
2155
range: [6, 22],
2156
loc: {
2157
start: { line: 1, column: 6 },
2158
end: { line: 1, column: 22 }
2159
}
2160
}],
2161
range: [4, 24],
2162
loc: {
2163
start: { line: 1, column: 4 },
2164
end: { line: 1, column: 24 }
2165
}
2166
},
2167
range: [0, 24],
2168
loc: {
2169
start: { line: 1, column: 0 },
2170
end: { line: 1, column: 24 }
2171
}
2172
},
2173
range: [0, 24],
2174
loc: {
2175
start: { line: 1, column: 0 },
2176
end: { line: 1, column: 24 }
2177
}
2178
},
2179
2180
'x = { get 10() {} }': {
2181
type: 'ExpressionStatement',
2182
expression: {
2183
type: 'AssignmentExpression',
2184
operator: '=',
2185
left: {
2186
type: 'Identifier',
2187
name: 'x',
2188
range: [0, 1],
2189
loc: {
2190
start: { line: 1, column: 0 },
2191
end: { line: 1, column: 1 }
2192
}
2193
},
2194
right: {
2195
type: 'ObjectExpression',
2196
properties: [{
2197
type: 'Property',
2198
key: {
2199
type: 'Literal',
2200
value: 10,
2201
raw: '10',
2202
range: [10, 12],
2203
loc: {
2204
start: { line: 1, column: 10 },
2205
end: { line: 1, column: 12 }
2206
}
2207
},
2208
value: {
2209
type: 'FunctionExpression',
2210
id: null,
2211
params: [],
2212
defaults: [],
2213
body: {
2214
type: 'BlockStatement',
2215
body: [],
2216
range: [15, 17],
2217
loc: {
2218
start: { line: 1, column: 15 },
2219
end: { line: 1, column: 17 }
2220
}
2221
},
2222
rest: null,
2223
generator: false,
2224
expression: false,
2225
range: [15, 17],
2226
loc: {
2227
start: { line: 1, column: 15 },
2228
end: { line: 1, column: 17 }
2229
}
2230
},
2231
kind: 'get',
2232
method: false,
2233
shorthand: false,
2234
computed: false,
2235
range: [6, 17],
2236
loc: {
2237
start: { line: 1, column: 6 },
2238
end: { line: 1, column: 17 }
2239
}
2240
}],
2241
range: [4, 19],
2242
loc: {
2243
start: { line: 1, column: 4 },
2244
end: { line: 1, column: 19 }
2245
}
2246
},
2247
range: [0, 19],
2248
loc: {
2249
start: { line: 1, column: 0 },
2250
end: { line: 1, column: 19 }
2251
}
2252
},
2253
range: [0, 19],
2254
loc: {
2255
start: { line: 1, column: 0 },
2256
end: { line: 1, column: 19 }
2257
}
2258
},
2259
2260
'x = { set width(w) { m_width = w } }': {
2261
type: 'ExpressionStatement',
2262
expression: {
2263
type: 'AssignmentExpression',
2264
operator: '=',
2265
left: {
2266
type: 'Identifier',
2267
name: 'x',
2268
range: [0, 1],
2269
loc: {
2270
start: { line: 1, column: 0 },
2271
end: { line: 1, column: 1 }
2272
}
2273
},
2274
right: {
2275
type: 'ObjectExpression',
2276
properties: [{
2277
type: 'Property',
2278
key: {
2279
type: 'Identifier',
2280
name: 'width',
2281
range: [10, 15],
2282
loc: {
2283
start: { line: 1, column: 10 },
2284
end: { line: 1, column: 15 }
2285
}
2286
},
2287
value: {
2288
type: 'FunctionExpression',
2289
id: null,
2290
params: [{
2291
type: 'Identifier',
2292
name: 'w',
2293
range: [16, 17],
2294
loc: {
2295
start: { line: 1, column: 16 },
2296
end: { line: 1, column: 17 }
2297
}
2298
}],
2299
defaults: [],
2300
body: {
2301
type: 'BlockStatement',
2302
body: [{
2303
type: 'ExpressionStatement',
2304
expression: {
2305
type: 'AssignmentExpression',
2306
operator: '=',
2307
left: {
2308
type: 'Identifier',
2309
name: 'm_width',
2310
range: [21, 28],
2311
loc: {
2312
start: { line: 1, column: 21 },
2313
end: { line: 1, column: 28 }
2314
}
2315
},
2316
right: {
2317
type: 'Identifier',
2318
name: 'w',
2319
range: [31, 32],
2320
loc: {
2321
start: { line: 1, column: 31 },
2322
end: { line: 1, column: 32 }
2323
}
2324
},
2325
range: [21, 32],
2326
loc: {
2327
start: { line: 1, column: 21 },
2328
end: { line: 1, column: 32 }
2329
}
2330
},
2331
range: [21, 33],
2332
loc: {
2333
start: { line: 1, column: 21 },
2334
end: { line: 1, column: 33 }
2335
}
2336
}],
2337
range: [19, 34],
2338
loc: {
2339
start: { line: 1, column: 19 },
2340
end: { line: 1, column: 34 }
2341
}
2342
},
2343
rest: null,
2344
generator: false,
2345
expression: false,
2346
range: [19, 34],
2347
loc: {
2348
start: { line: 1, column: 19 },
2349
end: { line: 1, column: 34 }
2350
}
2351
},
2352
kind: 'set',
2353
method: false,
2354
shorthand: false,
2355
computed: false,
2356
range: [6, 34],
2357
loc: {
2358
start: { line: 1, column: 6 },
2359
end: { line: 1, column: 34 }
2360
}
2361
}],
2362
range: [4, 36],
2363
loc: {
2364
start: { line: 1, column: 4 },
2365
end: { line: 1, column: 36 }
2366
}
2367
},
2368
range: [0, 36],
2369
loc: {
2370
start: { line: 1, column: 0 },
2371
end: { line: 1, column: 36 }
2372
}
2373
},
2374
range: [0, 36],
2375
loc: {
2376
start: { line: 1, column: 0 },
2377
end: { line: 1, column: 36 }
2378
}
2379
},
2380
2381
'x = { set if(w) { m_if = w } }': {
2382
type: 'ExpressionStatement',
2383
expression: {
2384
type: 'AssignmentExpression',
2385
operator: '=',
2386
left: {
2387
type: 'Identifier',
2388
name: 'x',
2389
range: [0, 1],
2390
loc: {
2391
start: { line: 1, column: 0 },
2392
end: { line: 1, column: 1 }
2393
}
2394
},
2395
right: {
2396
type: 'ObjectExpression',
2397
properties: [{
2398
type: 'Property',
2399
key: {
2400
type: 'Identifier',
2401
name: 'if',
2402
range: [10, 12],
2403
loc: {
2404
start: { line: 1, column: 10 },
2405
end: { line: 1, column: 12 }
2406
}
2407
},
2408
value: {
2409
type: 'FunctionExpression',
2410
id: null,
2411
params: [{
2412
type: 'Identifier',
2413
name: 'w',
2414
range: [13, 14],
2415
loc: {
2416
start: { line: 1, column: 13 },
2417
end: { line: 1, column: 14 }
2418
}
2419
}],
2420
defaults: [],
2421
body: {
2422
type: 'BlockStatement',
2423
body: [{
2424
type: 'ExpressionStatement',
2425
expression: {
2426
type: 'AssignmentExpression',
2427
operator: '=',
2428
left: {
2429
type: 'Identifier',
2430
name: 'm_if',
2431
range: [18, 22],
2432
loc: {
2433
start: { line: 1, column: 18 },
2434
end: { line: 1, column: 22 }
2435
}
2436
},
2437
right: {
2438
type: 'Identifier',
2439
name: 'w',
2440
range: [25, 26],
2441
loc: {
2442
start: { line: 1, column: 25 },
2443
end: { line: 1, column: 26 }
2444
}
2445
},
2446
range: [18, 26],
2447
loc: {
2448
start: { line: 1, column: 18 },
2449
end: { line: 1, column: 26 }
2450
}
2451
},
2452
range: [18, 27],
2453
loc: {
2454
start: { line: 1, column: 18 },
2455
end: { line: 1, column: 27 }
2456
}
2457
}],
2458
range: [16, 28],
2459
loc: {
2460
start: { line: 1, column: 16 },
2461
end: { line: 1, column: 28 }
2462
}
2463
},
2464
rest: null,
2465
generator: false,
2466
expression: false,
2467
range: [16, 28],
2468
loc: {
2469
start: { line: 1, column: 16 },
2470
end: { line: 1, column: 28 }
2471
}
2472
},
2473
kind: 'set',
2474
method: false,
2475
shorthand: false,
2476
computed: false,
2477
range: [6, 28],
2478
loc: {
2479
start: { line: 1, column: 6 },
2480
end: { line: 1, column: 28 }
2481
}
2482
}],
2483
range: [4, 30],
2484
loc: {
2485
start: { line: 1, column: 4 },
2486
end: { line: 1, column: 30 }
2487
}
2488
},
2489
range: [0, 30],
2490
loc: {
2491
start: { line: 1, column: 0 },
2492
end: { line: 1, column: 30 }
2493
}
2494
},
2495
range: [0, 30],
2496
loc: {
2497
start: { line: 1, column: 0 },
2498
end: { line: 1, column: 30 }
2499
}
2500
},
2501
2502
'x = { set true(w) { m_true = w } }': {
2503
type: 'ExpressionStatement',
2504
expression: {
2505
type: 'AssignmentExpression',
2506
operator: '=',
2507
left: {
2508
type: 'Identifier',
2509
name: 'x',
2510
range: [0, 1],
2511
loc: {
2512
start: { line: 1, column: 0 },
2513
end: { line: 1, column: 1 }
2514
}
2515
},
2516
right: {
2517
type: 'ObjectExpression',
2518
properties: [{
2519
type: 'Property',
2520
key: {
2521
type: 'Identifier',
2522
name: 'true',
2523
range: [10, 14],
2524
loc: {
2525
start: { line: 1, column: 10 },
2526
end: { line: 1, column: 14 }
2527
}
2528
},
2529
value: {
2530
type: 'FunctionExpression',
2531
id: null,
2532
params: [{
2533
type: 'Identifier',
2534
name: 'w',
2535
range: [15, 16],
2536
loc: {
2537
start: { line: 1, column: 15 },
2538
end: { line: 1, column: 16 }
2539
}
2540
}],
2541
defaults: [],
2542
body: {
2543
type: 'BlockStatement',
2544
body: [{
2545
type: 'ExpressionStatement',
2546
expression: {
2547
type: 'AssignmentExpression',
2548
operator: '=',
2549
left: {
2550
type: 'Identifier',
2551
name: 'm_true',
2552
range: [20, 26],
2553
loc: {
2554
start: { line: 1, column: 20 },
2555
end: { line: 1, column: 26 }
2556
}
2557
},
2558
right: {
2559
type: 'Identifier',
2560
name: 'w',
2561
range: [29, 30],
2562
loc: {
2563
start: { line: 1, column: 29 },
2564
end: { line: 1, column: 30 }
2565
}
2566
},
2567
range: [20, 30],
2568
loc: {
2569
start: { line: 1, column: 20 },
2570
end: { line: 1, column: 30 }
2571
}
2572
},
2573
range: [20, 31],
2574
loc: {
2575
start: { line: 1, column: 20 },
2576
end: { line: 1, column: 31 }
2577
}
2578
}],
2579
range: [18, 32],
2580
loc: {
2581
start: { line: 1, column: 18 },
2582
end: { line: 1, column: 32 }
2583
}
2584
},
2585
rest: null,
2586
generator: false,
2587
expression: false,
2588
range: [18, 32],
2589
loc: {
2590
start: { line: 1, column: 18 },
2591
end: { line: 1, column: 32 }
2592
}
2593
},
2594
kind: 'set',
2595
method: false,
2596
shorthand: false,
2597
computed: false,
2598
range: [6, 32],
2599
loc: {
2600
start: { line: 1, column: 6 },
2601
end: { line: 1, column: 32 }
2602
}
2603
}],
2604
range: [4, 34],
2605
loc: {
2606
start: { line: 1, column: 4 },
2607
end: { line: 1, column: 34 }
2608
}
2609
},
2610
range: [0, 34],
2611
loc: {
2612
start: { line: 1, column: 0 },
2613
end: { line: 1, column: 34 }
2614
}
2615
},
2616
range: [0, 34],
2617
loc: {
2618
start: { line: 1, column: 0 },
2619
end: { line: 1, column: 34 }
2620
}
2621
},
2622
2623
'x = { set false(w) { m_false = w } }': {
2624
type: 'ExpressionStatement',
2625
expression: {
2626
type: 'AssignmentExpression',
2627
operator: '=',
2628
left: {
2629
type: 'Identifier',
2630
name: 'x',
2631
range: [0, 1],
2632
loc: {
2633
start: { line: 1, column: 0 },
2634
end: { line: 1, column: 1 }
2635
}
2636
},
2637
right: {
2638
type: 'ObjectExpression',
2639
properties: [{
2640
type: 'Property',
2641
key: {
2642
type: 'Identifier',
2643
name: 'false',
2644
range: [10, 15],
2645
loc: {
2646
start: { line: 1, column: 10 },
2647
end: { line: 1, column: 15 }
2648
}
2649
},
2650
value: {
2651
type: 'FunctionExpression',
2652
id: null,
2653
params: [{
2654
type: 'Identifier',
2655
name: 'w',
2656
range: [16, 17],
2657
loc: {
2658
start: { line: 1, column: 16 },
2659
end: { line: 1, column: 17 }
2660
}
2661
}],
2662
defaults: [],
2663
body: {
2664
type: 'BlockStatement',
2665
body: [{
2666
type: 'ExpressionStatement',
2667
expression: {
2668
type: 'AssignmentExpression',
2669
operator: '=',
2670
left: {
2671
type: 'Identifier',
2672
name: 'm_false',
2673
range: [21, 28],
2674
loc: {
2675
start: { line: 1, column: 21 },
2676
end: { line: 1, column: 28 }
2677
}
2678
},
2679
right: {
2680
type: 'Identifier',
2681
name: 'w',
2682
range: [31, 32],
2683
loc: {
2684
start: { line: 1, column: 31 },
2685
end: { line: 1, column: 32 }
2686
}
2687
},
2688
range: [21, 32],
2689
loc: {
2690
start: { line: 1, column: 21 },
2691
end: { line: 1, column: 32 }
2692
}
2693
},
2694
range: [21, 33],
2695
loc: {
2696
start: { line: 1, column: 21 },
2697
end: { line: 1, column: 33 }
2698
}
2699
}],
2700
range: [19, 34],
2701
loc: {
2702
start: { line: 1, column: 19 },
2703
end: { line: 1, column: 34 }
2704
}
2705
},
2706
rest: null,
2707
generator: false,
2708
expression: false,
2709
range: [19, 34],
2710
loc: {
2711
start: { line: 1, column: 19 },
2712
end: { line: 1, column: 34 }
2713
}
2714
},
2715
kind: 'set',
2716
method: false,
2717
shorthand: false,
2718
computed: false,
2719
range: [6, 34],
2720
loc: {
2721
start: { line: 1, column: 6 },
2722
end: { line: 1, column: 34 }
2723
}
2724
}],
2725
range: [4, 36],
2726
loc: {
2727
start: { line: 1, column: 4 },
2728
end: { line: 1, column: 36 }
2729
}
2730
},
2731
range: [0, 36],
2732
loc: {
2733
start: { line: 1, column: 0 },
2734
end: { line: 1, column: 36 }
2735
}
2736
},
2737
range: [0, 36],
2738
loc: {
2739
start: { line: 1, column: 0 },
2740
end: { line: 1, column: 36 }
2741
}
2742
},
2743
2744
'x = { set null(w) { m_null = w } }': {
2745
type: 'ExpressionStatement',
2746
expression: {
2747
type: 'AssignmentExpression',
2748
operator: '=',
2749
left: {
2750
type: 'Identifier',
2751
name: 'x',
2752
range: [0, 1],
2753
loc: {
2754
start: { line: 1, column: 0 },
2755
end: { line: 1, column: 1 }
2756
}
2757
},
2758
right: {
2759
type: 'ObjectExpression',
2760
properties: [{
2761
type: 'Property',
2762
key: {
2763
type: 'Identifier',
2764
name: 'null',
2765
range: [10, 14],
2766
loc: {
2767
start: { line: 1, column: 10 },
2768
end: { line: 1, column: 14 }
2769
}
2770
},
2771
value: {
2772
type: 'FunctionExpression',
2773
id: null,
2774
params: [{
2775
type: 'Identifier',
2776
name: 'w',
2777
range: [15, 16],
2778
loc: {
2779
start: { line: 1, column: 15 },
2780
end: { line: 1, column: 16 }
2781
}
2782
}],
2783
defaults: [],
2784
body: {
2785
type: 'BlockStatement',
2786
body: [{
2787
type: 'ExpressionStatement',
2788
expression: {
2789
type: 'AssignmentExpression',
2790
operator: '=',
2791
left: {
2792
type: 'Identifier',
2793
name: 'm_null',
2794
range: [20, 26],
2795
loc: {
2796
start: { line: 1, column: 20 },
2797
end: { line: 1, column: 26 }
2798
}
2799
},
2800
right: {
2801
type: 'Identifier',
2802
name: 'w',
2803
range: [29, 30],
2804
loc: {
2805
start: { line: 1, column: 29 },
2806
end: { line: 1, column: 30 }
2807
}
2808
},
2809
range: [20, 30],
2810
loc: {
2811
start: { line: 1, column: 20 },
2812
end: { line: 1, column: 30 }
2813
}
2814
},
2815
range: [20, 31],
2816
loc: {
2817
start: { line: 1, column: 20 },
2818
end: { line: 1, column: 31 }
2819
}
2820
}],
2821
range: [18, 32],
2822
loc: {
2823
start: { line: 1, column: 18 },
2824
end: { line: 1, column: 32 }
2825
}
2826
},
2827
rest: null,
2828
generator: false,
2829
expression: false,
2830
range: [18, 32],
2831
loc: {
2832
start: { line: 1, column: 18 },
2833
end: { line: 1, column: 32 }
2834
}
2835
},
2836
kind: 'set',
2837
method: false,
2838
shorthand: false,
2839
computed: false,
2840
range: [6, 32],
2841
loc: {
2842
start: { line: 1, column: 6 },
2843
end: { line: 1, column: 32 }
2844
}
2845
}],
2846
range: [4, 34],
2847
loc: {
2848
start: { line: 1, column: 4 },
2849
end: { line: 1, column: 34 }
2850
}
2851
},
2852
range: [0, 34],
2853
loc: {
2854
start: { line: 1, column: 0 },
2855
end: { line: 1, column: 34 }
2856
}
2857
},
2858
range: [0, 34],
2859
loc: {
2860
start: { line: 1, column: 0 },
2861
end: { line: 1, column: 34 }
2862
}
2863
},
2864
2865
'x = { set "null"(w) { m_null = w } }': {
2866
type: 'ExpressionStatement',
2867
expression: {
2868
type: 'AssignmentExpression',
2869
operator: '=',
2870
left: {
2871
type: 'Identifier',
2872
name: 'x',
2873
range: [0, 1],
2874
loc: {
2875
start: { line: 1, column: 0 },
2876
end: { line: 1, column: 1 }
2877
}
2878
},
2879
right: {
2880
type: 'ObjectExpression',
2881
properties: [{
2882
type: 'Property',
2883
key: {
2884
type: 'Literal',
2885
value: 'null',
2886
raw: '"null"',
2887
range: [10, 16],
2888
loc: {
2889
start: { line: 1, column: 10 },
2890
end: { line: 1, column: 16 }
2891
}
2892
},
2893
value: {
2894
type: 'FunctionExpression',
2895
id: null,
2896
params: [{
2897
type: 'Identifier',
2898
name: 'w',
2899
range: [17, 18],
2900
loc: {
2901
start: { line: 1, column: 17 },
2902
end: { line: 1, column: 18 }
2903
}
2904
}],
2905
defaults: [],
2906
body: {
2907
type: 'BlockStatement',
2908
body: [{
2909
type: 'ExpressionStatement',
2910
expression: {
2911
type: 'AssignmentExpression',
2912
operator: '=',
2913
left: {
2914
type: 'Identifier',
2915
name: 'm_null',
2916
range: [22, 28],
2917
loc: {
2918
start: { line: 1, column: 22 },
2919
end: { line: 1, column: 28 }
2920
}
2921
},
2922
right: {
2923
type: 'Identifier',
2924
name: 'w',
2925
range: [31, 32],
2926
loc: {
2927
start: { line: 1, column: 31 },
2928
end: { line: 1, column: 32 }
2929
}
2930
},
2931
range: [22, 32],
2932
loc: {
2933
start: { line: 1, column: 22 },
2934
end: { line: 1, column: 32 }
2935
}
2936
},
2937
range: [22, 33],
2938
loc: {
2939
start: { line: 1, column: 22 },
2940
end: { line: 1, column: 33 }
2941
}
2942
}],
2943
range: [20, 34],
2944
loc: {
2945
start: { line: 1, column: 20 },
2946
end: { line: 1, column: 34 }
2947
}
2948
},
2949
rest: null,
2950
generator: false,
2951
expression: false,
2952
range: [20, 34],
2953
loc: {
2954
start: { line: 1, column: 20 },
2955
end: { line: 1, column: 34 }
2956
}
2957
},
2958
kind: 'set',
2959
method: false,
2960
shorthand: false,
2961
computed: false,
2962
range: [6, 34],
2963
loc: {
2964
start: { line: 1, column: 6 },
2965
end: { line: 1, column: 34 }
2966
}
2967
}],
2968
range: [4, 36],
2969
loc: {
2970
start: { line: 1, column: 4 },
2971
end: { line: 1, column: 36 }
2972
}
2973
},
2974
range: [0, 36],
2975
loc: {
2976
start: { line: 1, column: 0 },
2977
end: { line: 1, column: 36 }
2978
}
2979
},
2980
range: [0, 36],
2981
loc: {
2982
start: { line: 1, column: 0 },
2983
end: { line: 1, column: 36 }
2984
}
2985
},
2986
2987
'x = { set 10(w) { m_null = w } }': {
2988
type: 'ExpressionStatement',
2989
expression: {
2990
type: 'AssignmentExpression',
2991
operator: '=',
2992
left: {
2993
type: 'Identifier',
2994
name: 'x',
2995
range: [0, 1],
2996
loc: {
2997
start: { line: 1, column: 0 },
2998
end: { line: 1, column: 1 }
2999
}
3000
},
3001
right: {
3002
type: 'ObjectExpression',
3003
properties: [{
3004
type: 'Property',
3005
key: {
3006
type: 'Literal',
3007
value: 10,
3008
raw: '10',
3009
range: [10, 12],
3010
loc: {
3011
start: { line: 1, column: 10 },
3012
end: { line: 1, column: 12 }
3013
}
3014
},
3015
value: {
3016
type: 'FunctionExpression',
3017
id: null,
3018
params: [{
3019
type: 'Identifier',
3020
name: 'w',
3021
range: [13, 14],
3022
loc: {
3023
start: { line: 1, column: 13 },
3024
end: { line: 1, column: 14 }
3025
}
3026
}],
3027
defaults: [],
3028
body: {
3029
type: 'BlockStatement',
3030
body: [{
3031
type: 'ExpressionStatement',
3032
expression: {
3033
type: 'AssignmentExpression',
3034
operator: '=',
3035
left: {
3036
type: 'Identifier',
3037
name: 'm_null',
3038
range: [18, 24],
3039
loc: {
3040
start: { line: 1, column: 18 },
3041
end: { line: 1, column: 24 }
3042
}
3043
},
3044
right: {
3045
type: 'Identifier',
3046
name: 'w',
3047
range: [27, 28],
3048
loc: {
3049
start: { line: 1, column: 27 },
3050
end: { line: 1, column: 28 }
3051
}
3052
},
3053
range: [18, 28],
3054
loc: {
3055
start: { line: 1, column: 18 },
3056
end: { line: 1, column: 28 }
3057
}
3058
},
3059
range: [18, 29],
3060
loc: {
3061
start: { line: 1, column: 18 },
3062
end: { line: 1, column: 29 }
3063
}
3064
}],
3065
range: [16, 30],
3066
loc: {
3067
start: { line: 1, column: 16 },
3068
end: { line: 1, column: 30 }
3069
}
3070
},
3071
rest: null,
3072
generator: false,
3073
expression: false,
3074
range: [16, 30],
3075
loc: {
3076
start: { line: 1, column: 16 },
3077
end: { line: 1, column: 30 }
3078
}
3079
},
3080
kind: 'set',
3081
method: false,
3082
shorthand: false,
3083
computed: false,
3084
range: [6, 30],
3085
loc: {
3086
start: { line: 1, column: 6 },
3087
end: { line: 1, column: 30 }
3088
}
3089
}],
3090
range: [4, 32],
3091
loc: {
3092
start: { line: 1, column: 4 },
3093
end: { line: 1, column: 32 }
3094
}
3095
},
3096
range: [0, 32],
3097
loc: {
3098
start: { line: 1, column: 0 },
3099
end: { line: 1, column: 32 }
3100
}
3101
},
3102
range: [0, 32],
3103
loc: {
3104
start: { line: 1, column: 0 },
3105
end: { line: 1, column: 32 }
3106
}
3107
},
3108
3109
'x = { get: 42 }': {
3110
type: 'ExpressionStatement',
3111
expression: {
3112
type: 'AssignmentExpression',
3113
operator: '=',
3114
left: {
3115
type: 'Identifier',
3116
name: 'x',
3117
range: [0, 1],
3118
loc: {
3119
start: { line: 1, column: 0 },
3120
end: { line: 1, column: 1 }
3121
}
3122
},
3123
right: {
3124
type: 'ObjectExpression',
3125
properties: [{
3126
type: 'Property',
3127
key: {
3128
type: 'Identifier',
3129
name: 'get',
3130
range: [6, 9],
3131
loc: {
3132
start: { line: 1, column: 6 },
3133
end: { line: 1, column: 9 }
3134
}
3135
},
3136
value: {
3137
type: 'Literal',
3138
value: 42,
3139
raw: '42',
3140
range: [11, 13],
3141
loc: {
3142
start: { line: 1, column: 11 },
3143
end: { line: 1, column: 13 }
3144
}
3145
},
3146
kind: 'init',
3147
method: false,
3148
shorthand: false,
3149
computed: false,
3150
range: [6, 13],
3151
loc: {
3152
start: { line: 1, column: 6 },
3153
end: { line: 1, column: 13 }
3154
}
3155
}],
3156
range: [4, 15],
3157
loc: {
3158
start: { line: 1, column: 4 },
3159
end: { line: 1, column: 15 }
3160
}
3161
},
3162
range: [0, 15],
3163
loc: {
3164
start: { line: 1, column: 0 },
3165
end: { line: 1, column: 15 }
3166
}
3167
},
3168
range: [0, 15],
3169
loc: {
3170
start: { line: 1, column: 0 },
3171
end: { line: 1, column: 15 }
3172
}
3173
},
3174
3175
'x = { set: 43 }': {
3176
type: 'ExpressionStatement',
3177
expression: {
3178
type: 'AssignmentExpression',
3179
operator: '=',
3180
left: {
3181
type: 'Identifier',
3182
name: 'x',
3183
range: [0, 1],
3184
loc: {
3185
start: { line: 1, column: 0 },
3186
end: { line: 1, column: 1 }
3187
}
3188
},
3189
right: {
3190
type: 'ObjectExpression',
3191
properties: [{
3192
type: 'Property',
3193
key: {
3194
type: 'Identifier',
3195
name: 'set',
3196
range: [6, 9],
3197
loc: {
3198
start: { line: 1, column: 6 },
3199
end: { line: 1, column: 9 }
3200
}
3201
},
3202
value: {
3203
type: 'Literal',
3204
value: 43,
3205
raw: '43',
3206
range: [11, 13],
3207
loc: {
3208
start: { line: 1, column: 11 },
3209
end: { line: 1, column: 13 }
3210
}
3211
},
3212
kind: 'init',
3213
method: false,
3214
shorthand: false,
3215
computed: false,
3216
range: [6, 13],
3217
loc: {
3218
start: { line: 1, column: 6 },
3219
end: { line: 1, column: 13 }
3220
}
3221
}],
3222
range: [4, 15],
3223
loc: {
3224
start: { line: 1, column: 4 },
3225
end: { line: 1, column: 15 }
3226
}
3227
},
3228
range: [0, 15],
3229
loc: {
3230
start: { line: 1, column: 0 },
3231
end: { line: 1, column: 15 }
3232
}
3233
},
3234
range: [0, 15],
3235
loc: {
3236
start: { line: 1, column: 0 },
3237
end: { line: 1, column: 15 }
3238
}
3239
},
3240
3241
'x = { __proto__: 2 }': {
3242
type: 'ExpressionStatement',
3243
expression: {
3244
type: 'AssignmentExpression',
3245
operator: '=',
3246
left: {
3247
type: 'Identifier',
3248
name: 'x',
3249
range: [0, 1],
3250
loc: {
3251
start: { line: 1, column: 0 },
3252
end: { line: 1, column: 1 }
3253
}
3254
},
3255
right: {
3256
type: 'ObjectExpression',
3257
properties: [{
3258
type: 'Property',
3259
key: {
3260
type: 'Identifier',
3261
name: '__proto__',
3262
range: [6, 15],
3263
loc: {
3264
start: { line: 1, column: 6 },
3265
end: { line: 1, column: 15 }
3266
}
3267
},
3268
value: {
3269
type: 'Literal',
3270
value: 2,
3271
raw: '2',
3272
range: [17, 18],
3273
loc: {
3274
start: { line: 1, column: 17 },
3275
end: { line: 1, column: 18 }
3276
}
3277
},
3278
kind: 'init',
3279
method: false,
3280
shorthand: false,
3281
computed: false,
3282
range: [6, 18],
3283
loc: {
3284
start: { line: 1, column: 6 },
3285
end: { line: 1, column: 18 }
3286
}
3287
}],
3288
range: [4, 20],
3289
loc: {
3290
start: { line: 1, column: 4 },
3291
end: { line: 1, column: 20 }
3292
}
3293
},
3294
range: [0, 20],
3295
loc: {
3296
start: { line: 1, column: 0 },
3297
end: { line: 1, column: 20 }
3298
}
3299
},
3300
range: [0, 20],
3301
loc: {
3302
start: { line: 1, column: 0 },
3303
end: { line: 1, column: 20 }
3304
}
3305
},
3306
3307
'x = {"__proto__": 2 }': {
3308
type: 'ExpressionStatement',
3309
expression: {
3310
type: 'AssignmentExpression',
3311
operator: '=',
3312
left: {
3313
type: 'Identifier',
3314
name: 'x',
3315
range: [0, 1],
3316
loc: {
3317
start: { line: 1, column: 0 },
3318
end: { line: 1, column: 1 }
3319
}
3320
},
3321
right: {
3322
type: 'ObjectExpression',
3323
properties: [{
3324
type: 'Property',
3325
key: {
3326
type: 'Literal',
3327
value: '__proto__',
3328
raw: '"__proto__"',
3329
range: [5, 16],
3330
loc: {
3331
start: { line: 1, column: 5 },
3332
end: { line: 1, column: 16 }
3333
}
3334
},
3335
value: {
3336
type: 'Literal',
3337
value: 2,
3338
raw: '2',
3339
range: [18, 19],
3340
loc: {
3341
start: { line: 1, column: 18 },
3342
end: { line: 1, column: 19 }
3343
}
3344
},
3345
kind: 'init',
3346
method: false,
3347
shorthand: false,
3348
computed: false,
3349
range: [5, 19],
3350
loc: {
3351
start: { line: 1, column: 5 },
3352
end: { line: 1, column: 19 }
3353
}
3354
}],
3355
range: [4, 21],
3356
loc: {
3357
start: { line: 1, column: 4 },
3358
end: { line: 1, column: 21 }
3359
}
3360
},
3361
range: [0, 21],
3362
loc: {
3363
start: { line: 1, column: 0 },
3364
end: { line: 1, column: 21 }
3365
}
3366
},
3367
range: [0, 21],
3368
loc: {
3369
start: { line: 1, column: 0 },
3370
end: { line: 1, column: 21 }
3371
}
3372
},
3373
3374
'x = { get width() { return m_width }, set width(width) { m_width = width; } }': {
3375
type: 'ExpressionStatement',
3376
expression: {
3377
type: 'AssignmentExpression',
3378
operator: '=',
3379
left: {
3380
type: 'Identifier',
3381
name: 'x',
3382
range: [0, 1],
3383
loc: {
3384
start: { line: 1, column: 0 },
3385
end: { line: 1, column: 1 }
3386
}
3387
},
3388
right: {
3389
type: 'ObjectExpression',
3390
properties: [{
3391
type: 'Property',
3392
key: {
3393
type: 'Identifier',
3394
name: 'width',
3395
range: [10, 15],
3396
loc: {
3397
start: { line: 1, column: 10 },
3398
end: { line: 1, column: 15 }
3399
}
3400
},
3401
value: {
3402
type: 'FunctionExpression',
3403
id: null,
3404
params: [],
3405
defaults: [],
3406
body: {
3407
type: 'BlockStatement',
3408
body: [{
3409
type: 'ReturnStatement',
3410
argument: {
3411
type: 'Identifier',
3412
name: 'm_width',
3413
range: [27, 34],
3414
loc: {
3415
start: { line: 1, column: 27 },
3416
end: { line: 1, column: 34 }
3417
}
3418
},
3419
range: [20, 35],
3420
loc: {
3421
start: { line: 1, column: 20 },
3422
end: { line: 1, column: 35 }
3423
}
3424
}],
3425
range: [18, 36],
3426
loc: {
3427
start: { line: 1, column: 18 },
3428
end: { line: 1, column: 36 }
3429
}
3430
},
3431
rest: null,
3432
generator: false,
3433
expression: false,
3434
range: [18, 36],
3435
loc: {
3436
start: { line: 1, column: 18 },
3437
end: { line: 1, column: 36 }
3438
}
3439
},
3440
kind: 'get',
3441
method: false,
3442
shorthand: false,
3443
computed: false,
3444
range: [6, 36],
3445
loc: {
3446
start: { line: 1, column: 6 },
3447
end: { line: 1, column: 36 }
3448
}
3449
}, {
3450
type: 'Property',
3451
key: {
3452
type: 'Identifier',
3453
name: 'width',
3454
range: [42, 47],
3455
loc: {
3456
start: { line: 1, column: 42 },
3457
end: { line: 1, column: 47 }
3458
}
3459
},
3460
value: {
3461
type: 'FunctionExpression',
3462
id: null,
3463
params: [{
3464
type: 'Identifier',
3465
name: 'width',
3466
range: [48, 53],
3467
loc: {
3468
start: { line: 1, column: 48 },
3469
end: { line: 1, column: 53 }
3470
}
3471
}],
3472
defaults: [],
3473
body: {
3474
type: 'BlockStatement',
3475
body: [{
3476
type: 'ExpressionStatement',
3477
expression: {
3478
type: 'AssignmentExpression',
3479
operator: '=',
3480
left: {
3481
type: 'Identifier',
3482
name: 'm_width',
3483
range: [57, 64],
3484
loc: {
3485
start: { line: 1, column: 57 },
3486
end: { line: 1, column: 64 }
3487
}
3488
},
3489
right: {
3490
type: 'Identifier',
3491
name: 'width',
3492
range: [67, 72],
3493
loc: {
3494
start: { line: 1, column: 67 },
3495
end: { line: 1, column: 72 }
3496
}
3497
},
3498
range: [57, 72],
3499
loc: {
3500
start: { line: 1, column: 57 },
3501
end: { line: 1, column: 72 }
3502
}
3503
},
3504
range: [57, 73],
3505
loc: {
3506
start: { line: 1, column: 57 },
3507
end: { line: 1, column: 73 }
3508
}
3509
}],
3510
range: [55, 75],
3511
loc: {
3512
start: { line: 1, column: 55 },
3513
end: { line: 1, column: 75 }
3514
}
3515
},
3516
rest: null,
3517
generator: false,
3518
expression: false,
3519
range: [55, 75],
3520
loc: {
3521
start: { line: 1, column: 55 },
3522
end: { line: 1, column: 75 }
3523
}
3524
},
3525
kind: 'set',
3526
method: false,
3527
shorthand: false,
3528
computed: false,
3529
range: [38, 75],
3530
loc: {
3531
start: { line: 1, column: 38 },
3532
end: { line: 1, column: 75 }
3533
}
3534
}],
3535
range: [4, 77],
3536
loc: {
3537
start: { line: 1, column: 4 },
3538
end: { line: 1, column: 77 }
3539
}
3540
},
3541
range: [0, 77],
3542
loc: {
3543
start: { line: 1, column: 0 },
3544
end: { line: 1, column: 77 }
3545
}
3546
},
3547
range: [0, 77],
3548
loc: {
3549
start: { line: 1, column: 0 },
3550
end: { line: 1, column: 77 }
3551
}
3552
}
3553
3554
3555
},
3556
3557
'Comments': {
3558
3559
'/* block comment */ 42': {
3560
type: 'ExpressionStatement',
3561
expression: {
3562
type: 'Literal',
3563
value: 42,
3564
raw: '42',
3565
range: [20, 22],
3566
loc: {
3567
start: { line: 1, column: 20 },
3568
end: { line: 1, column: 22 }
3569
}
3570
},
3571
range: [20, 22],
3572
loc: {
3573
start: { line: 1, column: 20 },
3574
end: { line: 1, column: 22 }
3575
}
3576
},
3577
3578
'42 /*The*/ /*Answer*/': {
3579
type: 'Program',
3580
body: [{
3581
type: 'ExpressionStatement',
3582
expression: {
3583
type: 'Literal',
3584
value: 42,
3585
raw: '42',
3586
range: [0, 2],
3587
loc: {
3588
start: { line: 1, column: 0 },
3589
end: { line: 1, column: 2 }
3590
}
3591
},
3592
range: [0, 21],
3593
loc: {
3594
start: { line: 1, column: 0 },
3595
end: { line: 1, column: 21 }
3596
}
3597
}],
3598
range: [0, 21],
3599
loc: {
3600
start: { line: 1, column: 0 },
3601
end: { line: 1, column: 21 }
3602
},
3603
comments: [{
3604
type: 'Block',
3605
value: 'The',
3606
range: [3, 10],
3607
loc: {
3608
start: { line: 1, column: 3 },
3609
end: { line: 1, column: 10 }
3610
}
3611
}, {
3612
type: 'Block',
3613
value: 'Answer',
3614
range: [11, 21],
3615
loc: {
3616
start: { line: 1, column: 11 },
3617
end: { line: 1, column: 21 }
3618
}
3619
}]
3620
},
3621
3622
'42 /*the*/ /*answer*/': {
3623
type: 'Program',
3624
body: [{
3625
type: 'ExpressionStatement',
3626
expression: {
3627
type: 'Literal',
3628
value: 42,
3629
raw: '42',
3630
range: [0, 2]
3631
},
3632
range: [0, 21]
3633
}],
3634
range: [0, 21],
3635
comments: [{
3636
type: 'Block',
3637
value: 'the',
3638
range: [3, 10]
3639
}, {
3640
type: 'Block',
3641
value: 'answer',
3642
range: [11, 21]
3643
}]
3644
},
3645
3646
'42 /* the * answer */': {
3647
type: 'ExpressionStatement',
3648
expression: {
3649
type: 'Literal',
3650
value: 42,
3651
raw: '42',
3652
range: [0, 2],
3653
loc: {
3654
start: { line: 1, column: 0 },
3655
end: { line: 1, column: 2 }
3656
}
3657
},
3658
range: [0, 21],
3659
loc: {
3660
start: { line: 1, column: 0 },
3661
end: { line: 1, column: 21 }
3662
}
3663
},
3664
3665
'42 /* The * answer */': {
3666
type: 'Program',
3667
body: [{
3668
type: 'ExpressionStatement',
3669
expression: {
3670
type: 'Literal',
3671
value: 42,
3672
raw: '42',
3673
range: [0, 2],
3674
loc: {
3675
start: { line: 1, column: 0 },
3676
end: { line: 1, column: 2 }
3677
}
3678
},
3679
range: [0, 21],
3680
loc: {
3681
start: { line: 1, column: 0 },
3682
end: { line: 1, column: 21 }
3683
}
3684
}],
3685
range: [0, 21],
3686
loc: {
3687
start: { line: 1, column: 0 },
3688
end: { line: 1, column: 21 }
3689
},
3690
comments: [{
3691
type: 'Block',
3692
value: ' The * answer ',
3693
range: [3, 21],
3694
loc: {
3695
start: { line: 1, column: 3 },
3696
end: { line: 1, column: 21 }
3697
}
3698
}]
3699
},
3700
3701
'/* multiline\ncomment\nshould\nbe\nignored */ 42': {
3702
type: 'ExpressionStatement',
3703
expression: {
3704
type: 'Literal',
3705
value: 42,
3706
raw: '42',
3707
range: [42, 44],
3708
loc: {
3709
start: { line: 5, column: 11 },
3710
end: { line: 5, column: 13 }
3711
}
3712
},
3713
range: [42, 44],
3714
loc: {
3715
start: { line: 5, column: 11 },
3716
end: { line: 5, column: 13 }
3717
}
3718
},
3719
3720
'/*a\r\nb*/ 42': {
3721
type: 'Program',
3722
body: [{
3723
type: 'ExpressionStatement',
3724
expression: {
3725
type: 'Literal',
3726
value: 42,
3727
raw: '42',
3728
range: [9, 11],
3729
loc: {
3730
start: { line: 2, column: 4 },
3731
end: { line: 2, column: 6 }
3732
}
3733
},
3734
range: [9, 11],
3735
loc: {
3736
start: { line: 2, column: 4 },
3737
end: { line: 2, column: 6 }
3738
}
3739
}],
3740
range: [9, 11],
3741
loc: {
3742
start: { line: 2, column: 4 },
3743
end: { line: 2, column: 6 }
3744
},
3745
comments: [{
3746
type: 'Block',
3747
value: 'a\r\nb',
3748
range: [0, 8],
3749
loc: {
3750
start: { line: 1, column: 0 },
3751
end: { line: 2, column: 3 }
3752
}
3753
}]
3754
},
3755
3756
'/*a\rb*/ 42': {
3757
type: 'Program',
3758
body: [{
3759
type: 'ExpressionStatement',
3760
expression: {
3761
type: 'Literal',
3762
value: 42,
3763
raw: '42',
3764
range: [8, 10],
3765
loc: {
3766
start: { line: 2, column: 4 },
3767
end: { line: 2, column: 6 }
3768
}
3769
},
3770
range: [8, 10],
3771
loc: {
3772
start: { line: 2, column: 4 },
3773
end: { line: 2, column: 6 }
3774
}
3775
}],
3776
range: [8, 10],
3777
loc: {
3778
start: { line: 2, column: 4 },
3779
end: { line: 2, column: 6 }
3780
},
3781
comments: [{
3782
type: 'Block',
3783
value: 'a\rb',
3784
range: [0, 7],
3785
loc: {
3786
start: { line: 1, column: 0 },
3787
end: { line: 2, column: 3 }
3788
}
3789
}]
3790
},
3791
3792
'/*a\nb*/ 42': {
3793
type: 'Program',
3794
body: [{
3795
type: 'ExpressionStatement',
3796
expression: {
3797
type: 'Literal',
3798
value: 42,
3799
raw: '42',
3800
range: [8, 10],
3801
loc: {
3802
start: { line: 2, column: 4 },
3803
end: { line: 2, column: 6 }
3804
}
3805
},
3806
range: [8, 10],
3807
loc: {
3808
start: { line: 2, column: 4 },
3809
end: { line: 2, column: 6 }
3810
}
3811
}],
3812
range: [8, 10],
3813
loc: {
3814
start: { line: 2, column: 4 },
3815
end: { line: 2, column: 6 }
3816
},
3817
comments: [{
3818
type: 'Block',
3819
value: 'a\nb',
3820
range: [0, 7],
3821
loc: {
3822
start: { line: 1, column: 0 },
3823
end: { line: 2, column: 3 }
3824
}
3825
}]
3826
},
3827
3828
'/*a\nc*/ 42': {
3829
type: 'Program',
3830
body: [{
3831
type: 'ExpressionStatement',
3832
expression: {
3833
type: 'Literal',
3834
value: 42,
3835
raw: '42',
3836
loc: {
3837
start: { line: 2, column: 4 },
3838
end: { line: 2, column: 6 }
3839
}
3840
},
3841
loc: {
3842
start: { line: 2, column: 4 },
3843
end: { line: 2, column: 6 }
3844
}
3845
}],
3846
loc: {
3847
start: { line: 2, column: 4 },
3848
end: { line: 2, column: 6 }
3849
},
3850
comments: [{
3851
type: 'Block',
3852
value: 'a\nc',
3853
loc: {
3854
start: { line: 1, column: 0 },
3855
end: { line: 2, column: 3 }
3856
}
3857
}]
3858
},
3859
3860
'// line comment\n42': {
3861
type: 'ExpressionStatement',
3862
expression: {
3863
type: 'Literal',
3864
value: 42,
3865
raw: '42',
3866
range: [16, 18],
3867
loc: {
3868
start: { line: 2, column: 0 },
3869
end: { line: 2, column: 2 }
3870
}
3871
},
3872
range: [16, 18],
3873
loc: {
3874
start: { line: 2, column: 0 },
3875
end: { line: 2, column: 2 }
3876
}
3877
},
3878
3879
'42 // line comment': {
3880
type: 'Program',
3881
body: [{
3882
type: 'ExpressionStatement',
3883
expression: {
3884
type: 'Literal',
3885
value: 42,
3886
raw: '42',
3887
range: [0, 2],
3888
loc: {
3889
start: { line: 1, column: 0 },
3890
end: { line: 1, column: 2 }
3891
}
3892
},
3893
range: [0, 18],
3894
loc: {
3895
start: { line: 1, column: 0 },
3896
end: { line: 1, column: 18 }
3897
}
3898
}],
3899
range: [0, 18],
3900
loc: {
3901
start: { line: 1, column: 0 },
3902
end: { line: 1, column: 18 }
3903
},
3904
comments: [{
3905
type: 'Line',
3906
value: ' line comment',
3907
range: [3, 18],
3908
loc: {
3909
start: { line: 1, column: 3 },
3910
end: { line: 1, column: 18 }
3911
}
3912
}]
3913
},
3914
3915
'// Hello, world!\n42': {
3916
type: 'Program',
3917
body: [{
3918
type: 'ExpressionStatement',
3919
expression: {
3920
type: 'Literal',
3921
value: 42,
3922
raw: '42',
3923
range: [17, 19],
3924
loc: {
3925
start: { line: 2, column: 0 },
3926
end: { line: 2, column: 2 }
3927
}
3928
},
3929
range: [17, 19],
3930
loc: {
3931
start: { line: 2, column: 0 },
3932
end: { line: 2, column: 2 }
3933
}
3934
}],
3935
range: [17, 19],
3936
loc: {
3937
start: { line: 2, column: 0 },
3938
end: { line: 2, column: 2 }
3939
},
3940
comments: [{
3941
type: 'Line',
3942
value: ' Hello, world!',
3943
range: [0, 16],
3944
loc: {
3945
start: { line: 1, column: 0 },
3946
end: { line: 1, column: 16 }
3947
}
3948
}]
3949
},
3950
3951
'// Hello, world!\n': {
3952
type: 'Program',
3953
body: [],
3954
range: [17, 17],
3955
loc: {
3956
start: { line: 2, column: 0 },
3957
end: { line: 2, column: 0 }
3958
},
3959
comments: [{
3960
type: 'Line',
3961
value: ' Hello, world!',
3962
range: [0, 16],
3963
loc: {
3964
start: { line: 1, column: 0 },
3965
end: { line: 1, column: 16 }
3966
}
3967
}]
3968
},
3969
3970
'// Hallo, world!\n': {
3971
type: 'Program',
3972
body: [],
3973
loc: {
3974
start: { line: 2, column: 0 },
3975
end: { line: 2, column: 0 }
3976
},
3977
comments: [{
3978
type: 'Line',
3979
value: ' Hallo, world!',
3980
loc: {
3981
start: { line: 1, column: 0 },
3982
end: { line: 1, column: 16 }
3983
}
3984
}]
3985
},
3986
3987
'//\n42': {
3988
type: 'Program',
3989
body: [{
3990
type: 'ExpressionStatement',
3991
expression: {
3992
type: 'Literal',
3993
value: 42,
3994
raw: '42',
3995
range: [3, 5],
3996
loc: {
3997
start: { line: 2, column: 0 },
3998
end: { line: 2, column: 2 }
3999
}
4000
},
4001
range: [3, 5],
4002
loc: {
4003
start: { line: 2, column: 0 },
4004
end: { line: 2, column: 2 }
4005
}
4006
}],
4007
range: [3, 5],
4008
loc: {
4009
start: { line: 2, column: 0 },
4010
end: { line: 2, column: 2 }
4011
},
4012
comments: [{
4013
type: 'Line',
4014
value: '',
4015
range: [0, 2],
4016
loc: {
4017
start: { line: 1, column: 0 },
4018
end: { line: 1, column: 2 }
4019
}
4020
}]
4021
},
4022
4023
'//': {
4024
type: 'Program',
4025
body: [],
4026
range: [2, 2],
4027
loc: {
4028
start: { line: 1, column: 2 },
4029
end: { line: 1, column: 2 }
4030
},
4031
comments: [{
4032
type: 'Line',
4033
value: '',
4034
range: [0, 2],
4035
loc: {
4036
start: { line: 1, column: 0 },
4037
end: { line: 1, column: 2 }
4038
}
4039
}]
4040
},
4041
4042
'// ': {
4043
type: 'Program',
4044
body: [],
4045
range: [3, 3],
4046
comments: [{
4047
type: 'Line',
4048
value: ' ',
4049
range: [0, 3]
4050
}]
4051
},
4052
4053
'/**/42': {
4054
type: 'Program',
4055
body: [{
4056
type: 'ExpressionStatement',
4057
expression: {
4058
type: 'Literal',
4059
value: 42,
4060
raw: '42',
4061
range: [4, 6],
4062
loc: {
4063
start: { line: 1, column: 4 },
4064
end: { line: 1, column: 6 }
4065
}
4066
},
4067
range: [4, 6],
4068
loc: {
4069
start: { line: 1, column: 4 },
4070
end: { line: 1, column: 6 }
4071
}
4072
}],
4073
range: [4, 6],
4074
loc: {
4075
start: { line: 1, column: 4 },
4076
end: { line: 1, column: 6 }
4077
},
4078
comments: [{
4079
type: 'Block',
4080
value: '',
4081
range: [0, 4],
4082
loc: {
4083
start: { line: 1, column: 0 },
4084
end: { line: 1, column: 4 }
4085
}
4086
}]
4087
},
4088
4089
'// Hello, world!\n\n// Another hello\n42': {
4090
type: 'Program',
4091
body: [{
4092
type: 'ExpressionStatement',
4093
expression: {
4094
type: 'Literal',
4095
value: 42,
4096
raw: '42',
4097
range: [37, 39],
4098
loc: {
4099
start: { line: 4, column: 0 },
4100
end: { line: 4, column: 2 }
4101
}
4102
},
4103
range: [37, 39],
4104
loc: {
4105
start: { line: 4, column: 0 },
4106
end: { line: 4, column: 2 }
4107
}
4108
}],
4109
range: [37, 39],
4110
loc: {
4111
start: { line: 4, column: 0 },
4112
end: { line: 4, column: 2 }
4113
},
4114
comments: [{
4115
type: 'Line',
4116
value: ' Hello, world!',
4117
range: [0, 16],
4118
loc: {
4119
start: { line: 1, column: 0 },
4120
end: { line: 1, column: 16 }
4121
}
4122
}, {
4123
type: 'Line',
4124
value: ' Another hello',
4125
range: [18, 36],
4126
loc: {
4127
start: { line: 3, column: 0 },
4128
end: { line: 3, column: 18 }
4129
}
4130
}]
4131
},
4132
4133
'if (x) { // Some comment\ndoThat(); }': {
4134
type: 'Program',
4135
body: [{
4136
type: 'IfStatement',
4137
test: {
4138
type: 'Identifier',
4139
name: 'x',
4140
range: [4, 5],
4141
loc: {
4142
start: { line: 1, column: 4 },
4143
end: { line: 1, column: 5 }
4144
}
4145
},
4146
consequent: {
4147
type: 'BlockStatement',
4148
body: [{
4149
type: 'ExpressionStatement',
4150
expression: {
4151
type: 'CallExpression',
4152
callee: {
4153
type: 'Identifier',
4154
name: 'doThat',
4155
range: [25, 31],
4156
loc: {
4157
start: { line: 2, column: 0 },
4158
end: { line: 2, column: 6 }
4159
}
4160
},
4161
'arguments': [],
4162
range: [25, 33],
4163
loc: {
4164
start: { line: 2, column: 0 },
4165
end: { line: 2, column: 8 }
4166
}
4167
},
4168
range: [25, 34],
4169
loc: {
4170
start: { line: 2, column: 0 },
4171
end: { line: 2, column: 9 }
4172
}
4173
}],
4174
range: [7, 36],
4175
loc: {
4176
start: { line: 1, column: 7 },
4177
end: { line: 2, column: 11 }
4178
}
4179
},
4180
alternate: null,
4181
range: [0, 36],
4182
loc: {
4183
start: { line: 1, column: 0 },
4184
end: { line: 2, column: 11 }
4185
}
4186
}],
4187
range: [0, 36],
4188
loc: {
4189
start: { line: 1, column: 0 },
4190
end: { line: 2, column: 11 }
4191
},
4192
comments: [{
4193
type: 'Line',
4194
value: ' Some comment',
4195
range: [9, 24],
4196
loc: {
4197
start: { line: 1, column: 9 },
4198
end: { line: 1, column: 24 }
4199
}
4200
}]
4201
},
4202
4203
'switch (answer) { case 42: /* perfect */ bingo() }': {
4204
type: 'Program',
4205
body: [{
4206
type: 'SwitchStatement',
4207
discriminant: {
4208
type: 'Identifier',
4209
name: 'answer',
4210
range: [8, 14],
4211
loc: {
4212
start: { line: 1, column: 8 },
4213
end: { line: 1, column: 14 }
4214
}
4215
},
4216
cases: [{
4217
type: 'SwitchCase',
4218
test: {
4219
type: 'Literal',
4220
value: 42,
4221
raw: '42',
4222
range: [23, 25],
4223
loc: {
4224
start: { line: 1, column: 23 },
4225
end: { line: 1, column: 25 }
4226
}
4227
},
4228
consequent: [{
4229
type: 'ExpressionStatement',
4230
expression: {
4231
type: 'CallExpression',
4232
callee: {
4233
type: 'Identifier',
4234
name: 'bingo',
4235
range: [41, 46],
4236
loc: {
4237
start: { line: 1, column: 41 },
4238
end: { line: 1, column: 46 }
4239
}
4240
},
4241
'arguments': [],
4242
range: [41, 48],
4243
loc: {
4244
start: { line: 1, column: 41 },
4245
end: { line: 1, column: 48 }
4246
}
4247
},
4248
range: [41, 49],
4249
loc: {
4250
start: { line: 1, column: 41 },
4251
end: { line: 1, column: 49 }
4252
}
4253
}],
4254
range: [18, 49],
4255
loc: {
4256
start: { line: 1, column: 18 },
4257
end: { line: 1, column: 49 }
4258
}
4259
}],
4260
range: [0, 50],
4261
loc: {
4262
start: { line: 1, column: 0 },
4263
end: { line: 1, column: 50 }
4264
}
4265
}],
4266
range: [0, 50],
4267
loc: {
4268
start: { line: 1, column: 0 },
4269
end: { line: 1, column: 50 }
4270
},
4271
comments: [{
4272
type: 'Block',
4273
value: ' perfect ',
4274
range: [27, 40],
4275
loc: {
4276
start: { line: 1, column: 27 },
4277
end: { line: 1, column: 40 }
4278
}
4279
}]
4280
}
4281
4282
},
4283
4284
'Numeric Literals': {
4285
4286
'0': {
4287
type: 'ExpressionStatement',
4288
expression: {
4289
type: 'Literal',
4290
value: 0,
4291
raw: '0',
4292
range: [0, 1],
4293
loc: {
4294
start: { line: 1, column: 0 },
4295
end: { line: 1, column: 1 }
4296
}
4297
},
4298
range: [0, 1],
4299
loc: {
4300
start: { line: 1, column: 0 },
4301
end: { line: 1, column: 1 }
4302
}
4303
},
4304
4305
'42': {
4306
type: 'ExpressionStatement',
4307
expression: {
4308
type: 'Literal',
4309
value: 42,
4310
raw: '42',
4311
range: [0, 2],
4312
loc: {
4313
start: { line: 1, column: 0 },
4314
end: { line: 1, column: 2 }
4315
}
4316
},
4317
range: [0, 2],
4318
loc: {
4319
start: { line: 1, column: 0 },
4320
end: { line: 1, column: 2 }
4321
}
4322
},
4323
4324
'3': {
4325
type: 'Program',
4326
body: [{
4327
type: 'ExpressionStatement',
4328
expression: {
4329
type: 'Literal',
4330
value: 3,
4331
raw: '3',
4332
range: [0, 1]
4333
},
4334
range: [0, 1]
4335
}],
4336
range: [0, 1],
4337
tokens: [{
4338
type: 'Numeric',
4339
value: '3',
4340
range: [0, 1]
4341
}]
4342
},
4343
4344
'5': {
4345
type: 'Program',
4346
body: [{
4347
type: 'ExpressionStatement',
4348
expression: {
4349
type: 'Literal',
4350
value: 5,
4351
raw: '5',
4352
loc: {
4353
start: { line: 1, column: 0 },
4354
end: { line: 1, column: 1 }
4355
}
4356
},
4357
loc: {
4358
start: { line: 1, column: 0 },
4359
end: { line: 1, column: 1 }
4360
}
4361
}],
4362
loc: {
4363
start: { line: 1, column: 0 },
4364
end: { line: 1, column: 1 }
4365
},
4366
tokens: [{
4367
type: 'Numeric',
4368
value: '5',
4369
loc: {
4370
start: { line: 1, column: 0 },
4371
end: { line: 1, column: 1 }
4372
}
4373
}]
4374
},
4375
4376
'.14': {
4377
type: 'ExpressionStatement',
4378
expression: {
4379
type: 'Literal',
4380
value: 0.14,
4381
raw: '.14',
4382
range: [0, 3],
4383
loc: {
4384
start: { line: 1, column: 0 },
4385
end: { line: 1, column: 3 }
4386
}
4387
},
4388
range: [0, 3],
4389
loc: {
4390
start: { line: 1, column: 0 },
4391
end: { line: 1, column: 3 }
4392
}
4393
},
4394
4395
'3.14159': {
4396
type: 'ExpressionStatement',
4397
expression: {
4398
type: 'Literal',
4399
value: 3.14159,
4400
raw: '3.14159',
4401
range: [0, 7],
4402
loc: {
4403
start: { line: 1, column: 0 },
4404
end: { line: 1, column: 7 }
4405
}
4406
},
4407
range: [0, 7],
4408
loc: {
4409
start: { line: 1, column: 0 },
4410
end: { line: 1, column: 7 }
4411
}
4412
},
4413
4414
'6.02214179e+23': {
4415
type: 'ExpressionStatement',
4416
expression: {
4417
type: 'Literal',
4418
value: 6.02214179e+23,
4419
raw: '6.02214179e+23',
4420
range: [0, 14],
4421
loc: {
4422
start: { line: 1, column: 0 },
4423
end: { line: 1, column: 14 }
4424
}
4425
},
4426
range: [0, 14],
4427
loc: {
4428
start: { line: 1, column: 0 },
4429
end: { line: 1, column: 14 }
4430
}
4431
},
4432
4433
'1.492417830e-10': {
4434
type: 'ExpressionStatement',
4435
expression: {
4436
type: 'Literal',
4437
value: 1.49241783e-10,
4438
raw: '1.492417830e-10',
4439
range: [0, 15],
4440
loc: {
4441
start: { line: 1, column: 0 },
4442
end: { line: 1, column: 15 }
4443
}
4444
},
4445
range: [0, 15],
4446
loc: {
4447
start: { line: 1, column: 0 },
4448
end: { line: 1, column: 15 }
4449
}
4450
},
4451
4452
'0x0': {
4453
type: 'ExpressionStatement',
4454
expression: {
4455
type: 'Literal',
4456
value: 0,
4457
raw: '0x0',
4458
range: [0, 3],
4459
loc: {
4460
start: { line: 1, column: 0 },
4461
end: { line: 1, column: 3 }
4462
}
4463
},
4464
range: [0, 3],
4465
loc: {
4466
start: { line: 1, column: 0 },
4467
end: { line: 1, column: 3 }
4468
}
4469
},
4470
4471
'0x0;': {
4472
type: 'ExpressionStatement',
4473
expression: {
4474
type: 'Literal',
4475
value: 0,
4476
raw: '0x0',
4477
range: [0, 3],
4478
loc: {
4479
start: { line: 1, column: 0 },
4480
end: { line: 1, column: 3 }
4481
}
4482
},
4483
range: [0, 4],
4484
loc: {
4485
start: { line: 1, column: 0 },
4486
end: { line: 1, column: 4 }
4487
}
4488
},
4489
4490
'0e+100 ': {
4491
type: 'ExpressionStatement',
4492
expression: {
4493
type: 'Literal',
4494
value: 0,
4495
raw: '0e+100',
4496
range: [0, 6],
4497
loc: {
4498
start: { line: 1, column: 0 },
4499
end: { line: 1, column: 6 }
4500
}
4501
},
4502
range: [0, 7],
4503
loc: {
4504
start: { line: 1, column: 0 },
4505
end: { line: 1, column: 7 }
4506
}
4507
},
4508
4509
'0e+100': {
4510
type: 'ExpressionStatement',
4511
expression: {
4512
type: 'Literal',
4513
value: 0,
4514
raw: '0e+100',
4515
range: [0, 6],
4516
loc: {
4517
start: { line: 1, column: 0 },
4518
end: { line: 1, column: 6 }
4519
}
4520
},
4521
range: [0, 6],
4522
loc: {
4523
start: { line: 1, column: 0 },
4524
end: { line: 1, column: 6 }
4525
}
4526
},
4527
4528
'0xabc': {
4529
type: 'ExpressionStatement',
4530
expression: {
4531
type: 'Literal',
4532
value: 0xabc,
4533
raw: '0xabc',
4534
range: [0, 5],
4535
loc: {
4536
start: { line: 1, column: 0 },
4537
end: { line: 1, column: 5 }
4538
}
4539
},
4540
range: [0, 5],
4541
loc: {
4542
start: { line: 1, column: 0 },
4543
end: { line: 1, column: 5 }
4544
}
4545
},
4546
4547
'0xdef': {
4548
type: 'ExpressionStatement',
4549
expression: {
4550
type: 'Literal',
4551
value: 0xdef,
4552
raw: '0xdef',
4553
range: [0, 5],
4554
loc: {
4555
start: { line: 1, column: 0 },
4556
end: { line: 1, column: 5 }
4557
}
4558
},
4559
range: [0, 5],
4560
loc: {
4561
start: { line: 1, column: 0 },
4562
end: { line: 1, column: 5 }
4563
}
4564
},
4565
4566
'0X1A': {
4567
type: 'ExpressionStatement',
4568
expression: {
4569
type: 'Literal',
4570
value: 0x1A,
4571
raw: '0X1A',
4572
range: [0, 4],
4573
loc: {
4574
start: { line: 1, column: 0 },
4575
end: { line: 1, column: 4 }
4576
}
4577
},
4578
range: [0, 4],
4579
loc: {
4580
start: { line: 1, column: 0 },
4581
end: { line: 1, column: 4 }
4582
}
4583
},
4584
4585
'0x10': {
4586
type: 'ExpressionStatement',
4587
expression: {
4588
type: 'Literal',
4589
value: 0x10,
4590
raw: '0x10',
4591
range: [0, 4],
4592
loc: {
4593
start: { line: 1, column: 0 },
4594
end: { line: 1, column: 4 }
4595
}
4596
},
4597
range: [0, 4],
4598
loc: {
4599
start: { line: 1, column: 0 },
4600
end: { line: 1, column: 4 }
4601
}
4602
},
4603
4604
'0x100': {
4605
type: 'ExpressionStatement',
4606
expression: {
4607
type: 'Literal',
4608
value: 0x100,
4609
raw: '0x100',
4610
range: [0, 5],
4611
loc: {
4612
start: { line: 1, column: 0 },
4613
end: { line: 1, column: 5 }
4614
}
4615
},
4616
range: [0, 5],
4617
loc: {
4618
start: { line: 1, column: 0 },
4619
end: { line: 1, column: 5 }
4620
}
4621
},
4622
4623
'0X04': {
4624
type: 'ExpressionStatement',
4625
expression: {
4626
type: 'Literal',
4627
value: 0X04,
4628
raw: '0X04',
4629
range: [0, 4],
4630
loc: {
4631
start: { line: 1, column: 0 },
4632
end: { line: 1, column: 4 }
4633
}
4634
},
4635
range: [0, 4],
4636
loc: {
4637
start: { line: 1, column: 0 },
4638
end: { line: 1, column: 4 }
4639
}
4640
},
4641
4642
'02': {
4643
type: 'ExpressionStatement',
4644
expression: {
4645
type: 'Literal',
4646
value: 2,
4647
raw: '02',
4648
range: [0, 2],
4649
loc: {
4650
start: { line: 1, column: 0 },
4651
end: { line: 1, column: 2 }
4652
}
4653
},
4654
range: [0, 2],
4655
loc: {
4656
start: { line: 1, column: 0 },
4657
end: { line: 1, column: 2 }
4658
}
4659
},
4660
4661
'012': {
4662
type: 'ExpressionStatement',
4663
expression: {
4664
type: 'Literal',
4665
value: 10,
4666
raw: '012',
4667
range: [0, 3],
4668
loc: {
4669
start: { line: 1, column: 0 },
4670
end: { line: 1, column: 3 }
4671
}
4672
},
4673
range: [0, 3],
4674
loc: {
4675
start: { line: 1, column: 0 },
4676
end: { line: 1, column: 3 }
4677
}
4678
},
4679
4680
'0012': {
4681
type: 'ExpressionStatement',
4682
expression: {
4683
type: 'Literal',
4684
value: 10,
4685
raw: '0012',
4686
range: [0, 4],
4687
loc: {
4688
start: { line: 1, column: 0 },
4689
end: { line: 1, column: 4 }
4690
}
4691
},
4692
range: [0, 4],
4693
loc: {
4694
start: { line: 1, column: 0 },
4695
end: { line: 1, column: 4 }
4696
}
4697
}
4698
4699
},
4700
4701
'String Literals': {
4702
4703
'"Hello"': {
4704
type: 'ExpressionStatement',
4705
expression: {
4706
type: 'Literal',
4707
value: 'Hello',
4708
raw: '"Hello"',
4709
range: [0, 7],
4710
loc: {
4711
start: { line: 1, column: 0 },
4712
end: { line: 1, column: 7 }
4713
}
4714
},
4715
range: [0, 7],
4716
loc: {
4717
start: { line: 1, column: 0 },
4718
end: { line: 1, column: 7 }
4719
}
4720
},
4721
4722
'"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"': {
4723
type: 'ExpressionStatement',
4724
expression: {
4725
type: 'Literal',
4726
value: '\n\r\t\x0B\b\f\\\'"\x00',
4727
raw: '"\\n\\r\\t\\v\\b\\f\\\\\\\'\\"\\0"',
4728
range: [0, 22],
4729
loc: {
4730
start: { line: 1, column: 0 },
4731
end: { line: 1, column: 22 }
4732
}
4733
},
4734
range: [0, 22],
4735
loc: {
4736
start: { line: 1, column: 0 },
4737
end: { line: 1, column: 22 }
4738
}
4739
},
4740
4741
'"\\u0061"': {
4742
type: 'ExpressionStatement',
4743
expression: {
4744
type: 'Literal',
4745
value: 'a',
4746
raw: '"\\u0061"',
4747
range: [0, 8],
4748
loc: {
4749
start: { line: 1, column: 0 },
4750
end: { line: 1, column: 8 }
4751
}
4752
},
4753
range: [0, 8],
4754
loc: {
4755
start: { line: 1, column: 0 },
4756
end: { line: 1, column: 8 }
4757
}
4758
},
4759
4760
'"\\x61"': {
4761
type: 'ExpressionStatement',
4762
expression: {
4763
type: 'Literal',
4764
value: 'a',
4765
raw: '"\\x61"',
4766
range: [0, 6],
4767
loc: {
4768
start: { line: 1, column: 0 },
4769
end: { line: 1, column: 6 }
4770
}
4771
},
4772
range: [0, 6],
4773
loc: {
4774
start: { line: 1, column: 0 },
4775
end: { line: 1, column: 6 }
4776
}
4777
},
4778
4779
'"\\u00"': {
4780
type: 'ExpressionStatement',
4781
expression: {
4782
type: 'Literal',
4783
value: 'u00',
4784
raw: '"\\u00"',
4785
range: [0, 6],
4786
loc: {
4787
start: { line: 1, column: 0 },
4788
end: { line: 1, column: 6 }
4789
}
4790
},
4791
range: [0, 6],
4792
loc: {
4793
start: { line: 1, column: 0 },
4794
end: { line: 1, column: 6 }
4795
}
4796
},
4797
4798
'"\\xt"': {
4799
type: 'ExpressionStatement',
4800
expression: {
4801
type: 'Literal',
4802
value: 'xt',
4803
raw: '"\\xt"',
4804
range: [0, 5],
4805
loc: {
4806
start: { line: 1, column: 0 },
4807
end: { line: 1, column: 5 }
4808
}
4809
},
4810
range: [0, 5],
4811
loc: {
4812
start: { line: 1, column: 0 },
4813
end: { line: 1, column: 5 }
4814
}
4815
},
4816
4817
'"Hello\\nworld"': {
4818
type: 'ExpressionStatement',
4819
expression: {
4820
type: 'Literal',
4821
value: 'Hello\nworld',
4822
raw: '"Hello\\nworld"',
4823
range: [0, 14],
4824
loc: {
4825
start: { line: 1, column: 0 },
4826
end: { line: 1, column: 14 }
4827
}
4828
},
4829
range: [0, 14],
4830
loc: {
4831
start: { line: 1, column: 0 },
4832
end: { line: 1, column: 14 }
4833
}
4834
},
4835
4836
'"Hello\\\nworld"': {
4837
type: 'ExpressionStatement',
4838
expression: {
4839
type: 'Literal',
4840
value: 'Helloworld',
4841
raw: '"Hello\\\nworld"',
4842
range: [0, 14],
4843
loc: {
4844
start: { line: 1, column: 0 },
4845
end: { line: 2, column: 14 }
4846
}
4847
},
4848
range: [0, 14],
4849
loc: {
4850
start: { line: 1, column: 0 },
4851
end: { line: 2, column: 14 }
4852
}
4853
},
4854
4855
'"Hello\\02World"': {
4856
type: 'ExpressionStatement',
4857
expression: {
4858
type: 'Literal',
4859
value: 'Hello\u0002World',
4860
raw: '"Hello\\02World"',
4861
range: [0, 15],
4862
loc: {
4863
start: { line: 1, column: 0 },
4864
end: { line: 1, column: 15 }
4865
}
4866
},
4867
range: [0, 15],
4868
loc: {
4869
start: { line: 1, column: 0 },
4870
end: { line: 1, column: 15 }
4871
}
4872
},
4873
4874
'"Hello\\012World"': {
4875
type: 'ExpressionStatement',
4876
expression: {
4877
type: 'Literal',
4878
value: 'Hello\u000AWorld',
4879
raw: '"Hello\\012World"',
4880
range: [0, 16],
4881
loc: {
4882
start: { line: 1, column: 0 },
4883
end: { line: 1, column: 16 }
4884
}
4885
},
4886
range: [0, 16],
4887
loc: {
4888
start: { line: 1, column: 0 },
4889
end: { line: 1, column: 16 }
4890
}
4891
},
4892
4893
'"Hello\\122World"': {
4894
type: 'ExpressionStatement',
4895
expression: {
4896
type: 'Literal',
4897
value: 'Hello\122World',
4898
raw: '"Hello\\122World"',
4899
range: [0, 16],
4900
loc: {
4901
start: { line: 1, column: 0 },
4902
end: { line: 1, column: 16 }
4903
}
4904
},
4905
range: [0, 16],
4906
loc: {
4907
start: { line: 1, column: 0 },
4908
end: { line: 1, column: 16 }
4909
}
4910
},
4911
4912
'"Hello\\0122World"': {
4913
type: 'ExpressionStatement',
4914
expression: {
4915
type: 'Literal',
4916
value: 'Hello\u000A2World',
4917
raw: '"Hello\\0122World"',
4918
range: [0, 17],
4919
loc: {
4920
start: { line: 1, column: 0 },
4921
end: { line: 1, column: 17 }
4922
}
4923
},
4924
range: [0, 17],
4925
loc: {
4926
start: { line: 1, column: 0 },
4927
end: { line: 1, column: 17 }
4928
}
4929
},
4930
4931
'"Hello\\312World"': {
4932
type: 'ExpressionStatement',
4933
expression: {
4934
type: 'Literal',
4935
value: 'Hello\u00CAWorld',
4936
raw: '"Hello\\312World"',
4937
range: [0, 16],
4938
loc: {
4939
start: { line: 1, column: 0 },
4940
end: { line: 1, column: 16 }
4941
}
4942
},
4943
range: [0, 16],
4944
loc: {
4945
start: { line: 1, column: 0 },
4946
end: { line: 1, column: 16 }
4947
}
4948
},
4949
4950
'"Hello\\412World"': {
4951
type: 'ExpressionStatement',
4952
expression: {
4953
type: 'Literal',
4954
value: 'Hello\412World',
4955
raw: '"Hello\\412World"',
4956
range: [0, 16],
4957
loc: {
4958
start: { line: 1, column: 0 },
4959
end: { line: 1, column: 16 }
4960
}
4961
},
4962
range: [0, 16],
4963
loc: {
4964
start: { line: 1, column: 0 },
4965
end: { line: 1, column: 16 }
4966
}
4967
},
4968
4969
'"Hello\\812World"': {
4970
type: 'ExpressionStatement',
4971
expression: {
4972
type: 'Literal',
4973
value: 'Hello812World',
4974
raw: '"Hello\\812World"',
4975
range: [0, 16],
4976
loc: {
4977
start: { line: 1, column: 0 },
4978
end: { line: 1, column: 16 }
4979
}
4980
},
4981
range: [0, 16],
4982
loc: {
4983
start: { line: 1, column: 0 },
4984
end: { line: 1, column: 16 }
4985
}
4986
},
4987
4988
'"Hello\\712World"': {
4989
type: 'ExpressionStatement',
4990
expression: {
4991
type: 'Literal',
4992
value: 'Hello\712World',
4993
raw: '"Hello\\712World"',
4994
range: [0, 16],
4995
loc: {
4996
start: { line: 1, column: 0 },
4997
end: { line: 1, column: 16 }
4998
}
4999
},
5000
range: [0, 16],
5001
loc: {
5002
start: { line: 1, column: 0 },
5003
end: { line: 1, column: 16 }
5004
}
5005
},
5006
5007
'"Hello\\0World"': {
5008
type: 'ExpressionStatement',
5009
expression: {
5010
type: 'Literal',
5011
value: 'Hello\u0000World',
5012
raw: '"Hello\\0World"',
5013
range: [0, 14],
5014
loc: {
5015
start: { line: 1, column: 0 },
5016
end: { line: 1, column: 14 }
5017
}
5018
},
5019
range: [0, 14],
5020
loc: {
5021
start: { line: 1, column: 0 },
5022
end: { line: 1, column: 14 }
5023
}
5024
},
5025
5026
'"Hello\\\r\nworld"': {
5027
type: 'ExpressionStatement',
5028
expression: {
5029
type: 'Literal',
5030
value: 'Helloworld',
5031
raw: '"Hello\\\r\nworld"',
5032
range: [0, 15],
5033
loc: {
5034
start: { line: 1, column: 0 },
5035
end: { line: 2, column: 15 }
5036
}
5037
},
5038
range: [0, 15],
5039
loc: {
5040
start: { line: 1, column: 0 },
5041
end: { line: 2, column: 15 }
5042
}
5043
},
5044
5045
'"Hello\\1World"': {
5046
type: 'ExpressionStatement',
5047
expression: {
5048
type: 'Literal',
5049
value: 'Hello\u0001World',
5050
raw: '"Hello\\1World"',
5051
range: [0, 14],
5052
loc: {
5053
start: { line: 1, column: 0 },
5054
end: { line: 1, column: 14 }
5055
}
5056
},
5057
range: [0, 14],
5058
loc: {
5059
start: { line: 1, column: 0 },
5060
end: { line: 1, column: 14 }
5061
}
5062
}
5063
},
5064
5065
'Regular Expression Literals': {
5066
5067
'var x = /[a-z]/i': {
5068
type: 'Program',
5069
body: [{
5070
type: 'VariableDeclaration',
5071
declarations: [{
5072
type: 'VariableDeclarator',
5073
id: {
5074
type: 'Identifier',
5075
name: 'x',
5076
range: [4, 5],
5077
loc: {
5078
start: { line: 1, column: 4 },
5079
end: { line: 1, column: 5 }
5080
}
5081
},
5082
init: {
5083
type: 'Literal',
5084
value: '/[a-z]/i',
5085
raw: '/[a-z]/i',
5086
range: [8, 16],
5087
loc: {
5088
start: { line: 1, column: 8 },
5089
end: { line: 1, column: 16 }
5090
}
5091
},
5092
range: [4, 16],
5093
loc: {
5094
start: { line: 1, column: 4 },
5095
end: { line: 1, column: 16 }
5096
}
5097
}],
5098
kind: 'var',
5099
range: [0, 16],
5100
loc: {
5101
start: { line: 1, column: 0 },
5102
end: { line: 1, column: 16 }
5103
}
5104
}],
5105
range: [0, 16],
5106
loc: {
5107
start: { line: 1, column: 0 },
5108
end: { line: 1, column: 16 }
5109
},
5110
tokens: [{
5111
type: 'Keyword',
5112
value: 'var',
5113
range: [0, 3],
5114
loc: {
5115
start: { line: 1, column: 0 },
5116
end: { line: 1, column: 3 }
5117
}
5118
}, {
5119
type: 'Identifier',
5120
value: 'x',
5121
range: [4, 5],
5122
loc: {
5123
start: { line: 1, column: 4 },
5124
end: { line: 1, column: 5 }
5125
}
5126
}, {
5127
type: 'Punctuator',
5128
value: '=',
5129
range: [6, 7],
5130
loc: {
5131
start: { line: 1, column: 6 },
5132
end: { line: 1, column: 7 }
5133
}
5134
}, {
5135
type: 'RegularExpression',
5136
value: '/[a-z]/i',
5137
range: [8, 16],
5138
loc: {
5139
start: { line: 1, column: 8 },
5140
end: { line: 1, column: 16 }
5141
}
5142
}]
5143
},
5144
5145
'var x = /[x-z]/i': {
5146
type: 'Program',
5147
body: [{
5148
type: 'VariableDeclaration',
5149
declarations: [{
5150
type: 'VariableDeclarator',
5151
id: {
5152
type: 'Identifier',
5153
name: 'x',
5154
range: [4, 5]
5155
},
5156
init: {
5157
type: 'Literal',
5158
value: '/[x-z]/i',
5159
raw: '/[x-z]/i',
5160
range: [8, 16]
5161
},
5162
range: [4, 16]
5163
}],
5164
kind: 'var',
5165
range: [0, 16]
5166
}],
5167
range: [0, 16],
5168
tokens: [{
5169
type: 'Keyword',
5170
value: 'var',
5171
range: [0, 3]
5172
}, {
5173
type: 'Identifier',
5174
value: 'x',
5175
range: [4, 5]
5176
}, {
5177
type: 'Punctuator',
5178
value: '=',
5179
range: [6, 7]
5180
}, {
5181
type: 'RegularExpression',
5182
value: '/[x-z]/i',
5183
range: [8, 16]
5184
}]
5185
},
5186
5187
'var x = /[a-c]/i': {
5188
type: 'Program',
5189
body: [{
5190
type: 'VariableDeclaration',
5191
declarations: [{
5192
type: 'VariableDeclarator',
5193
id: {
5194
type: 'Identifier',
5195
name: 'x',
5196
loc: {
5197
start: { line: 1, column: 4 },
5198
end: { line: 1, column: 5 }
5199
}
5200
},
5201
init: {
5202
type: 'Literal',
5203
value: '/[a-c]/i',
5204
raw: '/[a-c]/i',
5205
loc: {
5206
start: { line: 1, column: 8 },
5207
end: { line: 1, column: 16 }
5208
}
5209
},
5210
loc: {
5211
start: { line: 1, column: 4 },
5212
end: { line: 1, column: 16 }
5213
}
5214
}],
5215
kind: 'var',
5216
loc: {
5217
start: { line: 1, column: 0 },
5218
end: { line: 1, column: 16 }
5219
}
5220
}],
5221
loc: {
5222
start: { line: 1, column: 0 },
5223
end: { line: 1, column: 16 }
5224
},
5225
tokens: [{
5226
type: 'Keyword',
5227
value: 'var',
5228
loc: {
5229
start: { line: 1, column: 0 },
5230
end: { line: 1, column: 3 }
5231
}
5232
}, {
5233
type: 'Identifier',
5234
value: 'x',
5235
loc: {
5236
start: { line: 1, column: 4 },
5237
end: { line: 1, column: 5 }
5238
}
5239
}, {
5240
type: 'Punctuator',
5241
value: '=',
5242
loc: {
5243
start: { line: 1, column: 6 },
5244
end: { line: 1, column: 7 }
5245
}
5246
}, {
5247
type: 'RegularExpression',
5248
value: '/[a-c]/i',
5249
loc: {
5250
start: { line: 1, column: 8 },
5251
end: { line: 1, column: 16 }
5252
}
5253
}]
5254
},
5255
5256
'var x = /[P QR]/i': {
5257
type: 'Program',
5258
body: [{
5259
type: 'VariableDeclaration',
5260
declarations: [{
5261
type: 'VariableDeclarator',
5262
id: {
5263
type: 'Identifier',
5264
name: 'x',
5265
range: [4, 5],
5266
loc: {
5267
start: { line: 1, column: 4 },
5268
end: { line: 1, column: 5 }
5269
}
5270
},
5271
init: {
5272
type: 'Literal',
5273
value: '/[P QR]/i',
5274
raw: '/[P QR]/i',
5275
range: [8, 17],
5276
loc: {
5277
start: { line: 1, column: 8 },
5278
end: { line: 1, column: 17 }
5279
}
5280
},
5281
range: [4, 17],
5282
loc: {
5283
start: { line: 1, column: 4 },
5284
end: { line: 1, column: 17 }
5285
}
5286
}],
5287
kind: 'var',
5288
range: [0, 17],
5289
loc: {
5290
start: { line: 1, column: 0 },
5291
end: { line: 1, column: 17 }
5292
}
5293
}],
5294
range: [0, 17],
5295
loc: {
5296
start: { line: 1, column: 0 },
5297
end: { line: 1, column: 17 }
5298
},
5299
tokens: [{
5300
type: 'Keyword',
5301
value: 'var',
5302
range: [0, 3],
5303
loc: {
5304
start: { line: 1, column: 0 },
5305
end: { line: 1, column: 3 }
5306
}
5307
}, {
5308
type: 'Identifier',
5309
value: 'x',
5310
range: [4, 5],
5311
loc: {
5312
start: { line: 1, column: 4 },
5313
end: { line: 1, column: 5 }
5314
}
5315
}, {
5316
type: 'Punctuator',
5317
value: '=',
5318
range: [6, 7],
5319
loc: {
5320
start: { line: 1, column: 6 },
5321
end: { line: 1, column: 7 }
5322
}
5323
}, {
5324
type: 'RegularExpression',
5325
value: '/[P QR]/i',
5326
range: [8, 17],
5327
loc: {
5328
start: { line: 1, column: 8 },
5329
end: { line: 1, column: 17 }
5330
}
5331
}]
5332
},
5333
5334
'var x = /foo\\/bar/': {
5335
type: 'Program',
5336
body: [{
5337
type: 'VariableDeclaration',
5338
declarations: [{
5339
type: 'VariableDeclarator',
5340
id: {
5341
type: 'Identifier',
5342
name: 'x',
5343
range: [4, 5],
5344
loc: {
5345
start: { line: 1, column: 4 },
5346
end: { line: 1, column: 5 }
5347
}
5348
},
5349
init: {
5350
type: 'Literal',
5351
value: '/foo\\/bar/',
5352
raw: '/foo\\/bar/',
5353
range: [8, 18],
5354
loc: {
5355
start: { line: 1, column: 8 },
5356
end: { line: 1, column: 18 }
5357
}
5358
},
5359
range: [4, 18],
5360
loc: {
5361
start: { line: 1, column: 4 },
5362
end: { line: 1, column: 18 }
5363
}
5364
}],
5365
kind: 'var',
5366
range: [0, 18],
5367
loc: {
5368
start: { line: 1, column: 0 },
5369
end: { line: 1, column: 18 }
5370
}
5371
}],
5372
range: [0, 18],
5373
loc: {
5374
start: { line: 1, column: 0 },
5375
end: { line: 1, column: 18 }
5376
},
5377
tokens: [{
5378
type: 'Keyword',
5379
value: 'var',
5380
range: [0, 3],
5381
loc: {
5382
start: { line: 1, column: 0 },
5383
end: { line: 1, column: 3 }
5384
}
5385
}, {
5386
type: 'Identifier',
5387
value: 'x',
5388
range: [4, 5],
5389
loc: {
5390
start: { line: 1, column: 4 },
5391
end: { line: 1, column: 5 }
5392
}
5393
}, {
5394
type: 'Punctuator',
5395
value: '=',
5396
range: [6, 7],
5397
loc: {
5398
start: { line: 1, column: 6 },
5399
end: { line: 1, column: 7 }
5400
}
5401
}, {
5402
type: 'RegularExpression',
5403
value: '/foo\\/bar/',
5404
range: [8, 18],
5405
loc: {
5406
start: { line: 1, column: 8 },
5407
end: { line: 1, column: 18 }
5408
}
5409
}]
5410
},
5411
5412
'var x = /=([^=\\s])+/g': {
5413
type: 'Program',
5414
body: [{
5415
type: 'VariableDeclaration',
5416
declarations: [{
5417
type: 'VariableDeclarator',
5418
id: {
5419
type: 'Identifier',
5420
name: 'x',
5421
range: [4, 5],
5422
loc: {
5423
start: { line: 1, column: 4 },
5424
end: { line: 1, column: 5 }
5425
}
5426
},
5427
init: {
5428
type: 'Literal',
5429
value: '/=([^=\\s])+/g',
5430
raw: '/=([^=\\s])+/g',
5431
range: [8, 21],
5432
loc: {
5433
start: { line: 1, column: 8 },
5434
end: { line: 1, column: 21 }
5435
}
5436
},
5437
range: [4, 21],
5438
loc: {
5439
start: { line: 1, column: 4 },
5440
end: { line: 1, column: 21 }
5441
}
5442
}],
5443
kind: 'var',
5444
range: [0, 21],
5445
loc: {
5446
start: { line: 1, column: 0 },
5447
end: { line: 1, column: 21 }
5448
}
5449
}],
5450
range: [0, 21],
5451
loc: {
5452
start: { line: 1, column: 0 },
5453
end: { line: 1, column: 21 }
5454
},
5455
tokens: [{
5456
type: 'Keyword',
5457
value: 'var',
5458
range: [0, 3],
5459
loc: {
5460
start: { line: 1, column: 0 },
5461
end: { line: 1, column: 3 }
5462
}
5463
}, {
5464
type: 'Identifier',
5465
value: 'x',
5466
range: [4, 5],
5467
loc: {
5468
start: { line: 1, column: 4 },
5469
end: { line: 1, column: 5 }
5470
}
5471
}, {
5472
type: 'Punctuator',
5473
value: '=',
5474
range: [6, 7],
5475
loc: {
5476
start: { line: 1, column: 6 },
5477
end: { line: 1, column: 7 }
5478
}
5479
}, {
5480
type: 'RegularExpression',
5481
value: '/=([^=\\s])+/g',
5482
range: [8, 21],
5483
loc: {
5484
start: { line: 1, column: 8 },
5485
end: { line: 1, column: 21 }
5486
}
5487
}]
5488
},
5489
5490
'var x = /[P QR]/\\u0067': {
5491
type: 'Program',
5492
body: [{
5493
type: 'VariableDeclaration',
5494
declarations: [{
5495
type: 'VariableDeclarator',
5496
id: {
5497
type: 'Identifier',
5498
name: 'x',
5499
range: [4, 5],
5500
loc: {
5501
start: { line: 1, column: 4 },
5502
end: { line: 1, column: 5 }
5503
}
5504
},
5505
init: {
5506
type: 'Literal',
5507
value: '/[P QR]/g',
5508
raw: '/[P QR]/\\u0067',
5509
range: [8, 22],
5510
loc: {
5511
start: { line: 1, column: 8 },
5512
end: { line: 1, column: 22 }
5513
}
5514
},
5515
range: [4, 22],
5516
loc: {
5517
start: { line: 1, column: 4 },
5518
end: { line: 1, column: 22 }
5519
}
5520
}],
5521
kind: 'var',
5522
range: [0, 22],
5523
loc: {
5524
start: { line: 1, column: 0 },
5525
end: { line: 1, column: 22 }
5526
}
5527
}],
5528
range: [0, 22],
5529
loc: {
5530
start: { line: 1, column: 0 },
5531
end: { line: 1, column: 22 }
5532
},
5533
tokens: [{
5534
type: 'Keyword',
5535
value: 'var',
5536
range: [0, 3],
5537
loc: {
5538
start: { line: 1, column: 0 },
5539
end: { line: 1, column: 3 }
5540
}
5541
}, {
5542
type: 'Identifier',
5543
value: 'x',
5544
range: [4, 5],
5545
loc: {
5546
start: { line: 1, column: 4 },
5547
end: { line: 1, column: 5 }
5548
}
5549
}, {
5550
type: 'Punctuator',
5551
value: '=',
5552
range: [6, 7],
5553
loc: {
5554
start: { line: 1, column: 6 },
5555
end: { line: 1, column: 7 }
5556
}
5557
}, {
5558
type: 'RegularExpression',
5559
value: '/[P QR]/\\u0067',
5560
range: [8, 22],
5561
loc: {
5562
start: { line: 1, column: 8 },
5563
end: { line: 1, column: 22 }
5564
}
5565
}]
5566
},
5567
5568
'var x = /[P QR]/\\g': {
5569
type: 'Program',
5570
body: [{
5571
type: 'VariableDeclaration',
5572
declarations: [{
5573
type: 'VariableDeclarator',
5574
id: {
5575
type: 'Identifier',
5576
name: 'x',
5577
range: [4, 5],
5578
loc: {
5579
start: { line: 1, column: 4 },
5580
end: { line: 1, column: 5 }
5581
}
5582
},
5583
init: {
5584
type: 'Literal',
5585
value: '/[P QR]/g',
5586
raw: '/[P QR]/\\g',
5587
range: [8, 18],
5588
loc: {
5589
start: { line: 1, column: 8 },
5590
end: { line: 1, column: 18 }
5591
}
5592
},
5593
range: [4, 18],
5594
loc: {
5595
start: { line: 1, column: 4 },
5596
end: { line: 1, column: 18 }
5597
}
5598
}],
5599
kind: 'var',
5600
range: [0, 18],
5601
loc: {
5602
start: { line: 1, column: 0 },
5603
end: { line: 1, column: 18 }
5604
}
5605
}],
5606
range: [0, 18],
5607
loc: {
5608
start: { line: 1, column: 0 },
5609
end: { line: 1, column: 18 }
5610
},
5611
tokens: [{
5612
type: 'Keyword',
5613
value: 'var',
5614
range: [0, 3],
5615
loc: {
5616
start: { line: 1, column: 0 },
5617
end: { line: 1, column: 3 }
5618
}
5619
}, {
5620
type: 'Identifier',
5621
value: 'x',
5622
range: [4, 5],
5623
loc: {
5624
start: { line: 1, column: 4 },
5625
end: { line: 1, column: 5 }
5626
}
5627
}, {
5628
type: 'Punctuator',
5629
value: '=',
5630
range: [6, 7],
5631
loc: {
5632
start: { line: 1, column: 6 },
5633
end: { line: 1, column: 7 }
5634
}
5635
}, {
5636
type: 'RegularExpression',
5637
value: '/[P QR]/\\g',
5638
range: [8, 18],
5639
loc: {
5640
start: { line: 1, column: 8 },
5641
end: { line: 1, column: 18 }
5642
}
5643
}]
5644
},
5645
5646
'var x = /42/g.test': {
5647
type: 'VariableDeclaration',
5648
declarations: [{
5649
type: 'VariableDeclarator',
5650
id: {
5651
type: 'Identifier',
5652
name: 'x',
5653
range: [4, 5],
5654
loc: {
5655
start: { line: 1, column: 4 },
5656
end: { line: 1, column: 5 }
5657
}
5658
},
5659
init: {
5660
type: 'MemberExpression',
5661
computed: false,
5662
object: {
5663
type: 'Literal',
5664
value: '/42/g',
5665
raw: '/42/g',
5666
range: [8, 13],
5667
loc: {
5668
start: { line: 1, column: 8 },
5669
end: { line: 1, column: 13 }
5670
}
5671
},
5672
property: {
5673
type: 'Identifier',
5674
name: 'test',
5675
range: [14, 18],
5676
loc: {
5677
start: { line: 1, column: 14 },
5678
end: { line: 1, column: 18 }
5679
}
5680
},
5681
range: [8, 18],
5682
loc: {
5683
start: { line: 1, column: 8 },
5684
end: { line: 1, column: 18 }
5685
}
5686
},
5687
range: [4, 18],
5688
loc: {
5689
start: { line: 1, column: 4 },
5690
end: { line: 1, column: 18 }
5691
}
5692
}],
5693
kind: 'var',
5694
range: [0, 18],
5695
loc: {
5696
start: { line: 1, column: 0 },
5697
end: { line: 1, column: 18 }
5698
}
5699
}
5700
5701
},
5702
5703
'Left-Hand-Side Expression': {
5704
5705
'new Button': {
5706
type: 'ExpressionStatement',
5707
expression: {
5708
type: 'NewExpression',
5709
callee: {
5710
type: 'Identifier',
5711
name: 'Button',
5712
range: [4, 10],
5713
loc: {
5714
start: { line: 1, column: 4 },
5715
end: { line: 1, column: 10 }
5716
}
5717
},
5718
'arguments': [],
5719
range: [0, 10],
5720
loc: {
5721
start: { line: 1, column: 0 },
5722
end: { line: 1, column: 10 }
5723
}
5724
},
5725
range: [0, 10],
5726
loc: {
5727
start: { line: 1, column: 0 },
5728
end: { line: 1, column: 10 }
5729
}
5730
},
5731
5732
'new Button()': {
5733
type: 'ExpressionStatement',
5734
expression: {
5735
type: 'NewExpression',
5736
callee: {
5737
type: 'Identifier',
5738
name: 'Button',
5739
range: [4, 10],
5740
loc: {
5741
start: { line: 1, column: 4 },
5742
end: { line: 1, column: 10 }
5743
}
5744
},
5745
'arguments': [],
5746
range: [0, 12],
5747
loc: {
5748
start: { line: 1, column: 0 },
5749
end: { line: 1, column: 12 }
5750
}
5751
},
5752
range: [0, 12],
5753
loc: {
5754
start: { line: 1, column: 0 },
5755
end: { line: 1, column: 12 }
5756
}
5757
},
5758
5759
'new new foo': {
5760
type: 'ExpressionStatement',
5761
expression: {
5762
type: 'NewExpression',
5763
callee: {
5764
type: 'NewExpression',
5765
callee: {
5766
type: 'Identifier',
5767
name: 'foo',
5768
range: [8, 11],
5769
loc: {
5770
start: { line: 1, column: 8 },
5771
end: { line: 1, column: 11 }
5772
}
5773
},
5774
'arguments': [],
5775
range: [4, 11],
5776
loc: {
5777
start: { line: 1, column: 4 },
5778
end: { line: 1, column: 11 }
5779
}
5780
},
5781
'arguments': [],
5782
range: [0, 11],
5783
loc: {
5784
start: { line: 1, column: 0 },
5785
end: { line: 1, column: 11 }
5786
}
5787
},
5788
range: [0, 11],
5789
loc: {
5790
start: { line: 1, column: 0 },
5791
end: { line: 1, column: 11 }
5792
}
5793
},
5794
5795
'new new foo()': {
5796
type: 'ExpressionStatement',
5797
expression: {
5798
type: 'NewExpression',
5799
callee: {
5800
type: 'NewExpression',
5801
callee: {
5802
type: 'Identifier',
5803
name: 'foo',
5804
range: [8, 11],
5805
loc: {
5806
start: { line: 1, column: 8 },
5807
end: { line: 1, column: 11 }
5808
}
5809
},
5810
'arguments': [],
5811
range: [4, 13],
5812
loc: {
5813
start: { line: 1, column: 4 },
5814
end: { line: 1, column: 13 }
5815
}
5816
},
5817
'arguments': [],
5818
range: [0, 13],
5819
loc: {
5820
start: { line: 1, column: 0 },
5821
end: { line: 1, column: 13 }
5822
}
5823
},
5824
range: [0, 13],
5825
loc: {
5826
start: { line: 1, column: 0 },
5827
end: { line: 1, column: 13 }
5828
}
5829
},
5830
5831
'new foo().bar()': {
5832
type: 'ExpressionStatement',
5833
expression: {
5834
type: 'CallExpression',
5835
callee: {
5836
type: 'MemberExpression',
5837
computed: false,
5838
object: {
5839
type: 'NewExpression',
5840
callee: {
5841
type: 'Identifier',
5842
name: 'foo',
5843
range: [4, 7],
5844
loc: {
5845
start: { line: 1, column: 4 },
5846
end: { line: 1, column: 7 }
5847
}
5848
},
5849
'arguments': [],
5850
range: [0, 9],
5851
loc: {
5852
start: { line: 1, column: 0 },
5853
end: { line: 1, column: 9 }
5854
}
5855
},
5856
property: {
5857
type: 'Identifier',
5858
name: 'bar',
5859
range: [10, 13],
5860
loc: {
5861
start: { line: 1, column: 10 },
5862
end: { line: 1, column: 13 }
5863
}
5864
},
5865
range: [0, 13],
5866
loc: {
5867
start: { line: 1, column: 0 },
5868
end: { line: 1, column: 13 }
5869
}
5870
},
5871
'arguments': [],
5872
range: [0, 15],
5873
loc: {
5874
start: { line: 1, column: 0 },
5875
end: { line: 1, column: 15 }
5876
}
5877
},
5878
range: [0, 15],
5879
loc: {
5880
start: { line: 1, column: 0 },
5881
end: { line: 1, column: 15 }
5882
}
5883
},
5884
5885
'new foo[bar]': {
5886
type: 'ExpressionStatement',
5887
expression: {
5888
type: 'NewExpression',
5889
callee: {
5890
type: 'MemberExpression',
5891
computed: true,
5892
object: {
5893
type: 'Identifier',
5894
name: 'foo',
5895
range: [4, 7],
5896
loc: {
5897
start: { line: 1, column: 4 },
5898
end: { line: 1, column: 7 }
5899
}
5900
},
5901
property: {
5902
type: 'Identifier',
5903
name: 'bar',
5904
range: [8, 11],
5905
loc: {
5906
start: { line: 1, column: 8 },
5907
end: { line: 1, column: 11 }
5908
}
5909
},
5910
range: [4, 12],
5911
loc: {
5912
start: { line: 1, column: 4 },
5913
end: { line: 1, column: 12 }
5914
}
5915
},
5916
'arguments': [],
5917
range: [0, 12],
5918
loc: {
5919
start: { line: 1, column: 0 },
5920
end: { line: 1, column: 12 }
5921
}
5922
},
5923
range: [0, 12],
5924
loc: {
5925
start: { line: 1, column: 0 },
5926
end: { line: 1, column: 12 }
5927
}
5928
},
5929
5930
'new foo.bar()': {
5931
type: 'ExpressionStatement',
5932
expression: {
5933
type: 'NewExpression',
5934
callee: {
5935
type: 'MemberExpression',
5936
computed: false,
5937
object: {
5938
type: 'Identifier',
5939
name: 'foo',
5940
range: [4, 7],
5941
loc: {
5942
start: { line: 1, column: 4 },
5943
end: { line: 1, column: 7 }
5944
}
5945
},
5946
property: {
5947
type: 'Identifier',
5948
name: 'bar',
5949
range: [8, 11],
5950
loc: {
5951
start: { line: 1, column: 8 },
5952
end: { line: 1, column: 11 }
5953
}
5954
},
5955
range: [4, 11],
5956
loc: {
5957
start: { line: 1, column: 4 },
5958
end: { line: 1, column: 11 }
5959
}
5960
},
5961
'arguments': [],
5962
range: [0, 13],
5963
loc: {
5964
start: { line: 1, column: 0 },
5965
end: { line: 1, column: 13 }
5966
}
5967
},
5968
range: [0, 13],
5969
loc: {
5970
start: { line: 1, column: 0 },
5971
end: { line: 1, column: 13 }
5972
}
5973
},
5974
5975
'( new foo).bar()': {
5976
type: 'ExpressionStatement',
5977
expression: {
5978
type: 'CallExpression',
5979
callee: {
5980
type: 'MemberExpression',
5981
computed: false,
5982
object: {
5983
type: 'NewExpression',
5984
callee: {
5985
type: 'Identifier',
5986
name: 'foo',
5987
range: [6, 9],
5988
loc: {
5989
start: { line: 1, column: 6 },
5990
end: { line: 1, column: 9 }
5991
}
5992
},
5993
'arguments': [],
5994
range: [2, 9],
5995
loc: {
5996
start: { line: 1, column: 2 },
5997
end: { line: 1, column: 9 }
5998
}
5999
},
6000
property: {
6001
type: 'Identifier',
6002
name: 'bar',
6003
range: [11, 14],
6004
loc: {
6005
start: { line: 1, column: 11 },
6006
end: { line: 1, column: 14 }
6007
}
6008
},
6009
range: [0, 14],
6010
loc: {
6011
start: { line: 1, column: 0 },
6012
end: { line: 1, column: 14 }
6013
}
6014
},
6015
'arguments': [],
6016
range: [0, 16],
6017
loc: {
6018
start: { line: 1, column: 0 },
6019
end: { line: 1, column: 16 }
6020
}
6021
},
6022
range: [0, 16],
6023
loc: {
6024
start: { line: 1, column: 0 },
6025
end: { line: 1, column: 16 }
6026
}
6027
},
6028
6029
'foo(bar, baz)': {
6030
type: 'ExpressionStatement',
6031
expression: {
6032
type: 'CallExpression',
6033
callee: {
6034
type: 'Identifier',
6035
name: 'foo',
6036
range: [0, 3],
6037
loc: {
6038
start: { line: 1, column: 0 },
6039
end: { line: 1, column: 3 }
6040
}
6041
},
6042
'arguments': [{
6043
type: 'Identifier',
6044
name: 'bar',
6045
range: [4, 7],
6046
loc: {
6047
start: { line: 1, column: 4 },
6048
end: { line: 1, column: 7 }
6049
}
6050
}, {
6051
type: 'Identifier',
6052
name: 'baz',
6053
range: [9, 12],
6054
loc: {
6055
start: { line: 1, column: 9 },
6056
end: { line: 1, column: 12 }
6057
}
6058
}],
6059
range: [0, 13],
6060
loc: {
6061
start: { line: 1, column: 0 },
6062
end: { line: 1, column: 13 }
6063
}
6064
},
6065
range: [0, 13],
6066
loc: {
6067
start: { line: 1, column: 0 },
6068
end: { line: 1, column: 13 }
6069
}
6070
},
6071
6072
'( foo )()': {
6073
type: 'ExpressionStatement',
6074
expression: {
6075
type: 'CallExpression',
6076
callee: {
6077
type: 'Identifier',
6078
name: 'foo',
6079
range: [5, 8],
6080
loc: {
6081
start: { line: 1, column: 5 },
6082
end: { line: 1, column: 8 }
6083
}
6084
},
6085
'arguments': [],
6086
range: [0, 13],
6087
loc: {
6088
start: { line: 1, column: 0 },
6089
end: { line: 1, column: 13 }
6090
}
6091
},
6092
range: [0, 13],
6093
loc: {
6094
start: { line: 1, column: 0 },
6095
end: { line: 1, column: 13 }
6096
}
6097
},
6098
6099
'universe.milkyway': {
6100
type: 'ExpressionStatement',
6101
expression: {
6102
type: 'MemberExpression',
6103
computed: false,
6104
object: {
6105
type: 'Identifier',
6106
name: 'universe',
6107
range: [0, 8],
6108
loc: {
6109
start: { line: 1, column: 0 },
6110
end: { line: 1, column: 8 }
6111
}
6112
},
6113
property: {
6114
type: 'Identifier',
6115
name: 'milkyway',
6116
range: [9, 17],
6117
loc: {
6118
start: { line: 1, column: 9 },
6119
end: { line: 1, column: 17 }
6120
}
6121
},
6122
range: [0, 17],
6123
loc: {
6124
start: { line: 1, column: 0 },
6125
end: { line: 1, column: 17 }
6126
}
6127
},
6128
range: [0, 17],
6129
loc: {
6130
start: { line: 1, column: 0 },
6131
end: { line: 1, column: 17 }
6132
}
6133
},
6134
6135
'universe.milkyway.solarsystem': {
6136
type: 'ExpressionStatement',
6137
expression: {
6138
type: 'MemberExpression',
6139
computed: false,
6140
object: {
6141
type: 'MemberExpression',
6142
computed: false,
6143
object: {
6144
type: 'Identifier',
6145
name: 'universe',
6146
range: [0, 8],
6147
loc: {
6148
start: { line: 1, column: 0 },
6149
end: { line: 1, column: 8 }
6150
}
6151
},
6152
property: {
6153
type: 'Identifier',
6154
name: 'milkyway',
6155
range: [9, 17],
6156
loc: {
6157
start: { line: 1, column: 9 },
6158
end: { line: 1, column: 17 }
6159
}
6160
},
6161
range: [0, 17],
6162
loc: {
6163
start: { line: 1, column: 0 },
6164
end: { line: 1, column: 17 }
6165
}
6166
},
6167
property: {
6168
type: 'Identifier',
6169
name: 'solarsystem',
6170
range: [18, 29],
6171
loc: {
6172
start: { line: 1, column: 18 },
6173
end: { line: 1, column: 29 }
6174
}
6175
},
6176
range: [0, 29],
6177
loc: {
6178
start: { line: 1, column: 0 },
6179
end: { line: 1, column: 29 }
6180
}
6181
},
6182
range: [0, 29],
6183
loc: {
6184
start: { line: 1, column: 0 },
6185
end: { line: 1, column: 29 }
6186
}
6187
},
6188
6189
'universe.milkyway.solarsystem.Earth': {
6190
type: 'ExpressionStatement',
6191
expression: {
6192
type: 'MemberExpression',
6193
computed: false,
6194
object: {
6195
type: 'MemberExpression',
6196
computed: false,
6197
object: {
6198
type: 'MemberExpression',
6199
computed: false,
6200
object: {
6201
type: 'Identifier',
6202
name: 'universe',
6203
range: [0, 8],
6204
loc: {
6205
start: { line: 1, column: 0 },
6206
end: { line: 1, column: 8 }
6207
}
6208
},
6209
property: {
6210
type: 'Identifier',
6211
name: 'milkyway',
6212
range: [9, 17],
6213
loc: {
6214
start: { line: 1, column: 9 },
6215
end: { line: 1, column: 17 }
6216
}
6217
},
6218
range: [0, 17],
6219
loc: {
6220
start: { line: 1, column: 0 },
6221
end: { line: 1, column: 17 }
6222
}
6223
},
6224
property: {
6225
type: 'Identifier',
6226
name: 'solarsystem',
6227
range: [18, 29],
6228
loc: {
6229
start: { line: 1, column: 18 },
6230
end: { line: 1, column: 29 }
6231
}
6232
},
6233
range: [0, 29],
6234
loc: {
6235
start: { line: 1, column: 0 },
6236
end: { line: 1, column: 29 }
6237
}
6238
},
6239
property: {
6240
type: 'Identifier',
6241
name: 'Earth',
6242
range: [30, 35],
6243
loc: {
6244
start: { line: 1, column: 30 },
6245
end: { line: 1, column: 35 }
6246
}
6247
},
6248
range: [0, 35],
6249
loc: {
6250
start: { line: 1, column: 0 },
6251
end: { line: 1, column: 35 }
6252
}
6253
},
6254
range: [0, 35],
6255
loc: {
6256
start: { line: 1, column: 0 },
6257
end: { line: 1, column: 35 }
6258
}
6259
},
6260
6261
'universe[galaxyName, otherUselessName]': {
6262
type: 'ExpressionStatement',
6263
expression: {
6264
type: 'MemberExpression',
6265
computed: true,
6266
object: {
6267
type: 'Identifier',
6268
name: 'universe',
6269
range: [0, 8],
6270
loc: {
6271
start: { line: 1, column: 0 },
6272
end: { line: 1, column: 8 }
6273
}
6274
},
6275
property: {
6276
type: 'SequenceExpression',
6277
expressions: [{
6278
type: 'Identifier',
6279
name: 'galaxyName',
6280
range: [9, 19],
6281
loc: {
6282
start: { line: 1, column: 9 },
6283
end: { line: 1, column: 19 }
6284
}
6285
}, {
6286
type: 'Identifier',
6287
name: 'otherUselessName',
6288
range: [21, 37],
6289
loc: {
6290
start: { line: 1, column: 21 },
6291
end: { line: 1, column: 37 }
6292
}
6293
}],
6294
range: [9, 37],
6295
loc: {
6296
start: { line: 1, column: 9 },
6297
end: { line: 1, column: 37 }
6298
}
6299
},
6300
range: [0, 38],
6301
loc: {
6302
start: { line: 1, column: 0 },
6303
end: { line: 1, column: 38 }
6304
}
6305
},
6306
range: [0, 38],
6307
loc: {
6308
start: { line: 1, column: 0 },
6309
end: { line: 1, column: 38 }
6310
}
6311
},
6312
6313
'universe[galaxyName]': {
6314
type: 'ExpressionStatement',
6315
expression: {
6316
type: 'MemberExpression',
6317
computed: true,
6318
object: {
6319
type: 'Identifier',
6320
name: 'universe',
6321
range: [0, 8],
6322
loc: {
6323
start: { line: 1, column: 0 },
6324
end: { line: 1, column: 8 }
6325
}
6326
},
6327
property: {
6328
type: 'Identifier',
6329
name: 'galaxyName',
6330
range: [9, 19],
6331
loc: {
6332
start: { line: 1, column: 9 },
6333
end: { line: 1, column: 19 }
6334
}
6335
},
6336
range: [0, 20],
6337
loc: {
6338
start: { line: 1, column: 0 },
6339
end: { line: 1, column: 20 }
6340
}
6341
},
6342
range: [0, 20],
6343
loc: {
6344
start: { line: 1, column: 0 },
6345
end: { line: 1, column: 20 }
6346
}
6347
},
6348
6349
'universe[42].galaxies': {
6350
type: 'ExpressionStatement',
6351
expression: {
6352
type: 'MemberExpression',
6353
computed: false,
6354
object: {
6355
type: 'MemberExpression',
6356
computed: true,
6357
object: {
6358
type: 'Identifier',
6359
name: 'universe',
6360
range: [0, 8],
6361
loc: {
6362
start: { line: 1, column: 0 },
6363
end: { line: 1, column: 8 }
6364
}
6365
},
6366
property: {
6367
type: 'Literal',
6368
value: 42,
6369
raw: '42',
6370
range: [9, 11],
6371
loc: {
6372
start: { line: 1, column: 9 },
6373
end: { line: 1, column: 11 }
6374
}
6375
},
6376
range: [0, 12],
6377
loc: {
6378
start: { line: 1, column: 0 },
6379
end: { line: 1, column: 12 }
6380
}
6381
},
6382
property: {
6383
type: 'Identifier',
6384
name: 'galaxies',
6385
range: [13, 21],
6386
loc: {
6387
start: { line: 1, column: 13 },
6388
end: { line: 1, column: 21 }
6389
}
6390
},
6391
range: [0, 21],
6392
loc: {
6393
start: { line: 1, column: 0 },
6394
end: { line: 1, column: 21 }
6395
}
6396
},
6397
range: [0, 21],
6398
loc: {
6399
start: { line: 1, column: 0 },
6400
end: { line: 1, column: 21 }
6401
}
6402
},
6403
6404
'universe(42).galaxies': {
6405
type: 'ExpressionStatement',
6406
expression: {
6407
type: 'MemberExpression',
6408
computed: false,
6409
object: {
6410
type: 'CallExpression',
6411
callee: {
6412
type: 'Identifier',
6413
name: 'universe',
6414
range: [0, 8],
6415
loc: {
6416
start: { line: 1, column: 0 },
6417
end: { line: 1, column: 8 }
6418
}
6419
},
6420
'arguments': [{
6421
type: 'Literal',
6422
value: 42,
6423
raw: '42',
6424
range: [9, 11],
6425
loc: {
6426
start: { line: 1, column: 9 },
6427
end: { line: 1, column: 11 }
6428
}
6429
}],
6430
range: [0, 12],
6431
loc: {
6432
start: { line: 1, column: 0 },
6433
end: { line: 1, column: 12 }
6434
}
6435
},
6436
property: {
6437
type: 'Identifier',
6438
name: 'galaxies',
6439
range: [13, 21],
6440
loc: {
6441
start: { line: 1, column: 13 },
6442
end: { line: 1, column: 21 }
6443
}
6444
},
6445
range: [0, 21],
6446
loc: {
6447
start: { line: 1, column: 0 },
6448
end: { line: 1, column: 21 }
6449
}
6450
},
6451
range: [0, 21],
6452
loc: {
6453
start: { line: 1, column: 0 },
6454
end: { line: 1, column: 21 }
6455
}
6456
},
6457
6458
'universe(42).galaxies(14, 3, 77).milkyway': {
6459
type: 'ExpressionStatement',
6460
expression: {
6461
type: 'MemberExpression',
6462
computed: false,
6463
object: {
6464
type: 'CallExpression',
6465
callee: {
6466
type: 'MemberExpression',
6467
computed: false,
6468
object: {
6469
type: 'CallExpression',
6470
callee: {
6471
type: 'Identifier',
6472
name: 'universe',
6473
range: [0, 8],
6474
loc: {
6475
start: { line: 1, column: 0 },
6476
end: { line: 1, column: 8 }
6477
}
6478
},
6479
'arguments': [{
6480
type: 'Literal',
6481
value: 42,
6482
raw: '42',
6483
range: [9, 11],
6484
loc: {
6485
start: { line: 1, column: 9 },
6486
end: { line: 1, column: 11 }
6487
}
6488
}],
6489
range: [0, 12],
6490
loc: {
6491
start: { line: 1, column: 0 },
6492
end: { line: 1, column: 12 }
6493
}
6494
},
6495
property: {
6496
type: 'Identifier',
6497
name: 'galaxies',
6498
range: [13, 21],
6499
loc: {
6500
start: { line: 1, column: 13 },
6501
end: { line: 1, column: 21 }
6502
}
6503
},
6504
range: [0, 21],
6505
loc: {
6506
start: { line: 1, column: 0 },
6507
end: { line: 1, column: 21 }
6508
}
6509
},
6510
'arguments': [{
6511
type: 'Literal',
6512
value: 14,
6513
raw: '14',
6514
range: [22, 24],
6515
loc: {
6516
start: { line: 1, column: 22 },
6517
end: { line: 1, column: 24 }
6518
}
6519
}, {
6520
type: 'Literal',
6521
value: 3,
6522
raw: '3',
6523
range: [26, 27],
6524
loc: {
6525
start: { line: 1, column: 26 },
6526
end: { line: 1, column: 27 }
6527
}
6528
}, {
6529
type: 'Literal',
6530
value: 77,
6531
raw: '77',
6532
range: [29, 31],
6533
loc: {
6534
start: { line: 1, column: 29 },
6535
end: { line: 1, column: 31 }
6536
}
6537
}],
6538
range: [0, 32],
6539
loc: {
6540
start: { line: 1, column: 0 },
6541
end: { line: 1, column: 32 }
6542
}
6543
},
6544
property: {
6545
type: 'Identifier',
6546
name: 'milkyway',
6547
range: [33, 41],
6548
loc: {
6549
start: { line: 1, column: 33 },
6550
end: { line: 1, column: 41 }
6551
}
6552
},
6553
range: [0, 41],
6554
loc: {
6555
start: { line: 1, column: 0 },
6556
end: { line: 1, column: 41 }
6557
}
6558
},
6559
range: [0, 41],
6560
loc: {
6561
start: { line: 1, column: 0 },
6562
end: { line: 1, column: 41 }
6563
}
6564
},
6565
6566
'earth.asia.Indonesia.prepareForElection(2014)': {
6567
type: 'ExpressionStatement',
6568
expression: {
6569
type: 'CallExpression',
6570
callee: {
6571
type: 'MemberExpression',
6572
computed: false,
6573
object: {
6574
type: 'MemberExpression',
6575
computed: false,
6576
object: {
6577
type: 'MemberExpression',
6578
computed: false,
6579
object: {
6580
type: 'Identifier',
6581
name: 'earth',
6582
range: [0, 5],
6583
loc: {
6584
start: { line: 1, column: 0 },
6585
end: { line: 1, column: 5 }
6586
}
6587
},
6588
property: {
6589
type: 'Identifier',
6590
name: 'asia',
6591
range: [6, 10],
6592
loc: {
6593
start: { line: 1, column: 6 },
6594
end: { line: 1, column: 10 }
6595
}
6596
},
6597
range: [0, 10],
6598
loc: {
6599
start: { line: 1, column: 0 },
6600
end: { line: 1, column: 10 }
6601
}
6602
},
6603
property: {
6604
type: 'Identifier',
6605
name: 'Indonesia',
6606
range: [11, 20],
6607
loc: {
6608
start: { line: 1, column: 11 },
6609
end: { line: 1, column: 20 }
6610
}
6611
},
6612
range: [0, 20],
6613
loc: {
6614
start: { line: 1, column: 0 },
6615
end: { line: 1, column: 20 }
6616
}
6617
},
6618
property: {
6619
type: 'Identifier',
6620
name: 'prepareForElection',
6621
range: [21, 39],
6622
loc: {
6623
start: { line: 1, column: 21 },
6624
end: { line: 1, column: 39 }
6625
}
6626
},
6627
range: [0, 39],
6628
loc: {
6629
start: { line: 1, column: 0 },
6630
end: { line: 1, column: 39 }
6631
}
6632
},
6633
'arguments': [{
6634
type: 'Literal',
6635
value: 2014,
6636
raw: '2014',
6637
range: [40, 44],
6638
loc: {
6639
start: { line: 1, column: 40 },
6640
end: { line: 1, column: 44 }
6641
}
6642
}],
6643
range: [0, 45],
6644
loc: {
6645
start: { line: 1, column: 0 },
6646
end: { line: 1, column: 45 }
6647
}
6648
},
6649
range: [0, 45],
6650
loc: {
6651
start: { line: 1, column: 0 },
6652
end: { line: 1, column: 45 }
6653
}
6654
},
6655
6656
'universe.if': {
6657
type: 'ExpressionStatement',
6658
expression: {
6659
type: 'MemberExpression',
6660
computed: false,
6661
object: {
6662
type: 'Identifier',
6663
name: 'universe',
6664
range: [0, 8],
6665
loc: {
6666
start: { line: 1, column: 0 },
6667
end: { line: 1, column: 8 }
6668
}
6669
},
6670
property: {
6671
type: 'Identifier',
6672
name: 'if',
6673
range: [9, 11],
6674
loc: {
6675
start: { line: 1, column: 9 },
6676
end: { line: 1, column: 11 }
6677
}
6678
},
6679
range: [0, 11],
6680
loc: {
6681
start: { line: 1, column: 0 },
6682
end: { line: 1, column: 11 }
6683
}
6684
},
6685
range: [0, 11],
6686
loc: {
6687
start: { line: 1, column: 0 },
6688
end: { line: 1, column: 11 }
6689
}
6690
},
6691
6692
'universe.true': {
6693
type: 'ExpressionStatement',
6694
expression: {
6695
type: 'MemberExpression',
6696
computed: false,
6697
object: {
6698
type: 'Identifier',
6699
name: 'universe',
6700
range: [0, 8],
6701
loc: {
6702
start: { line: 1, column: 0 },
6703
end: { line: 1, column: 8 }
6704
}
6705
},
6706
property: {
6707
type: 'Identifier',
6708
name: 'true',
6709
range: [9, 13],
6710
loc: {
6711
start: { line: 1, column: 9 },
6712
end: { line: 1, column: 13 }
6713
}
6714
},
6715
range: [0, 13],
6716
loc: {
6717
start: { line: 1, column: 0 },
6718
end: { line: 1, column: 13 }
6719
}
6720
},
6721
range: [0, 13],
6722
loc: {
6723
start: { line: 1, column: 0 },
6724
end: { line: 1, column: 13 }
6725
}
6726
},
6727
6728
'universe.false': {
6729
type: 'ExpressionStatement',
6730
expression: {
6731
type: 'MemberExpression',
6732
computed: false,
6733
object: {
6734
type: 'Identifier',
6735
name: 'universe',
6736
range: [0, 8],
6737
loc: {
6738
start: { line: 1, column: 0 },
6739
end: { line: 1, column: 8 }
6740
}
6741
},
6742
property: {
6743
type: 'Identifier',
6744
name: 'false',
6745
range: [9, 14],
6746
loc: {
6747
start: { line: 1, column: 9 },
6748
end: { line: 1, column: 14 }
6749
}
6750
},
6751
range: [0, 14],
6752
loc: {
6753
start: { line: 1, column: 0 },
6754
end: { line: 1, column: 14 }
6755
}
6756
},
6757
range: [0, 14],
6758
loc: {
6759
start: { line: 1, column: 0 },
6760
end: { line: 1, column: 14 }
6761
}
6762
},
6763
6764
'universe.null': {
6765
type: 'ExpressionStatement',
6766
expression: {
6767
type: 'MemberExpression',
6768
computed: false,
6769
object: {
6770
type: 'Identifier',
6771
name: 'universe',
6772
range: [0, 8],
6773
loc: {
6774
start: { line: 1, column: 0 },
6775
end: { line: 1, column: 8 }
6776
}
6777
},
6778
property: {
6779
type: 'Identifier',
6780
name: 'null',
6781
range: [9, 13],
6782
loc: {
6783
start: { line: 1, column: 9 },
6784
end: { line: 1, column: 13 }
6785
}
6786
},
6787
range: [0, 13],
6788
loc: {
6789
start: { line: 1, column: 0 },
6790
end: { line: 1, column: 13 }
6791
}
6792
},
6793
range: [0, 13],
6794
loc: {
6795
start: { line: 1, column: 0 },
6796
end: { line: 1, column: 13 }
6797
}
6798
}
6799
6800
},
6801
6802
'Postfix Expressions': {
6803
6804
'x++': {
6805
type: 'ExpressionStatement',
6806
expression: {
6807
type: 'UpdateExpression',
6808
operator: '++',
6809
argument: {
6810
type: 'Identifier',
6811
name: 'x',
6812
range: [0, 1],
6813
loc: {
6814
start: { line: 1, column: 0 },
6815
end: { line: 1, column: 1 }
6816
}
6817
},
6818
prefix: false,
6819
range: [0, 3],
6820
loc: {
6821
start: { line: 1, column: 0 },
6822
end: { line: 1, column: 3 }
6823
}
6824
},
6825
range: [0, 3],
6826
loc: {
6827
start: { line: 1, column: 0 },
6828
end: { line: 1, column: 3 }
6829
}
6830
},
6831
6832
'x--': {
6833
type: 'ExpressionStatement',
6834
expression: {
6835
type: 'UpdateExpression',
6836
operator: '--',
6837
argument: {
6838
type: 'Identifier',
6839
name: 'x',
6840
range: [0, 1],
6841
loc: {
6842
start: { line: 1, column: 0 },
6843
end: { line: 1, column: 1 }
6844
}
6845
},
6846
prefix: false,
6847
range: [0, 3],
6848
loc: {
6849
start: { line: 1, column: 0 },
6850
end: { line: 1, column: 3 }
6851
}
6852
},
6853
range: [0, 3],
6854
loc: {
6855
start: { line: 1, column: 0 },
6856
end: { line: 1, column: 3 }
6857
}
6858
},
6859
6860
'eval++': {
6861
type: 'ExpressionStatement',
6862
expression: {
6863
type: 'UpdateExpression',
6864
operator: '++',
6865
argument: {
6866
type: 'Identifier',
6867
name: 'eval',
6868
range: [0, 4],
6869
loc: {
6870
start: { line: 1, column: 0 },
6871
end: { line: 1, column: 4 }
6872
}
6873
},
6874
prefix: false,
6875
range: [0, 6],
6876
loc: {
6877
start: { line: 1, column: 0 },
6878
end: { line: 1, column: 6 }
6879
}
6880
},
6881
range: [0, 6],
6882
loc: {
6883
start: { line: 1, column: 0 },
6884
end: { line: 1, column: 6 }
6885
}
6886
},
6887
6888
'eval--': {
6889
type: 'ExpressionStatement',
6890
expression: {
6891
type: 'UpdateExpression',
6892
operator: '--',
6893
argument: {
6894
type: 'Identifier',
6895
name: 'eval',
6896
range: [0, 4],
6897
loc: {
6898
start: { line: 1, column: 0 },
6899
end: { line: 1, column: 4 }
6900
}
6901
},
6902
prefix: false,
6903
range: [0, 6],
6904
loc: {
6905
start: { line: 1, column: 0 },
6906
end: { line: 1, column: 6 }
6907
}
6908
},
6909
range: [0, 6],
6910
loc: {
6911
start: { line: 1, column: 0 },
6912
end: { line: 1, column: 6 }
6913
}
6914
},
6915
6916
'arguments++': {
6917
type: 'ExpressionStatement',
6918
expression: {
6919
type: 'UpdateExpression',
6920
operator: '++',
6921
argument: {
6922
type: 'Identifier',
6923
name: 'arguments',
6924
range: [0, 9],
6925
loc: {
6926
start: { line: 1, column: 0 },
6927
end: { line: 1, column: 9 }
6928
}
6929
},
6930
prefix: false,
6931
range: [0, 11],
6932
loc: {
6933
start: { line: 1, column: 0 },
6934
end: { line: 1, column: 11 }
6935
}
6936
},
6937
range: [0, 11],
6938
loc: {
6939
start: { line: 1, column: 0 },
6940
end: { line: 1, column: 11 }
6941
}
6942
},
6943
6944
'arguments--': {
6945
type: 'ExpressionStatement',
6946
expression: {
6947
type: 'UpdateExpression',
6948
operator: '--',
6949
argument: {
6950
type: 'Identifier',
6951
name: 'arguments',
6952
range: [0, 9],
6953
loc: {
6954
start: { line: 1, column: 0 },
6955
end: { line: 1, column: 9 }
6956
}
6957
},
6958
prefix: false,
6959
range: [0, 11],
6960
loc: {
6961
start: { line: 1, column: 0 },
6962
end: { line: 1, column: 11 }
6963
}
6964
},
6965
range: [0, 11],
6966
loc: {
6967
start: { line: 1, column: 0 },
6968
end: { line: 1, column: 11 }
6969
}
6970
}
6971
6972
},
6973
6974
'Unary Operators': {
6975
6976
'++x': {
6977
type: 'ExpressionStatement',
6978
expression: {
6979
type: 'UpdateExpression',
6980
operator: '++',
6981
argument: {
6982
type: 'Identifier',
6983
name: 'x',
6984
range: [2, 3],
6985
loc: {
6986
start: { line: 1, column: 2 },
6987
end: { line: 1, column: 3 }
6988
}
6989
},
6990
prefix: true,
6991
range: [0, 3],
6992
loc: {
6993
start: { line: 1, column: 0 },
6994
end: { line: 1, column: 3 }
6995
}
6996
},
6997
range: [0, 3],
6998
loc: {
6999
start: { line: 1, column: 0 },
7000
end: { line: 1, column: 3 }
7001
}
7002
},
7003
7004
'--x': {
7005
type: 'ExpressionStatement',
7006
expression: {
7007
type: 'UpdateExpression',
7008
operator: '--',
7009
argument: {
7010
type: 'Identifier',
7011
name: 'x',
7012
range: [2, 3],
7013
loc: {
7014
start: { line: 1, column: 2 },
7015
end: { line: 1, column: 3 }
7016
}
7017
},
7018
prefix: true,
7019
range: [0, 3],
7020
loc: {
7021
start: { line: 1, column: 0 },
7022
end: { line: 1, column: 3 }
7023
}
7024
},
7025
range: [0, 3],
7026
loc: {
7027
start: { line: 1, column: 0 },
7028
end: { line: 1, column: 3 }
7029
}
7030
},
7031
7032
'++eval': {
7033
type: 'ExpressionStatement',
7034
expression: {
7035
type: 'UpdateExpression',
7036
operator: '++',
7037
argument: {
7038
type: 'Identifier',
7039
name: 'eval',
7040
range: [2, 6],
7041
loc: {
7042
start: { line: 1, column: 2 },
7043
end: { line: 1, column: 6 }
7044
}
7045
},
7046
prefix: true,
7047
range: [0, 6],
7048
loc: {
7049
start: { line: 1, column: 0 },
7050
end: { line: 1, column: 6 }
7051
}
7052
},
7053
range: [0, 6],
7054
loc: {
7055
start: { line: 1, column: 0 },
7056
end: { line: 1, column: 6 }
7057
}
7058
},
7059
7060
'--eval': {
7061
type: 'ExpressionStatement',
7062
expression: {
7063
type: 'UpdateExpression',
7064
operator: '--',
7065
argument: {
7066
type: 'Identifier',
7067
name: 'eval',
7068
range: [2, 6],
7069
loc: {
7070
start: { line: 1, column: 2 },
7071
end: { line: 1, column: 6 }
7072
}
7073
},
7074
prefix: true,
7075
range: [0, 6],
7076
loc: {
7077
start: { line: 1, column: 0 },
7078
end: { line: 1, column: 6 }
7079
}
7080
},
7081
range: [0, 6],
7082
loc: {
7083
start: { line: 1, column: 0 },
7084
end: { line: 1, column: 6 }
7085
}
7086
},
7087
7088
'++arguments': {
7089
type: 'ExpressionStatement',
7090
expression: {
7091
type: 'UpdateExpression',
7092
operator: '++',
7093
argument: {
7094
type: 'Identifier',
7095
name: 'arguments',
7096
range: [2, 11],
7097
loc: {
7098
start: { line: 1, column: 2 },
7099
end: { line: 1, column: 11 }
7100
}
7101
},
7102
prefix: true,
7103
range: [0, 11],
7104
loc: {
7105
start: { line: 1, column: 0 },
7106
end: { line: 1, column: 11 }
7107
}
7108
},
7109
range: [0, 11],
7110
loc: {
7111
start: { line: 1, column: 0 },
7112
end: { line: 1, column: 11 }
7113
}
7114
},
7115
7116
'--arguments': {
7117
type: 'ExpressionStatement',
7118
expression: {
7119
type: 'UpdateExpression',
7120
operator: '--',
7121
argument: {
7122
type: 'Identifier',
7123
name: 'arguments',
7124
range: [2, 11],
7125
loc: {
7126
start: { line: 1, column: 2 },
7127
end: { line: 1, column: 11 }
7128
}
7129
},
7130
prefix: true,
7131
range: [0, 11],
7132
loc: {
7133
start: { line: 1, column: 0 },
7134
end: { line: 1, column: 11 }
7135
}
7136
},
7137
range: [0, 11],
7138
loc: {
7139
start: { line: 1, column: 0 },
7140
end: { line: 1, column: 11 }
7141
}
7142
},
7143
7144
'+x': {
7145
type: 'ExpressionStatement',
7146
expression: {
7147
type: 'UnaryExpression',
7148
operator: '+',
7149
argument: {
7150
type: 'Identifier',
7151
name: 'x',
7152
range: [1, 2],
7153
loc: {
7154
start: { line: 1, column: 1 },
7155
end: { line: 1, column: 2 }
7156
}
7157
},
7158
prefix: true,
7159
range: [0, 2],
7160
loc: {
7161
start: { line: 1, column: 0 },
7162
end: { line: 1, column: 2 }
7163
}
7164
},
7165
range: [0, 2],
7166
loc: {
7167
start: { line: 1, column: 0 },
7168
end: { line: 1, column: 2 }
7169
}
7170
},
7171
7172
'-x': {
7173
type: 'ExpressionStatement',
7174
expression: {
7175
type: 'UnaryExpression',
7176
operator: '-',
7177
argument: {
7178
type: 'Identifier',
7179
name: 'x',
7180
range: [1, 2],
7181
loc: {
7182
start: { line: 1, column: 1 },
7183
end: { line: 1, column: 2 }
7184
}
7185
},
7186
prefix: true,
7187
range: [0, 2],
7188
loc: {
7189
start: { line: 1, column: 0 },
7190
end: { line: 1, column: 2 }
7191
}
7192
},
7193
range: [0, 2],
7194
loc: {
7195
start: { line: 1, column: 0 },
7196
end: { line: 1, column: 2 }
7197
}
7198
},
7199
7200
'~x': {
7201
type: 'ExpressionStatement',
7202
expression: {
7203
type: 'UnaryExpression',
7204
operator: '~',
7205
argument: {
7206
type: 'Identifier',
7207
name: 'x',
7208
range: [1, 2],
7209
loc: {
7210
start: { line: 1, column: 1 },
7211
end: { line: 1, column: 2 }
7212
}
7213
},
7214
prefix: true,
7215
range: [0, 2],
7216
loc: {
7217
start: { line: 1, column: 0 },
7218
end: { line: 1, column: 2 }
7219
}
7220
},
7221
range: [0, 2],
7222
loc: {
7223
start: { line: 1, column: 0 },
7224
end: { line: 1, column: 2 }
7225
}
7226
},
7227
7228
'!x': {
7229
type: 'ExpressionStatement',
7230
expression: {
7231
type: 'UnaryExpression',
7232
operator: '!',
7233
argument: {
7234
type: 'Identifier',
7235
name: 'x',
7236
range: [1, 2],
7237
loc: {
7238
start: { line: 1, column: 1 },
7239
end: { line: 1, column: 2 }
7240
}
7241
},
7242
prefix: true,
7243
range: [0, 2],
7244
loc: {
7245
start: { line: 1, column: 0 },
7246
end: { line: 1, column: 2 }
7247
}
7248
},
7249
range: [0, 2],
7250
loc: {
7251
start: { line: 1, column: 0 },
7252
end: { line: 1, column: 2 }
7253
}
7254
},
7255
7256
'void x': {
7257
type: 'ExpressionStatement',
7258
expression: {
7259
type: 'UnaryExpression',
7260
operator: 'void',
7261
argument: {
7262
type: 'Identifier',
7263
name: 'x',
7264
range: [5, 6],
7265
loc: {
7266
start: { line: 1, column: 5 },
7267
end: { line: 1, column: 6 }
7268
}
7269
},
7270
prefix: true,
7271
range: [0, 6],
7272
loc: {
7273
start: { line: 1, column: 0 },
7274
end: { line: 1, column: 6 }
7275
}
7276
},
7277
range: [0, 6],
7278
loc: {
7279
start: { line: 1, column: 0 },
7280
end: { line: 1, column: 6 }
7281
}
7282
},
7283
7284
'delete x': {
7285
type: 'ExpressionStatement',
7286
expression: {
7287
type: 'UnaryExpression',
7288
operator: 'delete',
7289
argument: {
7290
type: 'Identifier',
7291
name: 'x',
7292
range: [7, 8],
7293
loc: {
7294
start: { line: 1, column: 7 },
7295
end: { line: 1, column: 8 }
7296
}
7297
},
7298
prefix: true,
7299
range: [0, 8],
7300
loc: {
7301
start: { line: 1, column: 0 },
7302
end: { line: 1, column: 8 }
7303
}
7304
},
7305
range: [0, 8],
7306
loc: {
7307
start: { line: 1, column: 0 },
7308
end: { line: 1, column: 8 }
7309
}
7310
},
7311
7312
'typeof x': {
7313
type: 'ExpressionStatement',
7314
expression: {
7315
type: 'UnaryExpression',
7316
operator: 'typeof',
7317
argument: {
7318
type: 'Identifier',
7319
name: 'x',
7320
range: [7, 8],
7321
loc: {
7322
start: { line: 1, column: 7 },
7323
end: { line: 1, column: 8 }
7324
}
7325
},
7326
prefix: true,
7327
range: [0, 8],
7328
loc: {
7329
start: { line: 1, column: 0 },
7330
end: { line: 1, column: 8 }
7331
}
7332
},
7333
range: [0, 8],
7334
loc: {
7335
start: { line: 1, column: 0 },
7336
end: { line: 1, column: 8 }
7337
}
7338
}
7339
7340
},
7341
7342
'Multiplicative Operators': {
7343
7344
'x * y': {
7345
type: 'ExpressionStatement',
7346
expression: {
7347
type: 'BinaryExpression',
7348
operator: '*',
7349
left: {
7350
type: 'Identifier',
7351
name: 'x',
7352
range: [0, 1],
7353
loc: {
7354
start: { line: 1, column: 0 },
7355
end: { line: 1, column: 1 }
7356
}
7357
},
7358
right: {
7359
type: 'Identifier',
7360
name: 'y',
7361
range: [4, 5],
7362
loc: {
7363
start: { line: 1, column: 4 },
7364
end: { line: 1, column: 5 }
7365
}
7366
},
7367
range: [0, 5],
7368
loc: {
7369
start: { line: 1, column: 0 },
7370
end: { line: 1, column: 5 }
7371
}
7372
},
7373
range: [0, 5],
7374
loc: {
7375
start: { line: 1, column: 0 },
7376
end: { line: 1, column: 5 }
7377
}
7378
},
7379
7380
'x / y': {
7381
type: 'ExpressionStatement',
7382
expression: {
7383
type: 'BinaryExpression',
7384
operator: '/',
7385
left: {
7386
type: 'Identifier',
7387
name: 'x',
7388
range: [0, 1],
7389
loc: {
7390
start: { line: 1, column: 0 },
7391
end: { line: 1, column: 1 }
7392
}
7393
},
7394
right: {
7395
type: 'Identifier',
7396
name: 'y',
7397
range: [4, 5],
7398
loc: {
7399
start: { line: 1, column: 4 },
7400
end: { line: 1, column: 5 }
7401
}
7402
},
7403
range: [0, 5],
7404
loc: {
7405
start: { line: 1, column: 0 },
7406
end: { line: 1, column: 5 }
7407
}
7408
},
7409
range: [0, 5],
7410
loc: {
7411
start: { line: 1, column: 0 },
7412
end: { line: 1, column: 5 }
7413
}
7414
},
7415
7416
'x % y': {
7417
type: 'ExpressionStatement',
7418
expression: {
7419
type: 'BinaryExpression',
7420
operator: '%',
7421
left: {
7422
type: 'Identifier',
7423
name: 'x',
7424
range: [0, 1],
7425
loc: {
7426
start: { line: 1, column: 0 },
7427
end: { line: 1, column: 1 }
7428
}
7429
},
7430
right: {
7431
type: 'Identifier',
7432
name: 'y',
7433
range: [4, 5],
7434
loc: {
7435
start: { line: 1, column: 4 },
7436
end: { line: 1, column: 5 }
7437
}
7438
},
7439
range: [0, 5],
7440
loc: {
7441
start: { line: 1, column: 0 },
7442
end: { line: 1, column: 5 }
7443
}
7444
},
7445
range: [0, 5],
7446
loc: {
7447
start: { line: 1, column: 0 },
7448
end: { line: 1, column: 5 }
7449
}
7450
}
7451
7452
},
7453
7454
'Additive Operators': {
7455
7456
'x + y': {
7457
type: 'ExpressionStatement',
7458
expression: {
7459
type: 'BinaryExpression',
7460
operator: '+',
7461
left: {
7462
type: 'Identifier',
7463
name: 'x',
7464
range: [0, 1],
7465
loc: {
7466
start: { line: 1, column: 0 },
7467
end: { line: 1, column: 1 }
7468
}
7469
},
7470
right: {
7471
type: 'Identifier',
7472
name: 'y',
7473
range: [4, 5],
7474
loc: {
7475
start: { line: 1, column: 4 },
7476
end: { line: 1, column: 5 }
7477
}
7478
},
7479
range: [0, 5],
7480
loc: {
7481
start: { line: 1, column: 0 },
7482
end: { line: 1, column: 5 }
7483
}
7484
},
7485
range: [0, 5],
7486
loc: {
7487
start: { line: 1, column: 0 },
7488
end: { line: 1, column: 5 }
7489
}
7490
},
7491
7492
'x - y': {
7493
type: 'ExpressionStatement',
7494
expression: {
7495
type: 'BinaryExpression',
7496
operator: '-',
7497
left: {
7498
type: 'Identifier',
7499
name: 'x',
7500
range: [0, 1],
7501
loc: {
7502
start: { line: 1, column: 0 },
7503
end: { line: 1, column: 1 }
7504
}
7505
},
7506
right: {
7507
type: 'Identifier',
7508
name: 'y',
7509
range: [4, 5],
7510
loc: {
7511
start: { line: 1, column: 4 },
7512
end: { line: 1, column: 5 }
7513
}
7514
},
7515
range: [0, 5],
7516
loc: {
7517
start: { line: 1, column: 0 },
7518
end: { line: 1, column: 5 }
7519
}
7520
},
7521
range: [0, 5],
7522
loc: {
7523
start: { line: 1, column: 0 },
7524
end: { line: 1, column: 5 }
7525
}
7526
},
7527
7528
'"use strict" + 42': {
7529
type: 'ExpressionStatement',
7530
expression: {
7531
type: 'BinaryExpression',
7532
operator: '+',
7533
left: {
7534
type: 'Literal',
7535
value: 'use strict',
7536
raw: '"use strict"',
7537
range: [0, 12],
7538
loc: {
7539
start: { line: 1, column: 0 },
7540
end: { line: 1, column: 12 }
7541
}
7542
},
7543
right: {
7544
type: 'Literal',
7545
value: 42,
7546
raw: '42',
7547
range: [15, 17],
7548
loc: {
7549
start: { line: 1, column: 15 },
7550
end: { line: 1, column: 17 }
7551
}
7552
},
7553
range: [0, 17],
7554
loc: {
7555
start: { line: 1, column: 0 },
7556
end: { line: 1, column: 17 }
7557
}
7558
},
7559
range: [0, 17],
7560
loc: {
7561
start: { line: 1, column: 0 },
7562
end: { line: 1, column: 17 }
7563
}
7564
}
7565
7566
},
7567
7568
'Bitwise Shift Operator': {
7569
7570
'x << y': {
7571
type: 'ExpressionStatement',
7572
expression: {
7573
type: 'BinaryExpression',
7574
operator: '<<',
7575
left: {
7576
type: 'Identifier',
7577
name: 'x',
7578
range: [0, 1],
7579
loc: {
7580
start: { line: 1, column: 0 },
7581
end: { line: 1, column: 1 }
7582
}
7583
},
7584
right: {
7585
type: 'Identifier',
7586
name: 'y',
7587
range: [5, 6],
7588
loc: {
7589
start: { line: 1, column: 5 },
7590
end: { line: 1, column: 6 }
7591
}
7592
},
7593
range: [0, 6],
7594
loc: {
7595
start: { line: 1, column: 0 },
7596
end: { line: 1, column: 6 }
7597
}
7598
},
7599
range: [0, 6],
7600
loc: {
7601
start: { line: 1, column: 0 },
7602
end: { line: 1, column: 6 }
7603
}
7604
},
7605
7606
'x >> y': {
7607
type: 'ExpressionStatement',
7608
expression: {
7609
type: 'BinaryExpression',
7610
operator: '>>',
7611
left: {
7612
type: 'Identifier',
7613
name: 'x',
7614
range: [0, 1],
7615
loc: {
7616
start: { line: 1, column: 0 },
7617
end: { line: 1, column: 1 }
7618
}
7619
},
7620
right: {
7621
type: 'Identifier',
7622
name: 'y',
7623
range: [5, 6],
7624
loc: {
7625
start: { line: 1, column: 5 },
7626
end: { line: 1, column: 6 }
7627
}
7628
},
7629
range: [0, 6],
7630
loc: {
7631
start: { line: 1, column: 0 },
7632
end: { line: 1, column: 6 }
7633
}
7634
},
7635
range: [0, 6],
7636
loc: {
7637
start: { line: 1, column: 0 },
7638
end: { line: 1, column: 6 }
7639
}
7640
},
7641
7642
'x >>> y': {
7643
type: 'ExpressionStatement',
7644
expression: {
7645
type: 'BinaryExpression',
7646
operator: '>>>',
7647
left: {
7648
type: 'Identifier',
7649
name: 'x',
7650
range: [0, 1],
7651
loc: {
7652
start: { line: 1, column: 0 },
7653
end: { line: 1, column: 1 }
7654
}
7655
},
7656
right: {
7657
type: 'Identifier',
7658
name: 'y',
7659
range: [6, 7],
7660
loc: {
7661
start: { line: 1, column: 6 },
7662
end: { line: 1, column: 7 }
7663
}
7664
},
7665
range: [0, 7],
7666
loc: {
7667
start: { line: 1, column: 0 },
7668
end: { line: 1, column: 7 }
7669
}
7670
},
7671
range: [0, 7],
7672
loc: {
7673
start: { line: 1, column: 0 },
7674
end: { line: 1, column: 7 }
7675
}
7676
}
7677
7678
},
7679
7680
'Relational Operators': {
7681
7682
'x < y': {
7683
type: 'ExpressionStatement',
7684
expression: {
7685
type: 'BinaryExpression',
7686
operator: '<',
7687
left: {
7688
type: 'Identifier',
7689
name: 'x',
7690
range: [0, 1],
7691
loc: {
7692
start: { line: 1, column: 0 },
7693
end: { line: 1, column: 1 }
7694
}
7695
},
7696
right: {
7697
type: 'Identifier',
7698
name: 'y',
7699
range: [4, 5],
7700
loc: {
7701
start: { line: 1, column: 4 },
7702
end: { line: 1, column: 5 }
7703
}
7704
},
7705
range: [0, 5],
7706
loc: {
7707
start: { line: 1, column: 0 },
7708
end: { line: 1, column: 5 }
7709
}
7710
},
7711
range: [0, 5],
7712
loc: {
7713
start: { line: 1, column: 0 },
7714
end: { line: 1, column: 5 }
7715
}
7716
},
7717
7718
'x > y': {
7719
type: 'ExpressionStatement',
7720
expression: {
7721
type: 'BinaryExpression',
7722
operator: '>',
7723
left: {
7724
type: 'Identifier',
7725
name: 'x',
7726
range: [0, 1],
7727
loc: {
7728
start: { line: 1, column: 0 },
7729
end: { line: 1, column: 1 }
7730
}
7731
},
7732
right: {
7733
type: 'Identifier',
7734
name: 'y',
7735
range: [4, 5],
7736
loc: {
7737
start: { line: 1, column: 4 },
7738
end: { line: 1, column: 5 }
7739
}
7740
},
7741
range: [0, 5],
7742
loc: {
7743
start: { line: 1, column: 0 },
7744
end: { line: 1, column: 5 }
7745
}
7746
},
7747
range: [0, 5],
7748
loc: {
7749
start: { line: 1, column: 0 },
7750
end: { line: 1, column: 5 }
7751
}
7752
},
7753
7754
'x <= y': {
7755
type: 'ExpressionStatement',
7756
expression: {
7757
type: 'BinaryExpression',
7758
operator: '<=',
7759
left: {
7760
type: 'Identifier',
7761
name: 'x',
7762
range: [0, 1],
7763
loc: {
7764
start: { line: 1, column: 0 },
7765
end: { line: 1, column: 1 }
7766
}
7767
},
7768
right: {
7769
type: 'Identifier',
7770
name: 'y',
7771
range: [5, 6],
7772
loc: {
7773
start: { line: 1, column: 5 },
7774
end: { line: 1, column: 6 }
7775
}
7776
},
7777
range: [0, 6],
7778
loc: {
7779
start: { line: 1, column: 0 },
7780
end: { line: 1, column: 6 }
7781
}
7782
},
7783
range: [0, 6],
7784
loc: {
7785
start: { line: 1, column: 0 },
7786
end: { line: 1, column: 6 }
7787
}
7788
},
7789
7790
'x >= y': {
7791
type: 'ExpressionStatement',
7792
expression: {
7793
type: 'BinaryExpression',
7794
operator: '>=',
7795
left: {
7796
type: 'Identifier',
7797
name: 'x',
7798
range: [0, 1],
7799
loc: {
7800
start: { line: 1, column: 0 },
7801
end: { line: 1, column: 1 }
7802
}
7803
},
7804
right: {
7805
type: 'Identifier',
7806
name: 'y',
7807
range: [5, 6],
7808
loc: {
7809
start: { line: 1, column: 5 },
7810
end: { line: 1, column: 6 }
7811
}
7812
},
7813
range: [0, 6],
7814
loc: {
7815
start: { line: 1, column: 0 },
7816
end: { line: 1, column: 6 }
7817
}
7818
},
7819
range: [0, 6],
7820
loc: {
7821
start: { line: 1, column: 0 },
7822
end: { line: 1, column: 6 }
7823
}
7824
},
7825
7826
'x in y': {
7827
type: 'ExpressionStatement',
7828
expression: {
7829
type: 'BinaryExpression',
7830
operator: 'in',
7831
left: {
7832
type: 'Identifier',
7833
name: 'x',
7834
range: [0, 1],
7835
loc: {
7836
start: { line: 1, column: 0 },
7837
end: { line: 1, column: 1 }
7838
}
7839
},
7840
right: {
7841
type: 'Identifier',
7842
name: 'y',
7843
range: [5, 6],
7844
loc: {
7845
start: { line: 1, column: 5 },
7846
end: { line: 1, column: 6 }
7847
}
7848
},
7849
range: [0, 6],
7850
loc: {
7851
start: { line: 1, column: 0 },
7852
end: { line: 1, column: 6 }
7853
}
7854
},
7855
range: [0, 6],
7856
loc: {
7857
start: { line: 1, column: 0 },
7858
end: { line: 1, column: 6 }
7859
}
7860
},
7861
7862
'x instanceof y': {
7863
type: 'ExpressionStatement',
7864
expression: {
7865
type: 'BinaryExpression',
7866
operator: 'instanceof',
7867
left: {
7868
type: 'Identifier',
7869
name: 'x',
7870
range: [0, 1],
7871
loc: {
7872
start: { line: 1, column: 0 },
7873
end: { line: 1, column: 1 }
7874
}
7875
},
7876
right: {
7877
type: 'Identifier',
7878
name: 'y',
7879
range: [13, 14],
7880
loc: {
7881
start: { line: 1, column: 13 },
7882
end: { line: 1, column: 14 }
7883
}
7884
},
7885
range: [0, 14],
7886
loc: {
7887
start: { line: 1, column: 0 },
7888
end: { line: 1, column: 14 }
7889
}
7890
},
7891
range: [0, 14],
7892
loc: {
7893
start: { line: 1, column: 0 },
7894
end: { line: 1, column: 14 }
7895
}
7896
},
7897
7898
'x < y < z': {
7899
type: 'ExpressionStatement',
7900
expression: {
7901
type: 'BinaryExpression',
7902
operator: '<',
7903
left: {
7904
type: 'BinaryExpression',
7905
operator: '<',
7906
left: {
7907
type: 'Identifier',
7908
name: 'x',
7909
range: [0, 1],
7910
loc: {
7911
start: { line: 1, column: 0 },
7912
end: { line: 1, column: 1 }
7913
}
7914
},
7915
right: {
7916
type: 'Identifier',
7917
name: 'y',
7918
range: [4, 5],
7919
loc: {
7920
start: { line: 1, column: 4 },
7921
end: { line: 1, column: 5 }
7922
}
7923
},
7924
range: [0, 5],
7925
loc: {
7926
start: { line: 1, column: 0 },
7927
end: { line: 1, column: 5 }
7928
}
7929
},
7930
right: {
7931
type: 'Identifier',
7932
name: 'z',
7933
range: [8, 9],
7934
loc: {
7935
start: { line: 1, column: 8 },
7936
end: { line: 1, column: 9 }
7937
}
7938
},
7939
range: [0, 9],
7940
loc: {
7941
start: { line: 1, column: 0 },
7942
end: { line: 1, column: 9 }
7943
}
7944
},
7945
range: [0, 9],
7946
loc: {
7947
start: { line: 1, column: 0 },
7948
end: { line: 1, column: 9 }
7949
}
7950
}
7951
7952
},
7953
7954
'Equality Operators': {
7955
7956
'x == y': {
7957
type: 'ExpressionStatement',
7958
expression: {
7959
type: 'BinaryExpression',
7960
operator: '==',
7961
left: {
7962
type: 'Identifier',
7963
name: 'x',
7964
range: [0, 1],
7965
loc: {
7966
start: { line: 1, column: 0 },
7967
end: { line: 1, column: 1 }
7968
}
7969
},
7970
right: {
7971
type: 'Identifier',
7972
name: 'y',
7973
range: [5, 6],
7974
loc: {
7975
start: { line: 1, column: 5 },
7976
end: { line: 1, column: 6 }
7977
}
7978
},
7979
range: [0, 6],
7980
loc: {
7981
start: { line: 1, column: 0 },
7982
end: { line: 1, column: 6 }
7983
}
7984
},
7985
range: [0, 6],
7986
loc: {
7987
start: { line: 1, column: 0 },
7988
end: { line: 1, column: 6 }
7989
}
7990
},
7991
7992
'x != y': {
7993
type: 'ExpressionStatement',
7994
expression: {
7995
type: 'BinaryExpression',
7996
operator: '!=',
7997
left: {
7998
type: 'Identifier',
7999
name: 'x',
8000
range: [0, 1],
8001
loc: {
8002
start: { line: 1, column: 0 },
8003
end: { line: 1, column: 1 }
8004
}
8005
},
8006
right: {
8007
type: 'Identifier',
8008
name: 'y',
8009
range: [5, 6],
8010
loc: {
8011
start: { line: 1, column: 5 },
8012
end: { line: 1, column: 6 }
8013
}
8014
},
8015
range: [0, 6],
8016
loc: {
8017
start: { line: 1, column: 0 },
8018
end: { line: 1, column: 6 }
8019
}
8020
},
8021
range: [0, 6],
8022
loc: {
8023
start: { line: 1, column: 0 },
8024
end: { line: 1, column: 6 }
8025
}
8026
},
8027
8028
'x === y': {
8029
type: 'ExpressionStatement',
8030
expression: {
8031
type: 'BinaryExpression',
8032
operator: '===',
8033
left: {
8034
type: 'Identifier',
8035
name: 'x',
8036
range: [0, 1],
8037
loc: {
8038
start: { line: 1, column: 0 },
8039
end: { line: 1, column: 1 }
8040
}
8041
},
8042
right: {
8043
type: 'Identifier',
8044
name: 'y',
8045
range: [6, 7],
8046
loc: {
8047
start: { line: 1, column: 6 },
8048
end: { line: 1, column: 7 }
8049
}
8050
},
8051
range: [0, 7],
8052
loc: {
8053
start: { line: 1, column: 0 },
8054
end: { line: 1, column: 7 }
8055
}
8056
},
8057
range: [0, 7],
8058
loc: {
8059
start: { line: 1, column: 0 },
8060
end: { line: 1, column: 7 }
8061
}
8062
},
8063
8064
'x !== y': {
8065
type: 'ExpressionStatement',
8066
expression: {
8067
type: 'BinaryExpression',
8068
operator: '!==',
8069
left: {
8070
type: 'Identifier',
8071
name: 'x',
8072
range: [0, 1],
8073
loc: {
8074
start: { line: 1, column: 0 },
8075
end: { line: 1, column: 1 }
8076
}
8077
},
8078
right: {
8079
type: 'Identifier',
8080
name: 'y',
8081
range: [6, 7],
8082
loc: {
8083
start: { line: 1, column: 6 },
8084
end: { line: 1, column: 7 }
8085
}
8086
},
8087
range: [0, 7],
8088
loc: {
8089
start: { line: 1, column: 0 },
8090
end: { line: 1, column: 7 }
8091
}
8092
},
8093
range: [0, 7],
8094
loc: {
8095
start: { line: 1, column: 0 },
8096
end: { line: 1, column: 7 }
8097
}
8098
}
8099
8100
},
8101
8102
'Binary Bitwise Operators': {
8103
8104
'x & y': {
8105
type: 'ExpressionStatement',
8106
expression: {
8107
type: 'BinaryExpression',
8108
operator: '&',
8109
left: {
8110
type: 'Identifier',
8111
name: 'x',
8112
range: [0, 1],
8113
loc: {
8114
start: { line: 1, column: 0 },
8115
end: { line: 1, column: 1 }
8116
}
8117
},
8118
right: {
8119
type: 'Identifier',
8120
name: 'y',
8121
range: [4, 5],
8122
loc: {
8123
start: { line: 1, column: 4 },
8124
end: { line: 1, column: 5 }
8125
}
8126
},
8127
range: [0, 5],
8128
loc: {
8129
start: { line: 1, column: 0 },
8130
end: { line: 1, column: 5 }
8131
}
8132
},
8133
range: [0, 5],
8134
loc: {
8135
start: { line: 1, column: 0 },
8136
end: { line: 1, column: 5 }
8137
}
8138
},
8139
8140
'x ^ y': {
8141
type: 'ExpressionStatement',
8142
expression: {
8143
type: 'BinaryExpression',
8144
operator: '^',
8145
left: {
8146
type: 'Identifier',
8147
name: 'x',
8148
range: [0, 1],
8149
loc: {
8150
start: { line: 1, column: 0 },
8151
end: { line: 1, column: 1 }
8152
}
8153
},
8154
right: {
8155
type: 'Identifier',
8156
name: 'y',
8157
range: [4, 5],
8158
loc: {
8159
start: { line: 1, column: 4 },
8160
end: { line: 1, column: 5 }
8161
}
8162
},
8163
range: [0, 5],
8164
loc: {
8165
start: { line: 1, column: 0 },
8166
end: { line: 1, column: 5 }
8167
}
8168
},
8169
range: [0, 5],
8170
loc: {
8171
start: { line: 1, column: 0 },
8172
end: { line: 1, column: 5 }
8173
}
8174
},
8175
8176
'x | y': {
8177
type: 'ExpressionStatement',
8178
expression: {
8179
type: 'BinaryExpression',
8180
operator: '|',
8181
left: {
8182
type: 'Identifier',
8183
name: 'x',
8184
range: [0, 1],
8185
loc: {
8186
start: { line: 1, column: 0 },
8187
end: { line: 1, column: 1 }
8188
}
8189
},
8190
right: {
8191
type: 'Identifier',
8192
name: 'y',
8193
range: [4, 5],
8194
loc: {
8195
start: { line: 1, column: 4 },
8196
end: { line: 1, column: 5 }
8197
}
8198
},
8199
range: [0, 5],
8200
loc: {
8201
start: { line: 1, column: 0 },
8202
end: { line: 1, column: 5 }
8203
}
8204
},
8205
range: [0, 5],
8206
loc: {
8207
start: { line: 1, column: 0 },
8208
end: { line: 1, column: 5 }
8209
}
8210
}
8211
8212
},
8213
8214
'Binary Expressions': {
8215
8216
'x + y + z': {
8217
type: 'ExpressionStatement',
8218
expression: {
8219
type: 'BinaryExpression',
8220
operator: '+',
8221
left: {
8222
type: 'BinaryExpression',
8223
operator: '+',
8224
left: {
8225
type: 'Identifier',
8226
name: 'x',
8227
range: [0, 1],
8228
loc: {
8229
start: { line: 1, column: 0 },
8230
end: { line: 1, column: 1 }
8231
}
8232
},
8233
right: {
8234
type: 'Identifier',
8235
name: 'y',
8236
range: [4, 5],
8237
loc: {
8238
start: { line: 1, column: 4 },
8239
end: { line: 1, column: 5 }
8240
}
8241
},
8242
range: [0, 5],
8243
loc: {
8244
start: { line: 1, column: 0 },
8245
end: { line: 1, column: 5 }
8246
}
8247
},
8248
right: {
8249
type: 'Identifier',
8250
name: 'z',
8251
range: [8, 9],
8252
loc: {
8253
start: { line: 1, column: 8 },
8254
end: { line: 1, column: 9 }
8255
}
8256
},
8257
range: [0, 9],
8258
loc: {
8259
start: { line: 1, column: 0 },
8260
end: { line: 1, column: 9 }
8261
}
8262
},
8263
range: [0, 9],
8264
loc: {
8265
start: { line: 1, column: 0 },
8266
end: { line: 1, column: 9 }
8267
}
8268
},
8269
8270
'x - y + z': {
8271
type: 'ExpressionStatement',
8272
expression: {
8273
type: 'BinaryExpression',
8274
operator: '+',
8275
left: {
8276
type: 'BinaryExpression',
8277
operator: '-',
8278
left: {
8279
type: 'Identifier',
8280
name: 'x',
8281
range: [0, 1],
8282
loc: {
8283
start: { line: 1, column: 0 },
8284
end: { line: 1, column: 1 }
8285
}
8286
},
8287
right: {
8288
type: 'Identifier',
8289
name: 'y',
8290
range: [4, 5],
8291
loc: {
8292
start: { line: 1, column: 4 },
8293
end: { line: 1, column: 5 }
8294
}
8295
},
8296
range: [0, 5],
8297
loc: {
8298
start: { line: 1, column: 0 },
8299
end: { line: 1, column: 5 }
8300
}
8301
},
8302
right: {
8303
type: 'Identifier',
8304
name: 'z',
8305
range: [8, 9],
8306
loc: {
8307
start: { line: 1, column: 8 },
8308
end: { line: 1, column: 9 }
8309
}
8310
},
8311
range: [0, 9],
8312
loc: {
8313
start: { line: 1, column: 0 },
8314
end: { line: 1, column: 9 }
8315
}
8316
},
8317
range: [0, 9],
8318
loc: {
8319
start: { line: 1, column: 0 },
8320
end: { line: 1, column: 9 }
8321
}
8322
},
8323
8324
'x + y - z': {
8325
type: 'ExpressionStatement',
8326
expression: {
8327
type: 'BinaryExpression',
8328
operator: '-',
8329
left: {
8330
type: 'BinaryExpression',
8331
operator: '+',
8332
left: {
8333
type: 'Identifier',
8334
name: 'x',
8335
range: [0, 1],
8336
loc: {
8337
start: { line: 1, column: 0 },
8338
end: { line: 1, column: 1 }
8339
}
8340
},
8341
right: {
8342
type: 'Identifier',
8343
name: 'y',
8344
range: [4, 5],
8345
loc: {
8346
start: { line: 1, column: 4 },
8347
end: { line: 1, column: 5 }
8348
}
8349
},
8350
range: [0, 5],
8351
loc: {
8352
start: { line: 1, column: 0 },
8353
end: { line: 1, column: 5 }
8354
}
8355
},
8356
right: {
8357
type: 'Identifier',
8358
name: 'z',
8359
range: [8, 9],
8360
loc: {
8361
start: { line: 1, column: 8 },
8362
end: { line: 1, column: 9 }
8363
}
8364
},
8365
range: [0, 9],
8366
loc: {
8367
start: { line: 1, column: 0 },
8368
end: { line: 1, column: 9 }
8369
}
8370
},
8371
range: [0, 9],
8372
loc: {
8373
start: { line: 1, column: 0 },
8374
end: { line: 1, column: 9 }
8375
}
8376
},
8377
8378
'x - y - z': {
8379
type: 'ExpressionStatement',
8380
expression: {
8381
type: 'BinaryExpression',
8382
operator: '-',
8383
left: {
8384
type: 'BinaryExpression',
8385
operator: '-',
8386
left: {
8387
type: 'Identifier',
8388
name: 'x',
8389
range: [0, 1],
8390
loc: {
8391
start: { line: 1, column: 0 },
8392
end: { line: 1, column: 1 }
8393
}
8394
},
8395
right: {
8396
type: 'Identifier',
8397
name: 'y',
8398
range: [4, 5],
8399
loc: {
8400
start: { line: 1, column: 4 },
8401
end: { line: 1, column: 5 }
8402
}
8403
},
8404
range: [0, 5],
8405
loc: {
8406
start: { line: 1, column: 0 },
8407
end: { line: 1, column: 5 }
8408
}
8409
},
8410
right: {
8411
type: 'Identifier',
8412
name: 'z',
8413
range: [8, 9],
8414
loc: {
8415
start: { line: 1, column: 8 },
8416
end: { line: 1, column: 9 }
8417
}
8418
},
8419
range: [0, 9],
8420
loc: {
8421
start: { line: 1, column: 0 },
8422
end: { line: 1, column: 9 }
8423
}
8424
},
8425
range: [0, 9],
8426
loc: {
8427
start: { line: 1, column: 0 },
8428
end: { line: 1, column: 9 }
8429
}
8430
},
8431
8432
'x + y * z': {
8433
type: 'ExpressionStatement',
8434
expression: {
8435
type: 'BinaryExpression',
8436
operator: '+',
8437
left: {
8438
type: 'Identifier',
8439
name: 'x',
8440
range: [0, 1],
8441
loc: {
8442
start: { line: 1, column: 0 },
8443
end: { line: 1, column: 1 }
8444
}
8445
},
8446
right: {
8447
type: 'BinaryExpression',
8448
operator: '*',
8449
left: {
8450
type: 'Identifier',
8451
name: 'y',
8452
range: [4, 5],
8453
loc: {
8454
start: { line: 1, column: 4 },
8455
end: { line: 1, column: 5 }
8456
}
8457
},
8458
right: {
8459
type: 'Identifier',
8460
name: 'z',
8461
range: [8, 9],
8462
loc: {
8463
start: { line: 1, column: 8 },
8464
end: { line: 1, column: 9 }
8465
}
8466
},
8467
range: [4, 9],
8468
loc: {
8469
start: { line: 1, column: 4 },
8470
end: { line: 1, column: 9 }
8471
}
8472
},
8473
range: [0, 9],
8474
loc: {
8475
start: { line: 1, column: 0 },
8476
end: { line: 1, column: 9 }
8477
}
8478
},
8479
range: [0, 9],
8480
loc: {
8481
start: { line: 1, column: 0 },
8482
end: { line: 1, column: 9 }
8483
}
8484
},
8485
8486
'x + y / z': {
8487
type: 'ExpressionStatement',
8488
expression: {
8489
type: 'BinaryExpression',
8490
operator: '+',
8491
left: {
8492
type: 'Identifier',
8493
name: 'x',
8494
range: [0, 1],
8495
loc: {
8496
start: { line: 1, column: 0 },
8497
end: { line: 1, column: 1 }
8498
}
8499
},
8500
right: {
8501
type: 'BinaryExpression',
8502
operator: '/',
8503
left: {
8504
type: 'Identifier',
8505
name: 'y',
8506
range: [4, 5],
8507
loc: {
8508
start: { line: 1, column: 4 },
8509
end: { line: 1, column: 5 }
8510
}
8511
},
8512
right: {
8513
type: 'Identifier',
8514
name: 'z',
8515
range: [8, 9],
8516
loc: {
8517
start: { line: 1, column: 8 },
8518
end: { line: 1, column: 9 }
8519
}
8520
},
8521
range: [4, 9],
8522
loc: {
8523
start: { line: 1, column: 4 },
8524
end: { line: 1, column: 9 }
8525
}
8526
},
8527
range: [0, 9],
8528
loc: {
8529
start: { line: 1, column: 0 },
8530
end: { line: 1, column: 9 }
8531
}
8532
},
8533
range: [0, 9],
8534
loc: {
8535
start: { line: 1, column: 0 },
8536
end: { line: 1, column: 9 }
8537
}
8538
},
8539
8540
'x - y % z': {
8541
type: 'ExpressionStatement',
8542
expression: {
8543
type: 'BinaryExpression',
8544
operator: '-',
8545
left: {
8546
type: 'Identifier',
8547
name: 'x',
8548
range: [0, 1],
8549
loc: {
8550
start: { line: 1, column: 0 },
8551
end: { line: 1, column: 1 }
8552
}
8553
},
8554
right: {
8555
type: 'BinaryExpression',
8556
operator: '%',
8557
left: {
8558
type: 'Identifier',
8559
name: 'y',
8560
range: [4, 5],
8561
loc: {
8562
start: { line: 1, column: 4 },
8563
end: { line: 1, column: 5 }
8564
}
8565
},
8566
right: {
8567
type: 'Identifier',
8568
name: 'z',
8569
range: [8, 9],
8570
loc: {
8571
start: { line: 1, column: 8 },
8572
end: { line: 1, column: 9 }
8573
}
8574
},
8575
range: [4, 9],
8576
loc: {
8577
start: { line: 1, column: 4 },
8578
end: { line: 1, column: 9 }
8579
}
8580
},
8581
range: [0, 9],
8582
loc: {
8583
start: { line: 1, column: 0 },
8584
end: { line: 1, column: 9 }
8585
}
8586
},
8587
range: [0, 9],
8588
loc: {
8589
start: { line: 1, column: 0 },
8590
end: { line: 1, column: 9 }
8591
}
8592
},
8593
8594
'x * y * z': {
8595
type: 'ExpressionStatement',
8596
expression: {
8597
type: 'BinaryExpression',
8598
operator: '*',
8599
left: {
8600
type: 'BinaryExpression',
8601
operator: '*',
8602
left: {
8603
type: 'Identifier',
8604
name: 'x',
8605
range: [0, 1],
8606
loc: {
8607
start: { line: 1, column: 0 },
8608
end: { line: 1, column: 1 }
8609
}
8610
},
8611
right: {
8612
type: 'Identifier',
8613
name: 'y',
8614
range: [4, 5],
8615
loc: {
8616
start: { line: 1, column: 4 },
8617
end: { line: 1, column: 5 }
8618
}
8619
},
8620
range: [0, 5],
8621
loc: {
8622
start: { line: 1, column: 0 },
8623
end: { line: 1, column: 5 }
8624
}
8625
},
8626
right: {
8627
type: 'Identifier',
8628
name: 'z',
8629
range: [8, 9],
8630
loc: {
8631
start: { line: 1, column: 8 },
8632
end: { line: 1, column: 9 }
8633
}
8634
},
8635
range: [0, 9],
8636
loc: {
8637
start: { line: 1, column: 0 },
8638
end: { line: 1, column: 9 }
8639
}
8640
},
8641
range: [0, 9],
8642
loc: {
8643
start: { line: 1, column: 0 },
8644
end: { line: 1, column: 9 }
8645
}
8646
},
8647
8648
'x * y / z': {
8649
type: 'ExpressionStatement',
8650
expression: {
8651
type: 'BinaryExpression',
8652
operator: '/',
8653
left: {
8654
type: 'BinaryExpression',
8655
operator: '*',
8656
left: {
8657
type: 'Identifier',
8658
name: 'x',
8659
range: [0, 1],
8660
loc: {
8661
start: { line: 1, column: 0 },
8662
end: { line: 1, column: 1 }
8663
}
8664
},
8665
right: {
8666
type: 'Identifier',
8667
name: 'y',
8668
range: [4, 5],
8669
loc: {
8670
start: { line: 1, column: 4 },
8671
end: { line: 1, column: 5 }
8672
}
8673
},
8674
range: [0, 5],
8675
loc: {
8676
start: { line: 1, column: 0 },
8677
end: { line: 1, column: 5 }
8678
}
8679
},
8680
right: {
8681
type: 'Identifier',
8682
name: 'z',
8683
range: [8, 9],
8684
loc: {
8685
start: { line: 1, column: 8 },
8686
end: { line: 1, column: 9 }
8687
}
8688
},
8689
range: [0, 9],
8690
loc: {
8691
start: { line: 1, column: 0 },
8692
end: { line: 1, column: 9 }
8693
}
8694
},
8695
range: [0, 9],
8696
loc: {
8697
start: { line: 1, column: 0 },
8698
end: { line: 1, column: 9 }
8699
}
8700
},
8701
8702
'x * y % z': {
8703
type: 'ExpressionStatement',
8704
expression: {
8705
type: 'BinaryExpression',
8706
operator: '%',
8707
left: {
8708
type: 'BinaryExpression',
8709
operator: '*',
8710
left: {
8711
type: 'Identifier',
8712
name: 'x',
8713
range: [0, 1],
8714
loc: {
8715
start: { line: 1, column: 0 },
8716
end: { line: 1, column: 1 }
8717
}
8718
},
8719
right: {
8720
type: 'Identifier',
8721
name: 'y',
8722
range: [4, 5],
8723
loc: {
8724
start: { line: 1, column: 4 },
8725
end: { line: 1, column: 5 }
8726
}
8727
},
8728
range: [0, 5],
8729
loc: {
8730
start: { line: 1, column: 0 },
8731
end: { line: 1, column: 5 }
8732
}
8733
},
8734
right: {
8735
type: 'Identifier',
8736
name: 'z',
8737
range: [8, 9],
8738
loc: {
8739
start: { line: 1, column: 8 },
8740
end: { line: 1, column: 9 }
8741
}
8742
},
8743
range: [0, 9],
8744
loc: {
8745
start: { line: 1, column: 0 },
8746
end: { line: 1, column: 9 }
8747
}
8748
},
8749
range: [0, 9],
8750
loc: {
8751
start: { line: 1, column: 0 },
8752
end: { line: 1, column: 9 }
8753
}
8754
},
8755
8756
'x % y * z': {
8757
type: 'ExpressionStatement',
8758
expression: {
8759
type: 'BinaryExpression',
8760
operator: '*',
8761
left: {
8762
type: 'BinaryExpression',
8763
operator: '%',
8764
left: {
8765
type: 'Identifier',
8766
name: 'x',
8767
range: [0, 1],
8768
loc: {
8769
start: { line: 1, column: 0 },
8770
end: { line: 1, column: 1 }
8771
}
8772
},
8773
right: {
8774
type: 'Identifier',
8775
name: 'y',
8776
range: [4, 5],
8777
loc: {
8778
start: { line: 1, column: 4 },
8779
end: { line: 1, column: 5 }
8780
}
8781
},
8782
range: [0, 5],
8783
loc: {
8784
start: { line: 1, column: 0 },
8785
end: { line: 1, column: 5 }
8786
}
8787
},
8788
right: {
8789
type: 'Identifier',
8790
name: 'z',
8791
range: [8, 9],
8792
loc: {
8793
start: { line: 1, column: 8 },
8794
end: { line: 1, column: 9 }
8795
}
8796
},
8797
range: [0, 9],
8798
loc: {
8799
start: { line: 1, column: 0 },
8800
end: { line: 1, column: 9 }
8801
}
8802
},
8803
range: [0, 9],
8804
loc: {
8805
start: { line: 1, column: 0 },
8806
end: { line: 1, column: 9 }
8807
}
8808
},
8809
8810
'x << y << z': {
8811
type: 'ExpressionStatement',
8812
expression: {
8813
type: 'BinaryExpression',
8814
operator: '<<',
8815
left: {
8816
type: 'BinaryExpression',
8817
operator: '<<',
8818
left: {
8819
type: 'Identifier',
8820
name: 'x',
8821
range: [0, 1],
8822
loc: {
8823
start: { line: 1, column: 0 },
8824
end: { line: 1, column: 1 }
8825
}
8826
},
8827
right: {
8828
type: 'Identifier',
8829
name: 'y',
8830
range: [5, 6],
8831
loc: {
8832
start: { line: 1, column: 5 },
8833
end: { line: 1, column: 6 }
8834
}
8835
},
8836
range: [0, 6],
8837
loc: {
8838
start: { line: 1, column: 0 },
8839
end: { line: 1, column: 6 }
8840
}
8841
},
8842
right: {
8843
type: 'Identifier',
8844
name: 'z',
8845
range: [10, 11],
8846
loc: {
8847
start: { line: 1, column: 10 },
8848
end: { line: 1, column: 11 }
8849
}
8850
},
8851
range: [0, 11],
8852
loc: {
8853
start: { line: 1, column: 0 },
8854
end: { line: 1, column: 11 }
8855
}
8856
},
8857
range: [0, 11],
8858
loc: {
8859
start: { line: 1, column: 0 },
8860
end: { line: 1, column: 11 }
8861
}
8862
},
8863
8864
'x | y | z': {
8865
type: 'ExpressionStatement',
8866
expression: {
8867
type: 'BinaryExpression',
8868
operator: '|',
8869
left: {
8870
type: 'BinaryExpression',
8871
operator: '|',
8872
left: {
8873
type: 'Identifier',
8874
name: 'x',
8875
range: [0, 1],
8876
loc: {
8877
start: { line: 1, column: 0 },
8878
end: { line: 1, column: 1 }
8879
}
8880
},
8881
right: {
8882
type: 'Identifier',
8883
name: 'y',
8884
range: [4, 5],
8885
loc: {
8886
start: { line: 1, column: 4 },
8887
end: { line: 1, column: 5 }
8888
}
8889
},
8890
range: [0, 5],
8891
loc: {
8892
start: { line: 1, column: 0 },
8893
end: { line: 1, column: 5 }
8894
}
8895
},
8896
right: {
8897
type: 'Identifier',
8898
name: 'z',
8899
range: [8, 9],
8900
loc: {
8901
start: { line: 1, column: 8 },
8902
end: { line: 1, column: 9 }
8903
}
8904
},
8905
range: [0, 9],
8906
loc: {
8907
start: { line: 1, column: 0 },
8908
end: { line: 1, column: 9 }
8909
}
8910
},
8911
range: [0, 9],
8912
loc: {
8913
start: { line: 1, column: 0 },
8914
end: { line: 1, column: 9 }
8915
}
8916
},
8917
8918
'x & y & z': {
8919
type: 'ExpressionStatement',
8920
expression: {
8921
type: 'BinaryExpression',
8922
operator: '&',
8923
left: {
8924
type: 'BinaryExpression',
8925
operator: '&',
8926
left: {
8927
type: 'Identifier',
8928
name: 'x',
8929
range: [0, 1],
8930
loc: {
8931
start: { line: 1, column: 0 },
8932
end: { line: 1, column: 1 }
8933
}
8934
},
8935
right: {
8936
type: 'Identifier',
8937
name: 'y',
8938
range: [4, 5],
8939
loc: {
8940
start: { line: 1, column: 4 },
8941
end: { line: 1, column: 5 }
8942
}
8943
},
8944
range: [0, 5],
8945
loc: {
8946
start: { line: 1, column: 0 },
8947
end: { line: 1, column: 5 }
8948
}
8949
},
8950
right: {
8951
type: 'Identifier',
8952
name: 'z',
8953
range: [8, 9],
8954
loc: {
8955
start: { line: 1, column: 8 },
8956
end: { line: 1, column: 9 }
8957
}
8958
},
8959
range: [0, 9],
8960
loc: {
8961
start: { line: 1, column: 0 },
8962
end: { line: 1, column: 9 }
8963
}
8964
},
8965
range: [0, 9],
8966
loc: {
8967
start: { line: 1, column: 0 },
8968
end: { line: 1, column: 9 }
8969
}
8970
},
8971
8972
'x ^ y ^ z': {
8973
type: 'ExpressionStatement',
8974
expression: {
8975
type: 'BinaryExpression',
8976
operator: '^',
8977
left: {
8978
type: 'BinaryExpression',
8979
operator: '^',
8980
left: {
8981
type: 'Identifier',
8982
name: 'x',
8983
range: [0, 1],
8984
loc: {
8985
start: { line: 1, column: 0 },
8986
end: { line: 1, column: 1 }
8987
}
8988
},
8989
right: {
8990
type: 'Identifier',
8991
name: 'y',
8992
range: [4, 5],
8993
loc: {
8994
start: { line: 1, column: 4 },
8995
end: { line: 1, column: 5 }
8996
}
8997
},
8998
range: [0, 5],
8999
loc: {
9000
start: { line: 1, column: 0 },
9001
end: { line: 1, column: 5 }
9002
}
9003
},
9004
right: {
9005
type: 'Identifier',
9006
name: 'z',
9007
range: [8, 9],
9008
loc: {
9009
start: { line: 1, column: 8 },
9010
end: { line: 1, column: 9 }
9011
}
9012
},
9013
range: [0, 9],
9014
loc: {
9015
start: { line: 1, column: 0 },
9016
end: { line: 1, column: 9 }
9017
}
9018
},
9019
range: [0, 9],
9020
loc: {
9021
start: { line: 1, column: 0 },
9022
end: { line: 1, column: 9 }
9023
}
9024
},
9025
9026
'x & y | z': {
9027
type: 'ExpressionStatement',
9028
expression: {
9029
type: 'BinaryExpression',
9030
operator: '|',
9031
left: {
9032
type: 'BinaryExpression',
9033
operator: '&',
9034
left: {
9035
type: 'Identifier',
9036
name: 'x',
9037
range: [0, 1],
9038
loc: {
9039
start: { line: 1, column: 0 },
9040
end: { line: 1, column: 1 }
9041
}
9042
},
9043
right: {
9044
type: 'Identifier',
9045
name: 'y',
9046
range: [4, 5],
9047
loc: {
9048
start: { line: 1, column: 4 },
9049
end: { line: 1, column: 5 }
9050
}
9051
},
9052
range: [0, 5],
9053
loc: {
9054
start: { line: 1, column: 0 },
9055
end: { line: 1, column: 5 }
9056
}
9057
},
9058
right: {
9059
type: 'Identifier',
9060
name: 'z',
9061
range: [8, 9],
9062
loc: {
9063
start: { line: 1, column: 8 },
9064
end: { line: 1, column: 9 }
9065
}
9066
},
9067
range: [0, 9],
9068
loc: {
9069
start: { line: 1, column: 0 },
9070
end: { line: 1, column: 9 }
9071
}
9072
},
9073
range: [0, 9],
9074
loc: {
9075
start: { line: 1, column: 0 },
9076
end: { line: 1, column: 9 }
9077
}
9078
},
9079
9080
'x | y ^ z': {
9081
type: 'ExpressionStatement',
9082
expression: {
9083
type: 'BinaryExpression',
9084
operator: '|',
9085
left: {
9086
type: 'Identifier',
9087
name: 'x',
9088
range: [0, 1],
9089
loc: {
9090
start: { line: 1, column: 0 },
9091
end: { line: 1, column: 1 }
9092
}
9093
},
9094
right: {
9095
type: 'BinaryExpression',
9096
operator: '^',
9097
left: {
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
right: {
9107
type: 'Identifier',
9108
name: 'z',
9109
range: [8, 9],
9110
loc: {
9111
start: { line: 1, column: 8 },
9112
end: { line: 1, column: 9 }
9113
}
9114
},
9115
range: [4, 9],
9116
loc: {
9117
start: { line: 1, column: 4 },
9118
end: { line: 1, column: 9 }
9119
}
9120
},
9121
range: [0, 9],
9122
loc: {
9123
start: { line: 1, column: 0 },
9124
end: { line: 1, column: 9 }
9125
}
9126
},
9127
range: [0, 9],
9128
loc: {
9129
start: { line: 1, column: 0 },
9130
end: { line: 1, column: 9 }
9131
}
9132
},
9133
9134
'x | y & z': {
9135
type: 'ExpressionStatement',
9136
expression: {
9137
type: 'BinaryExpression',
9138
operator: '|',
9139
left: {
9140
type: 'Identifier',
9141
name: 'x',
9142
range: [0, 1],
9143
loc: {
9144
start: { line: 1, column: 0 },
9145
end: { line: 1, column: 1 }
9146
}
9147
},
9148
right: {
9149
type: 'BinaryExpression',
9150
operator: '&',
9151
left: {
9152
type: 'Identifier',
9153
name: 'y',
9154
range: [4, 5],
9155
loc: {
9156
start: { line: 1, column: 4 },
9157
end: { line: 1, column: 5 }
9158
}
9159
},
9160
right: {
9161
type: 'Identifier',
9162
name: 'z',
9163
range: [8, 9],
9164
loc: {
9165
start: { line: 1, column: 8 },
9166
end: { line: 1, column: 9 }
9167
}
9168
},
9169
range: [4, 9],
9170
loc: {
9171
start: { line: 1, column: 4 },
9172
end: { line: 1, column: 9 }
9173
}
9174
},
9175
range: [0, 9],
9176
loc: {
9177
start: { line: 1, column: 0 },
9178
end: { line: 1, column: 9 }
9179
}
9180
},
9181
range: [0, 9],
9182
loc: {
9183
start: { line: 1, column: 0 },
9184
end: { line: 1, column: 9 }
9185
}
9186
}
9187
9188
},
9189
9190
'Binary Logical Operators': {
9191
9192
'x || y': {
9193
type: 'ExpressionStatement',
9194
expression: {
9195
type: 'LogicalExpression',
9196
operator: '||',
9197
left: {
9198
type: 'Identifier',
9199
name: 'x',
9200
range: [0, 1],
9201
loc: {
9202
start: { line: 1, column: 0 },
9203
end: { line: 1, column: 1 }
9204
}
9205
},
9206
right: {
9207
type: 'Identifier',
9208
name: 'y',
9209
range: [5, 6],
9210
loc: {
9211
start: { line: 1, column: 5 },
9212
end: { line: 1, column: 6 }
9213
}
9214
},
9215
range: [0, 6],
9216
loc: {
9217
start: { line: 1, column: 0 },
9218
end: { line: 1, column: 6 }
9219
}
9220
},
9221
range: [0, 6],
9222
loc: {
9223
start: { line: 1, column: 0 },
9224
end: { line: 1, column: 6 }
9225
}
9226
},
9227
9228
'x && y': {
9229
type: 'ExpressionStatement',
9230
expression: {
9231
type: 'LogicalExpression',
9232
operator: '&&',
9233
left: {
9234
type: 'Identifier',
9235
name: 'x',
9236
range: [0, 1],
9237
loc: {
9238
start: { line: 1, column: 0 },
9239
end: { line: 1, column: 1 }
9240
}
9241
},
9242
right: {
9243
type: 'Identifier',
9244
name: 'y',
9245
range: [5, 6],
9246
loc: {
9247
start: { line: 1, column: 5 },
9248
end: { line: 1, column: 6 }
9249
}
9250
},
9251
range: [0, 6],
9252
loc: {
9253
start: { line: 1, column: 0 },
9254
end: { line: 1, column: 6 }
9255
}
9256
},
9257
range: [0, 6],
9258
loc: {
9259
start: { line: 1, column: 0 },
9260
end: { line: 1, column: 6 }
9261
}
9262
},
9263
9264
'x || y || z': {
9265
type: 'ExpressionStatement',
9266
expression: {
9267
type: 'LogicalExpression',
9268
operator: '||',
9269
left: {
9270
type: 'LogicalExpression',
9271
operator: '||',
9272
left: {
9273
type: 'Identifier',
9274
name: 'x',
9275
range: [0, 1],
9276
loc: {
9277
start: { line: 1, column: 0 },
9278
end: { line: 1, column: 1 }
9279
}
9280
},
9281
right: {
9282
type: 'Identifier',
9283
name: 'y',
9284
range: [5, 6],
9285
loc: {
9286
start: { line: 1, column: 5 },
9287
end: { line: 1, column: 6 }
9288
}
9289
},
9290
range: [0, 6],
9291
loc: {
9292
start: { line: 1, column: 0 },
9293
end: { line: 1, column: 6 }
9294
}
9295
},
9296
right: {
9297
type: 'Identifier',
9298
name: 'z',
9299
range: [10, 11],
9300
loc: {
9301
start: { line: 1, column: 10 },
9302
end: { line: 1, column: 11 }
9303
}
9304
},
9305
range: [0, 11],
9306
loc: {
9307
start: { line: 1, column: 0 },
9308
end: { line: 1, column: 11 }
9309
}
9310
},
9311
range: [0, 11],
9312
loc: {
9313
start: { line: 1, column: 0 },
9314
end: { line: 1, column: 11 }
9315
}
9316
},
9317
9318
'x && y && z': {
9319
type: 'ExpressionStatement',
9320
expression: {
9321
type: 'LogicalExpression',
9322
operator: '&&',
9323
left: {
9324
type: 'LogicalExpression',
9325
operator: '&&',
9326
left: {
9327
type: 'Identifier',
9328
name: 'x',
9329
range: [0, 1],
9330
loc: {
9331
start: { line: 1, column: 0 },
9332
end: { line: 1, column: 1 }
9333
}
9334
},
9335
right: {
9336
type: 'Identifier',
9337
name: 'y',
9338
range: [5, 6],
9339
loc: {
9340
start: { line: 1, column: 5 },
9341
end: { line: 1, column: 6 }
9342
}
9343
},
9344
range: [0, 6],
9345
loc: {
9346
start: { line: 1, column: 0 },
9347
end: { line: 1, column: 6 }
9348
}
9349
},
9350
right: {
9351
type: 'Identifier',
9352
name: 'z',
9353
range: [10, 11],
9354
loc: {
9355
start: { line: 1, column: 10 },
9356
end: { line: 1, column: 11 }
9357
}
9358
},
9359
range: [0, 11],
9360
loc: {
9361
start: { line: 1, column: 0 },
9362
end: { line: 1, column: 11 }
9363
}
9364
},
9365
range: [0, 11],
9366
loc: {
9367
start: { line: 1, column: 0 },
9368
end: { line: 1, column: 11 }
9369
}
9370
},
9371
9372
'x || y && z': {
9373
type: 'ExpressionStatement',
9374
expression: {
9375
type: 'LogicalExpression',
9376
operator: '||',
9377
left: {
9378
type: 'Identifier',
9379
name: 'x',
9380
range: [0, 1],
9381
loc: {
9382
start: { line: 1, column: 0 },
9383
end: { line: 1, column: 1 }
9384
}
9385
},
9386
right: {
9387
type: 'LogicalExpression',
9388
operator: '&&',
9389
left: {
9390
type: 'Identifier',
9391
name: 'y',
9392
range: [5, 6],
9393
loc: {
9394
start: { line: 1, column: 5 },
9395
end: { line: 1, column: 6 }
9396
}
9397
},
9398
right: {
9399
type: 'Identifier',
9400
name: 'z',
9401
range: [10, 11],
9402
loc: {
9403
start: { line: 1, column: 10 },
9404
end: { line: 1, column: 11 }
9405
}
9406
},
9407
range: [5, 11],
9408
loc: {
9409
start: { line: 1, column: 5 },
9410
end: { line: 1, column: 11 }
9411
}
9412
},
9413
range: [0, 11],
9414
loc: {
9415
start: { line: 1, column: 0 },
9416
end: { line: 1, column: 11 }
9417
}
9418
},
9419
range: [0, 11],
9420
loc: {
9421
start: { line: 1, column: 0 },
9422
end: { line: 1, column: 11 }
9423
}
9424
},
9425
9426
'x || y ^ z': {
9427
type: 'ExpressionStatement',
9428
expression: {
9429
type: 'LogicalExpression',
9430
operator: '||',
9431
left: {
9432
type: 'Identifier',
9433
name: 'x',
9434
range: [0, 1],
9435
loc: {
9436
start: { line: 1, column: 0 },
9437
end: { line: 1, column: 1 }
9438
}
9439
},
9440
right: {
9441
type: 'BinaryExpression',
9442
operator: '^',
9443
left: {
9444
type: 'Identifier',
9445
name: 'y',
9446
range: [5, 6],
9447
loc: {
9448
start: { line: 1, column: 5 },
9449
end: { line: 1, column: 6 }
9450
}
9451
},
9452
right: {
9453
type: 'Identifier',
9454
name: 'z',
9455
range: [9, 10],
9456
loc: {
9457
start: { line: 1, column: 9 },
9458
end: { line: 1, column: 10 }
9459
}
9460
},
9461
range: [5, 10],
9462
loc: {
9463
start: { line: 1, column: 5 },
9464
end: { line: 1, column: 10 }
9465
}
9466
},
9467
range: [0, 10],
9468
loc: {
9469
start: { line: 1, column: 0 },
9470
end: { line: 1, column: 10 }
9471
}
9472
},
9473
range: [0, 10],
9474
loc: {
9475
start: { line: 1, column: 0 },
9476
end: { line: 1, column: 10 }
9477
}
9478
}
9479
9480
},
9481
9482
'Conditional Operator': {
9483
9484
'y ? 1 : 2': {
9485
type: 'ExpressionStatement',
9486
expression: {
9487
type: 'ConditionalExpression',
9488
test: {
9489
type: 'Identifier',
9490
name: 'y',
9491
range: [0, 1],
9492
loc: {
9493
start: { line: 1, column: 0 },
9494
end: { line: 1, column: 1 }
9495
}
9496
},
9497
consequent: {
9498
type: 'Literal',
9499
value: 1,
9500
raw: '1',
9501
range: [4, 5],
9502
loc: {
9503
start: { line: 1, column: 4 },
9504
end: { line: 1, column: 5 }
9505
}
9506
},
9507
alternate: {
9508
type: 'Literal',
9509
value: 2,
9510
raw: '2',
9511
range: [8, 9],
9512
loc: {
9513
start: { line: 1, column: 8 },
9514
end: { line: 1, column: 9 }
9515
}
9516
},
9517
range: [0, 9],
9518
loc: {
9519
start: { line: 1, column: 0 },
9520
end: { line: 1, column: 9 }
9521
}
9522
},
9523
range: [0, 9],
9524
loc: {
9525
start: { line: 1, column: 0 },
9526
end: { line: 1, column: 9 }
9527
}
9528
},
9529
9530
'x && y ? 1 : 2': {
9531
type: 'ExpressionStatement',
9532
expression: {
9533
type: 'ConditionalExpression',
9534
test: {
9535
type: 'LogicalExpression',
9536
operator: '&&',
9537
left: {
9538
type: 'Identifier',
9539
name: 'x',
9540
range: [0, 1],
9541
loc: {
9542
start: { line: 1, column: 0 },
9543
end: { line: 1, column: 1 }
9544
}
9545
},
9546
right: {
9547
type: 'Identifier',
9548
name: 'y',
9549
range: [5, 6],
9550
loc: {
9551
start: { line: 1, column: 5 },
9552
end: { line: 1, column: 6 }
9553
}
9554
},
9555
range: [0, 6],
9556
loc: {
9557
start: { line: 1, column: 0 },
9558
end: { line: 1, column: 6 }
9559
}
9560
},
9561
consequent: {
9562
type: 'Literal',
9563
value: 1,
9564
raw: '1',
9565
range: [9, 10],
9566
loc: {
9567
start: { line: 1, column: 9 },
9568
end: { line: 1, column: 10 }
9569
}
9570
},
9571
alternate: {
9572
type: 'Literal',
9573
value: 2,
9574
raw: '2',
9575
range: [13, 14],
9576
loc: {
9577
start: { line: 1, column: 13 },
9578
end: { line: 1, column: 14 }
9579
}
9580
},
9581
range: [0, 14],
9582
loc: {
9583
start: { line: 1, column: 0 },
9584
end: { line: 1, column: 14 }
9585
}
9586
},
9587
range: [0, 14],
9588
loc: {
9589
start: { line: 1, column: 0 },
9590
end: { line: 1, column: 14 }
9591
}
9592
}
9593
9594
},
9595
9596
'Assignment Operators': {
9597
9598
'x = 42': {
9599
type: 'ExpressionStatement',
9600
expression: {
9601
type: 'AssignmentExpression',
9602
operator: '=',
9603
left: {
9604
type: 'Identifier',
9605
name: 'x',
9606
range: [0, 1],
9607
loc: {
9608
start: { line: 1, column: 0 },
9609
end: { line: 1, column: 1 }
9610
}
9611
},
9612
right: {
9613
type: 'Literal',
9614
value: 42,
9615
raw: '42',
9616
range: [4, 6],
9617
loc: {
9618
start: { line: 1, column: 4 },
9619
end: { line: 1, column: 6 }
9620
}
9621
},
9622
range: [0, 6],
9623
loc: {
9624
start: { line: 1, column: 0 },
9625
end: { line: 1, column: 6 }
9626
}
9627
},
9628
range: [0, 6],
9629
loc: {
9630
start: { line: 1, column: 0 },
9631
end: { line: 1, column: 6 }
9632
}
9633
},
9634
9635
'eval = 42': {
9636
type: 'ExpressionStatement',
9637
expression: {
9638
type: 'AssignmentExpression',
9639
operator: '=',
9640
left: {
9641
type: 'Identifier',
9642
name: 'eval',
9643
range: [0, 4],
9644
loc: {
9645
start: { line: 1, column: 0 },
9646
end: { line: 1, column: 4 }
9647
}
9648
},
9649
right: {
9650
type: 'Literal',
9651
value: 42,
9652
raw: '42',
9653
range: [7, 9],
9654
loc: {
9655
start: { line: 1, column: 7 },
9656
end: { line: 1, column: 9 }
9657
}
9658
},
9659
range: [0, 9],
9660
loc: {
9661
start: { line: 1, column: 0 },
9662
end: { line: 1, column: 9 }
9663
}
9664
},
9665
range: [0, 9],
9666
loc: {
9667
start: { line: 1, column: 0 },
9668
end: { line: 1, column: 9 }
9669
}
9670
},
9671
9672
'arguments = 42': {
9673
type: 'ExpressionStatement',
9674
expression: {
9675
type: 'AssignmentExpression',
9676
operator: '=',
9677
left: {
9678
type: 'Identifier',
9679
name: 'arguments',
9680
range: [0, 9],
9681
loc: {
9682
start: { line: 1, column: 0 },
9683
end: { line: 1, column: 9 }
9684
}
9685
},
9686
right: {
9687
type: 'Literal',
9688
value: 42,
9689
raw: '42',
9690
range: [12, 14],
9691
loc: {
9692
start: { line: 1, column: 12 },
9693
end: { line: 1, column: 14 }
9694
}
9695
},
9696
range: [0, 14],
9697
loc: {
9698
start: { line: 1, column: 0 },
9699
end: { line: 1, column: 14 }
9700
}
9701
},
9702
range: [0, 14],
9703
loc: {
9704
start: { line: 1, column: 0 },
9705
end: { line: 1, column: 14 }
9706
}
9707
},
9708
9709
'x *= 42': {
9710
type: 'ExpressionStatement',
9711
expression: {
9712
type: 'AssignmentExpression',
9713
operator: '*=',
9714
left: {
9715
type: 'Identifier',
9716
name: 'x',
9717
range: [0, 1],
9718
loc: {
9719
start: { line: 1, column: 0 },
9720
end: { line: 1, column: 1 }
9721
}
9722
},
9723
right: {
9724
type: 'Literal',
9725
value: 42,
9726
raw: '42',
9727
range: [5, 7],
9728
loc: {
9729
start: { line: 1, column: 5 },
9730
end: { line: 1, column: 7 }
9731
}
9732
},
9733
range: [0, 7],
9734
loc: {
9735
start: { line: 1, column: 0 },
9736
end: { line: 1, column: 7 }
9737
}
9738
},
9739
range: [0, 7],
9740
loc: {
9741
start: { line: 1, column: 0 },
9742
end: { line: 1, column: 7 }
9743
}
9744
},
9745
9746
'x /= 42': {
9747
type: 'ExpressionStatement',
9748
expression: {
9749
type: 'AssignmentExpression',
9750
operator: '/=',
9751
left: {
9752
type: 'Identifier',
9753
name: 'x',
9754
range: [0, 1],
9755
loc: {
9756
start: { line: 1, column: 0 },
9757
end: { line: 1, column: 1 }
9758
}
9759
},
9760
right: {
9761
type: 'Literal',
9762
value: 42,
9763
raw: '42',
9764
range: [5, 7],
9765
loc: {
9766
start: { line: 1, column: 5 },
9767
end: { line: 1, column: 7 }
9768
}
9769
},
9770
range: [0, 7],
9771
loc: {
9772
start: { line: 1, column: 0 },
9773
end: { line: 1, column: 7 }
9774
}
9775
},
9776
range: [0, 7],
9777
loc: {
9778
start: { line: 1, column: 0 },
9779
end: { line: 1, column: 7 }
9780
}
9781
},
9782
9783
'x %= 42': {
9784
type: 'ExpressionStatement',
9785
expression: {
9786
type: 'AssignmentExpression',
9787
operator: '%=',
9788
left: {
9789
type: 'Identifier',
9790
name: 'x',
9791
range: [0, 1],
9792
loc: {
9793
start: { line: 1, column: 0 },
9794
end: { line: 1, column: 1 }
9795
}
9796
},
9797
right: {
9798
type: 'Literal',
9799
value: 42,
9800
raw: '42',
9801
range: [5, 7],
9802
loc: {
9803
start: { line: 1, column: 5 },
9804
end: { line: 1, column: 7 }
9805
}
9806
},
9807
range: [0, 7],
9808
loc: {
9809
start: { line: 1, column: 0 },
9810
end: { line: 1, column: 7 }
9811
}
9812
},
9813
range: [0, 7],
9814
loc: {
9815
start: { line: 1, column: 0 },
9816
end: { line: 1, column: 7 }
9817
}
9818
},
9819
9820
'x += 42': {
9821
type: 'ExpressionStatement',
9822
expression: {
9823
type: 'AssignmentExpression',
9824
operator: '+=',
9825
left: {
9826
type: 'Identifier',
9827
name: 'x',
9828
range: [0, 1],
9829
loc: {
9830
start: { line: 1, column: 0 },
9831
end: { line: 1, column: 1 }
9832
}
9833
},
9834
right: {
9835
type: 'Literal',
9836
value: 42,
9837
raw: '42',
9838
range: [5, 7],
9839
loc: {
9840
start: { line: 1, column: 5 },
9841
end: { line: 1, column: 7 }
9842
}
9843
},
9844
range: [0, 7],
9845
loc: {
9846
start: { line: 1, column: 0 },
9847
end: { line: 1, column: 7 }
9848
}
9849
},
9850
range: [0, 7],
9851
loc: {
9852
start: { line: 1, column: 0 },
9853
end: { line: 1, column: 7 }
9854
}
9855
},
9856
9857
'x -= 42': {
9858
type: 'ExpressionStatement',
9859
expression: {
9860
type: 'AssignmentExpression',
9861
operator: '-=',
9862
left: {
9863
type: 'Identifier',
9864
name: 'x',
9865
range: [0, 1],
9866
loc: {
9867
start: { line: 1, column: 0 },
9868
end: { line: 1, column: 1 }
9869
}
9870
},
9871
right: {
9872
type: 'Literal',
9873
value: 42,
9874
raw: '42',
9875
range: [5, 7],
9876
loc: {
9877
start: { line: 1, column: 5 },
9878
end: { line: 1, column: 7 }
9879
}
9880
},
9881
range: [0, 7],
9882
loc: {
9883
start: { line: 1, column: 0 },
9884
end: { line: 1, column: 7 }
9885
}
9886
},
9887
range: [0, 7],
9888
loc: {
9889
start: { line: 1, column: 0 },
9890
end: { line: 1, column: 7 }
9891
}
9892
},
9893
9894
'x <<= 42': {
9895
type: 'ExpressionStatement',
9896
expression: {
9897
type: 'AssignmentExpression',
9898
operator: '<<=',
9899
left: {
9900
type: 'Identifier',
9901
name: 'x',
9902
range: [0, 1],
9903
loc: {
9904
start: { line: 1, column: 0 },
9905
end: { line: 1, column: 1 }
9906
}
9907
},
9908
right: {
9909
type: 'Literal',
9910
value: 42,
9911
raw: '42',
9912
range: [6, 8],
9913
loc: {
9914
start: { line: 1, column: 6 },
9915
end: { line: 1, column: 8 }
9916
}
9917
},
9918
range: [0, 8],
9919
loc: {
9920
start: { line: 1, column: 0 },
9921
end: { line: 1, column: 8 }
9922
}
9923
},
9924
range: [0, 8],
9925
loc: {
9926
start: { line: 1, column: 0 },
9927
end: { line: 1, column: 8 }
9928
}
9929
},
9930
9931
'x >>= 42': {
9932
type: 'ExpressionStatement',
9933
expression: {
9934
type: 'AssignmentExpression',
9935
operator: '>>=',
9936
left: {
9937
type: 'Identifier',
9938
name: 'x',
9939
range: [0, 1],
9940
loc: {
9941
start: { line: 1, column: 0 },
9942
end: { line: 1, column: 1 }
9943
}
9944
},
9945
right: {
9946
type: 'Literal',
9947
value: 42,
9948
raw: '42',
9949
range: [6, 8],
9950
loc: {
9951
start: { line: 1, column: 6 },
9952
end: { line: 1, column: 8 }
9953
}
9954
},
9955
range: [0, 8],
9956
loc: {
9957
start: { line: 1, column: 0 },
9958
end: { line: 1, column: 8 }
9959
}
9960
},
9961
range: [0, 8],
9962
loc: {
9963
start: { line: 1, column: 0 },
9964
end: { line: 1, column: 8 }
9965
}
9966
},
9967
9968
'x >>>= 42': {
9969
type: 'ExpressionStatement',
9970
expression: {
9971
type: 'AssignmentExpression',
9972
operator: '>>>=',
9973
left: {
9974
type: 'Identifier',
9975
name: 'x',
9976
range: [0, 1],
9977
loc: {
9978
start: { line: 1, column: 0 },
9979
end: { line: 1, column: 1 }
9980
}
9981
},
9982
right: {
9983
type: 'Literal',
9984
value: 42,
9985
raw: '42',
9986
range: [7, 9],
9987
loc: {
9988
start: { line: 1, column: 7 },
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 &= 42': {
10006
type: 'ExpressionStatement',
10007
expression: {
10008
type: 'AssignmentExpression',
10009
operator: '&=',
10010
left: {
10011
type: 'Identifier',
10012
name: 'x',
10013
range: [0, 1],
10014
loc: {
10015
start: { line: 1, column: 0 },
10016
end: { line: 1, column: 1 }
10017
}
10018
},
10019
right: {
10020
type: 'Literal',
10021
value: 42,
10022
raw: '42',
10023
range: [5, 7],
10024
loc: {
10025
start: { line: 1, column: 5 },
10026
end: { line: 1, column: 7 }
10027
}
10028
},
10029
range: [0, 7],
10030
loc: {
10031
start: { line: 1, column: 0 },
10032
end: { line: 1, column: 7 }
10033
}
10034
},
10035
range: [0, 7],
10036
loc: {
10037
start: { line: 1, column: 0 },
10038
end: { line: 1, column: 7 }
10039
}
10040
},
10041
10042
'x ^= 42': {
10043
type: 'ExpressionStatement',
10044
expression: {
10045
type: 'AssignmentExpression',
10046
operator: '^=',
10047
left: {
10048
type: 'Identifier',
10049
name: 'x',
10050
range: [0, 1],
10051
loc: {
10052
start: { line: 1, column: 0 },
10053
end: { line: 1, column: 1 }
10054
}
10055
},
10056
right: {
10057
type: 'Literal',
10058
value: 42,
10059
raw: '42',
10060
range: [5, 7],
10061
loc: {
10062
start: { line: 1, column: 5 },
10063
end: { line: 1, column: 7 }
10064
}
10065
},
10066
range: [0, 7],
10067
loc: {
10068
start: { line: 1, column: 0 },
10069
end: { line: 1, column: 7 }
10070
}
10071
},
10072
range: [0, 7],
10073
loc: {
10074
start: { line: 1, column: 0 },
10075
end: { line: 1, column: 7 }
10076
}
10077
},
10078
10079
'x |= 42': {
10080
type: 'ExpressionStatement',
10081
expression: {
10082
type: 'AssignmentExpression',
10083
operator: '|=',
10084
left: {
10085
type: 'Identifier',
10086
name: 'x',
10087
range: [0, 1],
10088
loc: {
10089
start: { line: 1, column: 0 },
10090
end: { line: 1, column: 1 }
10091
}
10092
},
10093
right: {
10094
type: 'Literal',
10095
value: 42,
10096
raw: '42',
10097
range: [5, 7],
10098
loc: {
10099
start: { line: 1, column: 5 },
10100
end: { line: 1, column: 7 }
10101
}
10102
},
10103
range: [0, 7],
10104
loc: {
10105
start: { line: 1, column: 0 },
10106
end: { line: 1, column: 7 }
10107
}
10108
},
10109
range: [0, 7],
10110
loc: {
10111
start: { line: 1, column: 0 },
10112
end: { line: 1, column: 7 }
10113
}
10114
}
10115
10116
},
10117
10118
'Complex Expression': {
10119
10120
'a || b && c | d ^ e & f == g < h >>> i + j * k': {
10121
type: 'ExpressionStatement',
10122
expression: {
10123
type: 'LogicalExpression',
10124
operator: '||',
10125
left: {
10126
type: 'Identifier',
10127
name: 'a',
10128
range: [0, 1],
10129
loc: {
10130
start: { line: 1, column: 0 },
10131
end: { line: 1, column: 1 }
10132
}
10133
},
10134
right: {
10135
type: 'LogicalExpression',
10136
operator: '&&',
10137
left: {
10138
type: 'Identifier',
10139
name: 'b',
10140
range: [5, 6],
10141
loc: {
10142
start: { line: 1, column: 5 },
10143
end: { line: 1, column: 6 }
10144
}
10145
},
10146
right: {
10147
type: 'BinaryExpression',
10148
operator: '|',
10149
left: {
10150
type: 'Identifier',
10151
name: 'c',
10152
range: [10, 11],
10153
loc: {
10154
start: { line: 1, column: 10 },
10155
end: { line: 1, column: 11 }
10156
}
10157
},
10158
right: {
10159
type: 'BinaryExpression',
10160
operator: '^',
10161
left: {
10162
type: 'Identifier',
10163
name: 'd',
10164
range: [14, 15],
10165
loc: {
10166
start: { line: 1, column: 14 },
10167
end: { line: 1, column: 15 }
10168
}
10169
},
10170
right: {
10171
type: 'BinaryExpression',
10172
operator: '&',
10173
left: {
10174
type: 'Identifier',
10175
name: 'e',
10176
range: [18, 19],
10177
loc: {
10178
start: { line: 1, column: 18 },
10179
end: { line: 1, column: 19 }
10180
}
10181
},
10182
right: {
10183
type: 'BinaryExpression',
10184
operator: '==',
10185
left: {
10186
type: 'Identifier',
10187
name: 'f',
10188
range: [22, 23],
10189
loc: {
10190
start: { line: 1, column: 22 },
10191
end: { line: 1, column: 23 }
10192
}
10193
},
10194
right: {
10195
type: 'BinaryExpression',
10196
operator: '<',
10197
left: {
10198
type: 'Identifier',
10199
name: 'g',
10200
range: [27, 28],
10201
loc: {
10202
start: { line: 1, column: 27 },
10203
end: { line: 1, column: 28 }
10204
}
10205
},
10206
right: {
10207
type: 'BinaryExpression',
10208
operator: '>>>',
10209
left: {
10210
type: 'Identifier',
10211
name: 'h',
10212
range: [31, 32],
10213
loc: {
10214
start: { line: 1, column: 31 },
10215
end: { line: 1, column: 32 }
10216
}
10217
},
10218
right: {
10219
type: 'BinaryExpression',
10220
operator: '+',
10221
left: {
10222
type: 'Identifier',
10223
name: 'i',
10224
range: [37, 38],
10225
loc: {
10226
start: { line: 1, column: 37 },
10227
end: { line: 1, column: 38 }
10228
}
10229
},
10230
right: {
10231
type: 'BinaryExpression',
10232
operator: '*',
10233
left: {
10234
type: 'Identifier',
10235
name: 'j',
10236
range: [41, 42],
10237
loc: {
10238
start: { line: 1, column: 41 },
10239
end: { line: 1, column: 42 }
10240
}
10241
},
10242
right: {
10243
type: 'Identifier',
10244
name: 'k',
10245
range: [45, 46],
10246
loc: {
10247
start: { line: 1, column: 45 },
10248
end: { line: 1, column: 46 }
10249
}
10250
},
10251
range: [41, 46],
10252
loc: {
10253
start: { line: 1, column: 41 },
10254
end: { line: 1, column: 46 }
10255
}
10256
},
10257
range: [37, 46],
10258
loc: {
10259
start: { line: 1, column: 37 },
10260
end: { line: 1, column: 46 }
10261
}
10262
},
10263
range: [31, 46],
10264
loc: {
10265
start: { line: 1, column: 31 },
10266
end: { line: 1, column: 46 }
10267
}
10268
},
10269
range: [27, 46],
10270
loc: {
10271
start: { line: 1, column: 27 },
10272
end: { line: 1, column: 46 }
10273
}
10274
},
10275
range: [22, 46],
10276
loc: {
10277
start: { line: 1, column: 22 },
10278
end: { line: 1, column: 46 }
10279
}
10280
},
10281
range: [18, 46],
10282
loc: {
10283
start: { line: 1, column: 18 },
10284
end: { line: 1, column: 46 }
10285
}
10286
},
10287
range: [14, 46],
10288
loc: {
10289
start: { line: 1, column: 14 },
10290
end: { line: 1, column: 46 }
10291
}
10292
},
10293
range: [10, 46],
10294
loc: {
10295
start: { line: 1, column: 10 },
10296
end: { line: 1, column: 46 }
10297
}
10298
},
10299
range: [5, 46],
10300
loc: {
10301
start: { line: 1, column: 5 },
10302
end: { line: 1, column: 46 }
10303
}
10304
},
10305
range: [0, 46],
10306
loc: {
10307
start: { line: 1, column: 0 },
10308
end: { line: 1, column: 46 }
10309
}
10310
},
10311
range: [0, 46],
10312
loc: {
10313
start: { line: 1, column: 0 },
10314
end: { line: 1, column: 46 }
10315
}
10316
}
10317
10318
},
10319
10320
'Block': {
10321
10322
'{ foo }': {
10323
type: 'BlockStatement',
10324
body: [{
10325
type: 'ExpressionStatement',
10326
expression: {
10327
type: 'Identifier',
10328
name: 'foo',
10329
range: [2, 5],
10330
loc: {
10331
start: { line: 1, column: 2 },
10332
end: { line: 1, column: 5 }
10333
}
10334
},
10335
range: [2, 6],
10336
loc: {
10337
start: { line: 1, column: 2 },
10338
end: { line: 1, column: 6 }
10339
}
10340
}],
10341
range: [0, 7],
10342
loc: {
10343
start: { line: 1, column: 0 },
10344
end: { line: 1, column: 7 }
10345
}
10346
},
10347
10348
'{ doThis(); doThat(); }': {
10349
type: 'BlockStatement',
10350
body: [{
10351
type: 'ExpressionStatement',
10352
expression: {
10353
type: 'CallExpression',
10354
callee: {
10355
type: 'Identifier',
10356
name: 'doThis',
10357
range: [2, 8],
10358
loc: {
10359
start: { line: 1, column: 2 },
10360
end: { line: 1, column: 8 }
10361
}
10362
},
10363
'arguments': [],
10364
range: [2, 10],
10365
loc: {
10366
start: { line: 1, column: 2 },
10367
end: { line: 1, column: 10 }
10368
}
10369
},
10370
range: [2, 11],
10371
loc: {
10372
start: { line: 1, column: 2 },
10373
end: { line: 1, column: 11 }
10374
}
10375
}, {
10376
type: 'ExpressionStatement',
10377
expression: {
10378
type: 'CallExpression',
10379
callee: {
10380
type: 'Identifier',
10381
name: 'doThat',
10382
range: [12, 18],
10383
loc: {
10384
start: { line: 1, column: 12 },
10385
end: { line: 1, column: 18 }
10386
}
10387
},
10388
'arguments': [],
10389
range: [12, 20],
10390
loc: {
10391
start: { line: 1, column: 12 },
10392
end: { line: 1, column: 20 }
10393
}
10394
},
10395
range: [12, 21],
10396
loc: {
10397
start: { line: 1, column: 12 },
10398
end: { line: 1, column: 21 }
10399
}
10400
}],
10401
range: [0, 23],
10402
loc: {
10403
start: { line: 1, column: 0 },
10404
end: { line: 1, column: 23 }
10405
}
10406
},
10407
10408
'{}': {
10409
type: 'BlockStatement',
10410
body: [],
10411
range: [0, 2],
10412
loc: {
10413
start: { line: 1, column: 0 },
10414
end: { line: 1, column: 2 }
10415
}
10416
}
10417
10418
},
10419
10420
'Variable Statement': {
10421
10422
'var x': {
10423
type: 'VariableDeclaration',
10424
declarations: [{
10425
type: 'VariableDeclarator',
10426
id: {
10427
type: 'Identifier',
10428
name: 'x',
10429
range: [4, 5],
10430
loc: {
10431
start: { line: 1, column: 4 },
10432
end: { line: 1, column: 5 }
10433
}
10434
},
10435
init: null,
10436
range: [4, 5],
10437
loc: {
10438
start: { line: 1, column: 4 },
10439
end: { line: 1, column: 5 }
10440
}
10441
}],
10442
kind: 'var',
10443
range: [0, 5],
10444
loc: {
10445
start: { line: 1, column: 0 },
10446
end: { line: 1, column: 5 }
10447
}
10448
},
10449
10450
'var x, y;': {
10451
type: 'VariableDeclaration',
10452
declarations: [{
10453
type: 'VariableDeclarator',
10454
id: {
10455
type: 'Identifier',
10456
name: 'x',
10457
range: [4, 5],
10458
loc: {
10459
start: { line: 1, column: 4 },
10460
end: { line: 1, column: 5 }
10461
}
10462
},
10463
init: null,
10464
range: [4, 5],
10465
loc: {
10466
start: { line: 1, column: 4 },
10467
end: { line: 1, column: 5 }
10468
}
10469
}, {
10470
type: 'VariableDeclarator',
10471
id: {
10472
type: 'Identifier',
10473
name: 'y',
10474
range: [7, 8],
10475
loc: {
10476
start: { line: 1, column: 7 },
10477
end: { line: 1, column: 8 }
10478
}
10479
},
10480
init: null,
10481
range: [7, 8],
10482
loc: {
10483
start: { line: 1, column: 7 },
10484
end: { line: 1, column: 8 }
10485
}
10486
}],
10487
kind: 'var',
10488
range: [0, 9],
10489
loc: {
10490
start: { line: 1, column: 0 },
10491
end: { line: 1, column: 9 }
10492
}
10493
},
10494
10495
'var x = 42': {
10496
type: 'VariableDeclaration',
10497
declarations: [{
10498
type: 'VariableDeclarator',
10499
id: {
10500
type: 'Identifier',
10501
name: 'x',
10502
range: [4, 5],
10503
loc: {
10504
start: { line: 1, column: 4 },
10505
end: { line: 1, column: 5 }
10506
}
10507
},
10508
init: {
10509
type: 'Literal',
10510
value: 42,
10511
raw: '42',
10512
range: [8, 10],
10513
loc: {
10514
start: { line: 1, column: 8 },
10515
end: { line: 1, column: 10 }
10516
}
10517
},
10518
range: [4, 10],
10519
loc: {
10520
start: { line: 1, column: 4 },
10521
end: { line: 1, column: 10 }
10522
}
10523
}],
10524
kind: 'var',
10525
range: [0, 10],
10526
loc: {
10527
start: { line: 1, column: 0 },
10528
end: { line: 1, column: 10 }
10529
}
10530
},
10531
10532
'var eval = 42, arguments = 42': {
10533
type: 'VariableDeclaration',
10534
declarations: [{
10535
type: 'VariableDeclarator',
10536
id: {
10537
type: 'Identifier',
10538
name: 'eval',
10539
range: [4, 8],
10540
loc: {
10541
start: { line: 1, column: 4 },
10542
end: { line: 1, column: 8 }
10543
}
10544
},
10545
init: {
10546
type: 'Literal',
10547
value: 42,
10548
raw: '42',
10549
range: [11, 13],
10550
loc: {
10551
start: { line: 1, column: 11 },
10552
end: { line: 1, column: 13 }
10553
}
10554
},
10555
range: [4, 13],
10556
loc: {
10557
start: { line: 1, column: 4 },
10558
end: { line: 1, column: 13 }
10559
}
10560
}, {
10561
type: 'VariableDeclarator',
10562
id: {
10563
type: 'Identifier',
10564
name: 'arguments',
10565
range: [15, 24],
10566
loc: {
10567
start: { line: 1, column: 15 },
10568
end: { line: 1, column: 24 }
10569
}
10570
},
10571
init: {
10572
type: 'Literal',
10573
value: 42,
10574
raw: '42',
10575
range: [27, 29],
10576
loc: {
10577
start: { line: 1, column: 27 },
10578
end: { line: 1, column: 29 }
10579
}
10580
},
10581
range: [15, 29],
10582
loc: {
10583
start: { line: 1, column: 15 },
10584
end: { line: 1, column: 29 }
10585
}
10586
}],
10587
kind: 'var',
10588
range: [0, 29],
10589
loc: {
10590
start: { line: 1, column: 0 },
10591
end: { line: 1, column: 29 }
10592
}
10593
},
10594
10595
'var x = 14, y = 3, z = 1977': {
10596
type: 'VariableDeclaration',
10597
declarations: [{
10598
type: 'VariableDeclarator',
10599
id: {
10600
type: 'Identifier',
10601
name: 'x',
10602
range: [4, 5],
10603
loc: {
10604
start: { line: 1, column: 4 },
10605
end: { line: 1, column: 5 }
10606
}
10607
},
10608
init: {
10609
type: 'Literal',
10610
value: 14,
10611
raw: '14',
10612
range: [8, 10],
10613
loc: {
10614
start: { line: 1, column: 8 },
10615
end: { line: 1, column: 10 }
10616
}
10617
},
10618
range: [4, 10],
10619
loc: {
10620
start: { line: 1, column: 4 },
10621
end: { line: 1, column: 10 }
10622
}
10623
}, {
10624
type: 'VariableDeclarator',
10625
id: {
10626
type: 'Identifier',
10627
name: 'y',
10628
range: [12, 13],
10629
loc: {
10630
start: { line: 1, column: 12 },
10631
end: { line: 1, column: 13 }
10632
}
10633
},
10634
init: {
10635
type: 'Literal',
10636
value: 3,
10637
raw: '3',
10638
range: [16, 17],
10639
loc: {
10640
start: { line: 1, column: 16 },
10641
end: { line: 1, column: 17 }
10642
}
10643
},
10644
range: [12, 17],
10645
loc: {
10646
start: { line: 1, column: 12 },
10647
end: { line: 1, column: 17 }
10648
}
10649
}, {
10650
type: 'VariableDeclarator',
10651
id: {
10652
type: 'Identifier',
10653
name: 'z',
10654
range: [19, 20],
10655
loc: {
10656
start: { line: 1, column: 19 },
10657
end: { line: 1, column: 20 }
10658
}
10659
},
10660
init: {
10661
type: 'Literal',
10662
value: 1977,
10663
raw: '1977',
10664
range: [23, 27],
10665
loc: {
10666
start: { line: 1, column: 23 },
10667
end: { line: 1, column: 27 }
10668
}
10669
},
10670
range: [19, 27],
10671
loc: {
10672
start: { line: 1, column: 19 },
10673
end: { line: 1, column: 27 }
10674
}
10675
}],
10676
kind: 'var',
10677
range: [0, 27],
10678
loc: {
10679
start: { line: 1, column: 0 },
10680
end: { line: 1, column: 27 }
10681
}
10682
},
10683
10684
'var implements, interface, package': {
10685
type: 'VariableDeclaration',
10686
declarations: [{
10687
type: 'VariableDeclarator',
10688
id: {
10689
type: 'Identifier',
10690
name: 'implements',
10691
range: [4, 14],
10692
loc: {
10693
start: { line: 1, column: 4 },
10694
end: { line: 1, column: 14 }
10695
}
10696
},
10697
init: null,
10698
range: [4, 14],
10699
loc: {
10700
start: { line: 1, column: 4 },
10701
end: { line: 1, column: 14 }
10702
}
10703
}, {
10704
type: 'VariableDeclarator',
10705
id: {
10706
type: 'Identifier',
10707
name: 'interface',
10708
range: [16, 25],
10709
loc: {
10710
start: { line: 1, column: 16 },
10711
end: { line: 1, column: 25 }
10712
}
10713
},
10714
init: null,
10715
range: [16, 25],
10716
loc: {
10717
start: { line: 1, column: 16 },
10718
end: { line: 1, column: 25 }
10719
}
10720
}, {
10721
type: 'VariableDeclarator',
10722
id: {
10723
type: 'Identifier',
10724
name: 'package',
10725
range: [27, 34],
10726
loc: {
10727
start: { line: 1, column: 27 },
10728
end: { line: 1, column: 34 }
10729
}
10730
},
10731
init: null,
10732
range: [27, 34],
10733
loc: {
10734
start: { line: 1, column: 27 },
10735
end: { line: 1, column: 34 }
10736
}
10737
}],
10738
kind: 'var',
10739
range: [0, 34],
10740
loc: {
10741
start: { line: 1, column: 0 },
10742
end: { line: 1, column: 34 }
10743
}
10744
},
10745
10746
'var private, protected, public, static': {
10747
type: 'VariableDeclaration',
10748
declarations: [{
10749
type: 'VariableDeclarator',
10750
id: {
10751
type: 'Identifier',
10752
name: 'private',
10753
range: [4, 11],
10754
loc: {
10755
start: { line: 1, column: 4 },
10756
end: { line: 1, column: 11 }
10757
}
10758
},
10759
init: null,
10760
range: [4, 11],
10761
loc: {
10762
start: { line: 1, column: 4 },
10763
end: { line: 1, column: 11 }
10764
}
10765
}, {
10766
type: 'VariableDeclarator',
10767
id: {
10768
type: 'Identifier',
10769
name: 'protected',
10770
range: [13, 22],
10771
loc: {
10772
start: { line: 1, column: 13 },
10773
end: { line: 1, column: 22 }
10774
}
10775
},
10776
init: null,
10777
range: [13, 22],
10778
loc: {
10779
start: { line: 1, column: 13 },
10780
end: { line: 1, column: 22 }
10781
}
10782
}, {
10783
type: 'VariableDeclarator',
10784
id: {
10785
type: 'Identifier',
10786
name: 'public',
10787
range: [24, 30],
10788
loc: {
10789
start: { line: 1, column: 24 },
10790
end: { line: 1, column: 30 }
10791
}
10792
},
10793
init: null,
10794
range: [24, 30],
10795
loc: {
10796
start: { line: 1, column: 24 },
10797
end: { line: 1, column: 30 }
10798
}
10799
}, {
10800
type: 'VariableDeclarator',
10801
id: {
10802
type: 'Identifier',
10803
name: 'static',
10804
range: [32, 38],
10805
loc: {
10806
start: { line: 1, column: 32 },
10807
end: { line: 1, column: 38 }
10808
}
10809
},
10810
init: null,
10811
range: [32, 38],
10812
loc: {
10813
start: { line: 1, column: 32 },
10814
end: { line: 1, column: 38 }
10815
}
10816
}],
10817
kind: 'var',
10818
range: [0, 38],
10819
loc: {
10820
start: { line: 1, column: 0 },
10821
end: { line: 1, column: 38 }
10822
}
10823
}
10824
10825
},
10826
10827
'Let Statement': {
10828
10829
'let x': {
10830
type: 'VariableDeclaration',
10831
declarations: [{
10832
type: 'VariableDeclarator',
10833
id: {
10834
type: 'Identifier',
10835
name: 'x',
10836
range: [4, 5],
10837
loc: {
10838
start: { line: 1, column: 4 },
10839
end: { line: 1, column: 5 }
10840
}
10841
},
10842
init: null,
10843
range: [4, 5],
10844
loc: {
10845
start: { line: 1, column: 4 },
10846
end: { line: 1, column: 5 }
10847
}
10848
}],
10849
kind: 'let',
10850
range: [0, 5],
10851
loc: {
10852
start: { line: 1, column: 0 },
10853
end: { line: 1, column: 5 }
10854
}
10855
},
10856
10857
'{ let x }': {
10858
type: 'BlockStatement',
10859
body: [{
10860
type: 'VariableDeclaration',
10861
declarations: [{
10862
type: 'VariableDeclarator',
10863
id: {
10864
type: 'Identifier',
10865
name: 'x',
10866
range: [6, 7],
10867
loc: {
10868
start: { line: 1, column: 6 },
10869
end: { line: 1, column: 7 }
10870
}
10871
},
10872
init: null,
10873
range: [6, 7],
10874
loc: {
10875
start: { line: 1, column: 6 },
10876
end: { line: 1, column: 7 }
10877
}
10878
}],
10879
kind: 'let',
10880
range: [2, 8],
10881
loc: {
10882
start: { line: 1, column: 2 },
10883
end: { line: 1, column: 8 }
10884
}
10885
}],
10886
range: [0, 9],
10887
loc: {
10888
start: { line: 1, column: 0 },
10889
end: { line: 1, column: 9 }
10890
}
10891
},
10892
10893
'{ let x = 42 }': {
10894
type: 'BlockStatement',
10895
body: [{
10896
type: 'VariableDeclaration',
10897
declarations: [{
10898
type: 'VariableDeclarator',
10899
id: {
10900
type: 'Identifier',
10901
name: 'x',
10902
range: [6, 7],
10903
loc: {
10904
start: { line: 1, column: 6 },
10905
end: { line: 1, column: 7 }
10906
}
10907
},
10908
init: {
10909
type: 'Literal',
10910
value: 42,
10911
raw: '42',
10912
range: [10, 12],
10913
loc: {
10914
start: { line: 1, column: 10 },
10915
end: { line: 1, column: 12 }
10916
}
10917
},
10918
range: [6, 12],
10919
loc: {
10920
start: { line: 1, column: 6 },
10921
end: { line: 1, column: 12 }
10922
}
10923
}],
10924
kind: 'let',
10925
range: [2, 13],
10926
loc: {
10927
start: { line: 1, column: 2 },
10928
end: { line: 1, column: 13 }
10929
}
10930
}],
10931
range: [0, 14],
10932
loc: {
10933
start: { line: 1, column: 0 },
10934
end: { line: 1, column: 14 }
10935
}
10936
},
10937
10938
'{ let x = 14, y = 3, z = 1977 }': {
10939
type: 'BlockStatement',
10940
body: [{
10941
type: 'VariableDeclaration',
10942
declarations: [{
10943
type: 'VariableDeclarator',
10944
id: {
10945
type: 'Identifier',
10946
name: 'x',
10947
range: [6, 7],
10948
loc: {
10949
start: { line: 1, column: 6 },
10950
end: { line: 1, column: 7 }
10951
}
10952
},
10953
init: {
10954
type: 'Literal',
10955
value: 14,
10956
raw: '14',
10957
range: [10, 12],
10958
loc: {
10959
start: { line: 1, column: 10 },
10960
end: { line: 1, column: 12 }
10961
}
10962
},
10963
range: [6, 12],
10964
loc: {
10965
start: { line: 1, column: 6 },
10966
end: { line: 1, column: 12 }
10967
}
10968
}, {
10969
type: 'VariableDeclarator',
10970
id: {
10971
type: 'Identifier',
10972
name: 'y',
10973
range: [14, 15],
10974
loc: {
10975
start: { line: 1, column: 14 },
10976
end: { line: 1, column: 15 }
10977
}
10978
},
10979
init: {
10980
type: 'Literal',
10981
value: 3,
10982
raw: '3',
10983
range: [18, 19],
10984
loc: {
10985
start: { line: 1, column: 18 },
10986
end: { line: 1, column: 19 }
10987
}
10988
},
10989
range: [14, 19],
10990
loc: {
10991
start: { line: 1, column: 14 },
10992
end: { line: 1, column: 19 }
10993
}
10994
}, {
10995
type: 'VariableDeclarator',
10996
id: {
10997
type: 'Identifier',
10998
name: 'z',
10999
range: [21, 22],
11000
loc: {
11001
start: { line: 1, column: 21 },
11002
end: { line: 1, column: 22 }
11003
}
11004
},
11005
init: {
11006
type: 'Literal',
11007
value: 1977,
11008
raw: '1977',
11009
range: [25, 29],
11010
loc: {
11011
start: { line: 1, column: 25 },
11012
end: { line: 1, column: 29 }
11013
}
11014
},
11015
range: [21, 29],
11016
loc: {
11017
start: { line: 1, column: 21 },
11018
end: { line: 1, column: 29 }
11019
}
11020
}],
11021
kind: 'let',
11022
range: [2, 30],
11023
loc: {
11024
start: { line: 1, column: 2 },
11025
end: { line: 1, column: 30 }
11026
}
11027
}],
11028
range: [0, 31],
11029
loc: {
11030
start: { line: 1, column: 0 },
11031
end: { line: 1, column: 31 }
11032
}
11033
}
11034
11035
},
11036
11037
'Const Statement': {
11038
11039
'const x = 42': {
11040
type: 'VariableDeclaration',
11041
declarations: [{
11042
type: 'VariableDeclarator',
11043
id: {
11044
type: 'Identifier',
11045
name: 'x',
11046
range: [6, 7],
11047
loc: {
11048
start: { line: 1, column: 6 },
11049
end: { line: 1, column: 7 }
11050
}
11051
},
11052
init: {
11053
type: 'Literal',
11054
value: 42,
11055
raw: '42',
11056
range: [10, 12],
11057
loc: {
11058
start: { line: 1, column: 10 },
11059
end: { line: 1, column: 12 }
11060
}
11061
},
11062
range: [6, 12],
11063
loc: {
11064
start: { line: 1, column: 6 },
11065
end: { line: 1, column: 12 }
11066
}
11067
}],
11068
kind: 'const',
11069
range: [0, 12],
11070
loc: {
11071
start: { line: 1, column: 0 },
11072
end: { line: 1, column: 12 }
11073
}
11074
},
11075
11076
'{ const x = 42 }': {
11077
type: 'BlockStatement',
11078
body: [{
11079
type: 'VariableDeclaration',
11080
declarations: [{
11081
type: 'VariableDeclarator',
11082
id: {
11083
type: 'Identifier',
11084
name: 'x',
11085
range: [8, 9],
11086
loc: {
11087
start: { line: 1, column: 8 },
11088
end: { line: 1, column: 9 }
11089
}
11090
},
11091
init: {
11092
type: 'Literal',
11093
value: 42,
11094
raw: '42',
11095
range: [12, 14],
11096
loc: {
11097
start: { line: 1, column: 12 },
11098
end: { line: 1, column: 14 }
11099
}
11100
},
11101
range: [8, 14],
11102
loc: {
11103
start: { line: 1, column: 8 },
11104
end: { line: 1, column: 14 }
11105
}
11106
}],
11107
kind: 'const',
11108
range: [2, 15],
11109
loc: {
11110
start: { line: 1, column: 2 },
11111
end: { line: 1, column: 15 }
11112
}
11113
}],
11114
range: [0, 16],
11115
loc: {
11116
start: { line: 1, column: 0 },
11117
end: { line: 1, column: 16 }
11118
}
11119
},
11120
11121
'{ const x = 14, y = 3, z = 1977 }': {
11122
type: 'BlockStatement',
11123
body: [{
11124
type: 'VariableDeclaration',
11125
declarations: [{
11126
type: 'VariableDeclarator',
11127
id: {
11128
type: 'Identifier',
11129
name: 'x',
11130
range: [8, 9],
11131
loc: {
11132
start: { line: 1, column: 8 },
11133
end: { line: 1, column: 9 }
11134
}
11135
},
11136
init: {
11137
type: 'Literal',
11138
value: 14,
11139
raw: '14',
11140
range: [12, 14],
11141
loc: {
11142
start: { line: 1, column: 12 },
11143
end: { line: 1, column: 14 }
11144
}
11145
},
11146
range: [8, 14],
11147
loc: {
11148
start: { line: 1, column: 8 },
11149
end: { line: 1, column: 14 }
11150
}
11151
}, {
11152
type: 'VariableDeclarator',
11153
id: {
11154
type: 'Identifier',
11155
name: 'y',
11156
range: [16, 17],
11157
loc: {
11158
start: { line: 1, column: 16 },
11159
end: { line: 1, column: 17 }
11160
}
11161
},
11162
init: {
11163
type: 'Literal',
11164
value: 3,
11165
raw: '3',
11166
range: [20, 21],
11167
loc: {
11168
start: { line: 1, column: 20 },
11169
end: { line: 1, column: 21 }
11170
}
11171
},
11172
range: [16, 21],
11173
loc: {
11174
start: { line: 1, column: 16 },
11175
end: { line: 1, column: 21 }
11176
}
11177
}, {
11178
type: 'VariableDeclarator',
11179
id: {
11180
type: 'Identifier',
11181
name: 'z',
11182
range: [23, 24],
11183
loc: {
11184
start: { line: 1, column: 23 },
11185
end: { line: 1, column: 24 }
11186
}
11187
},
11188
init: {
11189
type: 'Literal',
11190
value: 1977,
11191
raw: '1977',
11192
range: [27, 31],
11193
loc: {
11194
start: { line: 1, column: 27 },
11195
end: { line: 1, column: 31 }
11196
}
11197
},
11198
range: [23, 31],
11199
loc: {
11200
start: { line: 1, column: 23 },
11201
end: { line: 1, column: 31 }
11202
}
11203
}],
11204
kind: 'const',
11205
range: [2, 32],
11206
loc: {
11207
start: { line: 1, column: 2 },
11208
end: { line: 1, column: 32 }
11209
}
11210
}],
11211
range: [0, 33],
11212
loc: {
11213
start: { line: 1, column: 0 },
11214
end: { line: 1, column: 33 }
11215
}
11216
}
11217
11218
},
11219
11220
'Empty Statement': {
11221
11222
';': {
11223
type: 'EmptyStatement',
11224
range: [0, 1],
11225
loc: {
11226
start: { line: 1, column: 0 },
11227
end: { line: 1, column: 1 }
11228
}
11229
}
11230
11231
},
11232
11233
'Expression Statement': {
11234
11235
'x': {
11236
type: 'ExpressionStatement',
11237
expression: {
11238
type: 'Identifier',
11239
name: 'x',
11240
range: [0, 1],
11241
loc: {
11242
start: { line: 1, column: 0 },
11243
end: { line: 1, column: 1 }
11244
}
11245
},
11246
range: [0, 1],
11247
loc: {
11248
start: { line: 1, column: 0 },
11249
end: { line: 1, column: 1 }
11250
}
11251
},
11252
11253
'x, y': {
11254
type: 'ExpressionStatement',
11255
expression: {
11256
type: 'SequenceExpression',
11257
expressions: [{
11258
type: 'Identifier',
11259
name: 'x',
11260
range: [0, 1],
11261
loc: {
11262
start: { line: 1, column: 0 },
11263
end: { line: 1, column: 1 }
11264
}
11265
}, {
11266
type: 'Identifier',
11267
name: 'y',
11268
range: [3, 4],
11269
loc: {
11270
start: { line: 1, column: 3 },
11271
end: { line: 1, column: 4 }
11272
}
11273
}],
11274
range: [0, 4],
11275
loc: {
11276
start: { line: 1, column: 0 },
11277
end: { line: 1, column: 4 }
11278
}
11279
},
11280
range: [0, 4],
11281
loc: {
11282
start: { line: 1, column: 0 },
11283
end: { line: 1, column: 4 }
11284
}
11285
},
11286
11287
'\\u0061': {
11288
type: 'ExpressionStatement',
11289
expression: {
11290
type: 'Identifier',
11291
name: 'a',
11292
range: [0, 6],
11293
loc: {
11294
start: { line: 1, column: 0 },
11295
end: { line: 1, column: 6 }
11296
}
11297
},
11298
range: [0, 6],
11299
loc: {
11300
start: { line: 1, column: 0 },
11301
end: { line: 1, column: 6 }
11302
}
11303
},
11304
11305
'a\\u0061': {
11306
type: 'ExpressionStatement',
11307
expression: {
11308
type: 'Identifier',
11309
name: 'aa',
11310
range: [0, 7],
11311
loc: {
11312
start: { line: 1, column: 0 },
11313
end: { line: 1, column: 7 }
11314
}
11315
},
11316
range: [0, 7],
11317
loc: {
11318
start: { line: 1, column: 0 },
11319
end: { line: 1, column: 7 }
11320
}
11321
},
11322
11323
'\\u0061a': {
11324
type: 'ExpressionStatement',
11325
expression: {
11326
type: 'Identifier',
11327
name: 'aa',
11328
range: [0, 7],
11329
loc: {
11330
start: { line: 1, column: 0 },
11331
end: { line: 1, column: 7 }
11332
}
11333
},
11334
range: [0, 7],
11335
loc: {
11336
start: { line: 1, column: 0 },
11337
end: { line: 1, column: 7 }
11338
}
11339
},
11340
11341
'\\u0061a ': {
11342
type: 'ExpressionStatement',
11343
expression: {
11344
type: 'Identifier',
11345
name: 'aa',
11346
range: [0, 7],
11347
loc: {
11348
start: { line: 1, column: 0 },
11349
end: { line: 1, column: 7 }
11350
}
11351
},
11352
range: [0, 8],
11353
loc: {
11354
start: { line: 1, column: 0 },
11355
end: { line: 1, column: 8 }
11356
}
11357
}
11358
},
11359
11360
'If Statement': {
11361
11362
'if (morning) goodMorning()': {
11363
type: 'IfStatement',
11364
test: {
11365
type: 'Identifier',
11366
name: 'morning',
11367
range: [4, 11],
11368
loc: {
11369
start: { line: 1, column: 4 },
11370
end: { line: 1, column: 11 }
11371
}
11372
},
11373
consequent: {
11374
type: 'ExpressionStatement',
11375
expression: {
11376
type: 'CallExpression',
11377
callee: {
11378
type: 'Identifier',
11379
name: 'goodMorning',
11380
range: [13, 24],
11381
loc: {
11382
start: { line: 1, column: 13 },
11383
end: { line: 1, column: 24 }
11384
}
11385
},
11386
'arguments': [],
11387
range: [13, 26],
11388
loc: {
11389
start: { line: 1, column: 13 },
11390
end: { line: 1, column: 26 }
11391
}
11392
},
11393
range: [13, 26],
11394
loc: {
11395
start: { line: 1, column: 13 },
11396
end: { line: 1, column: 26 }
11397
}
11398
},
11399
alternate: null,
11400
range: [0, 26],
11401
loc: {
11402
start: { line: 1, column: 0 },
11403
end: { line: 1, column: 26 }
11404
}
11405
},
11406
11407
'if (morning) (function(){})': {
11408
type: 'IfStatement',
11409
test: {
11410
type: 'Identifier',
11411
name: 'morning',
11412
range: [4, 11],
11413
loc: {
11414
start: { line: 1, column: 4 },
11415
end: { line: 1, column: 11 }
11416
}
11417
},
11418
consequent: {
11419
type: 'ExpressionStatement',
11420
expression: {
11421
type: 'FunctionExpression',
11422
id: null,
11423
params: [],
11424
defaults: [],
11425
body: {
11426
type: 'BlockStatement',
11427
body: [],
11428
range: [24, 26],
11429
loc: {
11430
start: { line: 1, column: 24 },
11431
end: { line: 1, column: 26 }
11432
}
11433
},
11434
rest: null,
11435
generator: false,
11436
expression: false,
11437
range: [14, 26],
11438
loc: {
11439
start: { line: 1, column: 14 },
11440
end: { line: 1, column: 26 }
11441
}
11442
},
11443
range: [13, 27],
11444
loc: {
11445
start: { line: 1, column: 13 },
11446
end: { line: 1, column: 27 }
11447
}
11448
},
11449
alternate: null,
11450
range: [0, 27],
11451
loc: {
11452
start: { line: 1, column: 0 },
11453
end: { line: 1, column: 27 }
11454
}
11455
},
11456
11457
'if (morning) var x = 0;': {
11458
type: 'IfStatement',
11459
test: {
11460
type: 'Identifier',
11461
name: 'morning',
11462
range: [4, 11],
11463
loc: {
11464
start: { line: 1, column: 4 },
11465
end: { line: 1, column: 11 }
11466
}
11467
},
11468
consequent: {
11469
type: 'VariableDeclaration',
11470
declarations: [{
11471
type: 'VariableDeclarator',
11472
id: {
11473
type: 'Identifier',
11474
name: 'x',
11475
range: [17, 18],
11476
loc: {
11477
start: { line: 1, column: 17 },
11478
end: { line: 1, column: 18 }
11479
}
11480
},
11481
init: {
11482
type: 'Literal',
11483
value: 0,
11484
raw: '0',
11485
range: [21, 22],
11486
loc: {
11487
start: { line: 1, column: 21 },
11488
end: { line: 1, column: 22 }
11489
}
11490
},
11491
range: [17, 22],
11492
loc: {
11493
start: { line: 1, column: 17 },
11494
end: { line: 1, column: 22 }
11495
}
11496
}],
11497
kind: 'var',
11498
range: [13, 23],
11499
loc: {
11500
start: { line: 1, column: 13 },
11501
end: { line: 1, column: 23 }
11502
}
11503
},
11504
alternate: null,
11505
range: [0, 23],
11506
loc: {
11507
start: { line: 1, column: 0 },
11508
end: { line: 1, column: 23 }
11509
}
11510
},
11511
11512
'if (morning) function a(){}': {
11513
type: 'IfStatement',
11514
test: {
11515
type: 'Identifier',
11516
name: 'morning',
11517
range: [4, 11],
11518
loc: {
11519
start: { line: 1, column: 4 },
11520
end: { line: 1, column: 11 }
11521
}
11522
},
11523
consequent: {
11524
type: 'FunctionDeclaration',
11525
id: {
11526
type: 'Identifier',
11527
name: 'a',
11528
range: [22, 23],
11529
loc: {
11530
start: { line: 1, column: 22 },
11531
end: { line: 1, column: 23 }
11532
}
11533
},
11534
params: [],
11535
defaults: [],
11536
body: {
11537
type: 'BlockStatement',
11538
body: [],
11539
range: [25, 27],
11540
loc: {
11541
start: { line: 1, column: 25 },
11542
end: { line: 1, column: 27 }
11543
}
11544
},
11545
rest: null,
11546
generator: false,
11547
expression: false,
11548
range: [13, 27],
11549
loc: {
11550
start: { line: 1, column: 13 },
11551
end: { line: 1, column: 27 }
11552
}
11553
},
11554
alternate: null,
11555
range: [0, 27],
11556
loc: {
11557
start: { line: 1, column: 0 },
11558
end: { line: 1, column: 27 }
11559
}
11560
},
11561
11562
'if (morning) goodMorning(); else goodDay()': {
11563
type: 'IfStatement',
11564
test: {
11565
type: 'Identifier',
11566
name: 'morning',
11567
range: [4, 11],
11568
loc: {
11569
start: { line: 1, column: 4 },
11570
end: { line: 1, column: 11 }
11571
}
11572
},
11573
consequent: {
11574
type: 'ExpressionStatement',
11575
expression: {
11576
type: 'CallExpression',
11577
callee: {
11578
type: 'Identifier',
11579
name: 'goodMorning',
11580
range: [13, 24],
11581
loc: {
11582
start: { line: 1, column: 13 },
11583
end: { line: 1, column: 24 }
11584
}
11585
},
11586
'arguments': [],
11587
range: [13, 26],
11588
loc: {
11589
start: { line: 1, column: 13 },
11590
end: { line: 1, column: 26 }
11591
}
11592
},
11593
range: [13, 27],
11594
loc: {
11595
start: { line: 1, column: 13 },
11596
end: { line: 1, column: 27 }
11597
}
11598
},
11599
alternate: {
11600
type: 'ExpressionStatement',
11601
expression: {
11602
type: 'CallExpression',
11603
callee: {
11604
type: 'Identifier',
11605
name: 'goodDay',
11606
range: [33, 40],
11607
loc: {
11608
start: { line: 1, column: 33 },
11609
end: { line: 1, column: 40 }
11610
}
11611
},
11612
'arguments': [],
11613
range: [33, 42],
11614
loc: {
11615
start: { line: 1, column: 33 },
11616
end: { line: 1, column: 42 }
11617
}
11618
},
11619
range: [33, 42],
11620
loc: {
11621
start: { line: 1, column: 33 },
11622
end: { line: 1, column: 42 }
11623
}
11624
},
11625
range: [0, 42],
11626
loc: {
11627
start: { line: 1, column: 0 },
11628
end: { line: 1, column: 42 }
11629
}
11630
}
11631
11632
},
11633
11634
'Iteration Statements': {
11635
11636
'do keep(); while (true)': {
11637
type: 'DoWhileStatement',
11638
body: {
11639
type: 'ExpressionStatement',
11640
expression: {
11641
type: 'CallExpression',
11642
callee: {
11643
type: 'Identifier',
11644
name: 'keep',
11645
range: [3, 7],
11646
loc: {
11647
start: { line: 1, column: 3 },
11648
end: { line: 1, column: 7 }
11649
}
11650
},
11651
'arguments': [],
11652
range: [3, 9],
11653
loc: {
11654
start: { line: 1, column: 3 },
11655
end: { line: 1, column: 9 }
11656
}
11657
},
11658
range: [3, 10],
11659
loc: {
11660
start: { line: 1, column: 3 },
11661
end: { line: 1, column: 10 }
11662
}
11663
},
11664
test: {
11665
type: 'Literal',
11666
value: true,
11667
raw: 'true',
11668
range: [18, 22],
11669
loc: {
11670
start: { line: 1, column: 18 },
11671
end: { line: 1, column: 22 }
11672
}
11673
},
11674
range: [0, 23],
11675
loc: {
11676
start: { line: 1, column: 0 },
11677
end: { line: 1, column: 23 }
11678
}
11679
},
11680
11681
'do keep(); while (true);': {
11682
type: 'DoWhileStatement',
11683
body: {
11684
type: 'ExpressionStatement',
11685
expression: {
11686
type: 'CallExpression',
11687
callee: {
11688
type: 'Identifier',
11689
name: 'keep',
11690
range: [3, 7],
11691
loc: {
11692
start: { line: 1, column: 3 },
11693
end: { line: 1, column: 7 }
11694
}
11695
},
11696
'arguments': [],
11697
range: [3, 9],
11698
loc: {
11699
start: { line: 1, column: 3 },
11700
end: { line: 1, column: 9 }
11701
}
11702
},
11703
range: [3, 10],
11704
loc: {
11705
start: { line: 1, column: 3 },
11706
end: { line: 1, column: 10 }
11707
}
11708
},
11709
test: {
11710
type: 'Literal',
11711
value: true,
11712
raw: 'true',
11713
range: [18, 22],
11714
loc: {
11715
start: { line: 1, column: 18 },
11716
end: { line: 1, column: 22 }
11717
}
11718
},
11719
range: [0, 24],
11720
loc: {
11721
start: { line: 1, column: 0 },
11722
end: { line: 1, column: 24 }
11723
}
11724
},
11725
11726
'do { x++; y--; } while (x < 10)': {
11727
type: 'DoWhileStatement',
11728
body: {
11729
type: 'BlockStatement',
11730
body: [{
11731
type: 'ExpressionStatement',
11732
expression: {
11733
type: 'UpdateExpression',
11734
operator: '++',
11735
argument: {
11736
type: 'Identifier',
11737
name: 'x',
11738
range: [5, 6],
11739
loc: {
11740
start: { line: 1, column: 5 },
11741
end: { line: 1, column: 6 }
11742
}
11743
},
11744
prefix: false,
11745
range: [5, 8],
11746
loc: {
11747
start: { line: 1, column: 5 },
11748
end: { line: 1, column: 8 }
11749
}
11750
},
11751
range: [5, 9],
11752
loc: {
11753
start: { line: 1, column: 5 },
11754
end: { line: 1, column: 9 }
11755
}
11756
}, {
11757
type: 'ExpressionStatement',
11758
expression: {
11759
type: 'UpdateExpression',
11760
operator: '--',
11761
argument: {
11762
type: 'Identifier',
11763
name: 'y',
11764
range: [10, 11],
11765
loc: {
11766
start: { line: 1, column: 10 },
11767
end: { line: 1, column: 11 }
11768
}
11769
},
11770
prefix: false,
11771
range: [10, 13],
11772
loc: {
11773
start: { line: 1, column: 10 },
11774
end: { line: 1, column: 13 }
11775
}
11776
},
11777
range: [10, 14],
11778
loc: {
11779
start: { line: 1, column: 10 },
11780
end: { line: 1, column: 14 }
11781
}
11782
}],
11783
range: [3, 16],
11784
loc: {
11785
start: { line: 1, column: 3 },
11786
end: { line: 1, column: 16 }
11787
}
11788
},
11789
test: {
11790
type: 'BinaryExpression',
11791
operator: '<',
11792
left: {
11793
type: 'Identifier',
11794
name: 'x',
11795
range: [24, 25],
11796
loc: {
11797
start: { line: 1, column: 24 },
11798
end: { line: 1, column: 25 }
11799
}
11800
},
11801
right: {
11802
type: 'Literal',
11803
value: 10,
11804
raw: '10',
11805
range: [28, 30],
11806
loc: {
11807
start: { line: 1, column: 28 },
11808
end: { line: 1, column: 30 }
11809
}
11810
},
11811
range: [24, 30],
11812
loc: {
11813
start: { line: 1, column: 24 },
11814
end: { line: 1, column: 30 }
11815
}
11816
},
11817
range: [0, 31],
11818
loc: {
11819
start: { line: 1, column: 0 },
11820
end: { line: 1, column: 31 }
11821
}
11822
},
11823
11824
'{ do { } while (false) false }': {
11825
type: 'BlockStatement',
11826
body: [{
11827
type: 'DoWhileStatement',
11828
body: {
11829
type: 'BlockStatement',
11830
body: [],
11831
range: [5, 8],
11832
loc: {
11833
start: { line: 1, column: 5 },
11834
end: { line: 1, column: 8 }
11835
}
11836
},
11837
test: {
11838
type: 'Literal',
11839
value: false,
11840
raw: 'false',
11841
range: [16, 21],
11842
loc: {
11843
start: { line: 1, column: 16 },
11844
end: { line: 1, column: 21 }
11845
}
11846
},
11847
range: [2, 22],
11848
loc: {
11849
start: { line: 1, column: 2 },
11850
end: { line: 1, column: 22 }
11851
}
11852
}, {
11853
type: 'ExpressionStatement',
11854
expression: {
11855
type: 'Literal',
11856
value: false,
11857
raw: 'false',
11858
range: [23, 28],
11859
loc: {
11860
start: { line: 1, column: 23 },
11861
end: { line: 1, column: 28 }
11862
}
11863
},
11864
range: [23, 29],
11865
loc: {
11866
start: { line: 1, column: 23 },
11867
end: { line: 1, column: 29 }
11868
}
11869
}],
11870
range: [0, 30],
11871
loc: {
11872
start: { line: 1, column: 0 },
11873
end: { line: 1, column: 30 }
11874
}
11875
},
11876
11877
'while (true) doSomething()': {
11878
type: 'WhileStatement',
11879
test: {
11880
type: 'Literal',
11881
value: true,
11882
raw: 'true',
11883
range: [7, 11],
11884
loc: {
11885
start: { line: 1, column: 7 },
11886
end: { line: 1, column: 11 }
11887
}
11888
},
11889
body: {
11890
type: 'ExpressionStatement',
11891
expression: {
11892
type: 'CallExpression',
11893
callee: {
11894
type: 'Identifier',
11895
name: 'doSomething',
11896
range: [13, 24],
11897
loc: {
11898
start: { line: 1, column: 13 },
11899
end: { line: 1, column: 24 }
11900
}
11901
},
11902
'arguments': [],
11903
range: [13, 26],
11904
loc: {
11905
start: { line: 1, column: 13 },
11906
end: { line: 1, column: 26 }
11907
}
11908
},
11909
range: [13, 26],
11910
loc: {
11911
start: { line: 1, column: 13 },
11912
end: { line: 1, column: 26 }
11913
}
11914
},
11915
range: [0, 26],
11916
loc: {
11917
start: { line: 1, column: 0 },
11918
end: { line: 1, column: 26 }
11919
}
11920
},
11921
11922
'while (x < 10) { x++; y--; }': {
11923
type: 'WhileStatement',
11924
test: {
11925
type: 'BinaryExpression',
11926
operator: '<',
11927
left: {
11928
type: 'Identifier',
11929
name: 'x',
11930
range: [7, 8],
11931
loc: {
11932
start: { line: 1, column: 7 },
11933
end: { line: 1, column: 8 }
11934
}
11935
},
11936
right: {
11937
type: 'Literal',
11938
value: 10,
11939
raw: '10',
11940
range: [11, 13],
11941
loc: {
11942
start: { line: 1, column: 11 },
11943
end: { line: 1, column: 13 }
11944
}
11945
},
11946
range: [7, 13],
11947
loc: {
11948
start: { line: 1, column: 7 },
11949
end: { line: 1, column: 13 }
11950
}
11951
},
11952
body: {
11953
type: 'BlockStatement',
11954
body: [{
11955
type: 'ExpressionStatement',
11956
expression: {
11957
type: 'UpdateExpression',
11958
operator: '++',
11959
argument: {
11960
type: 'Identifier',
11961
name: 'x',
11962
range: [17, 18],
11963
loc: {
11964
start: { line: 1, column: 17 },
11965
end: { line: 1, column: 18 }
11966
}
11967
},
11968
prefix: false,
11969
range: [17, 20],
11970
loc: {
11971
start: { line: 1, column: 17 },
11972
end: { line: 1, column: 20 }
11973
}
11974
},
11975
range: [17, 21],
11976
loc: {
11977
start: { line: 1, column: 17 },
11978
end: { line: 1, column: 21 }
11979
}
11980
}, {
11981
type: 'ExpressionStatement',
11982
expression: {
11983
type: 'UpdateExpression',
11984
operator: '--',
11985
argument: {
11986
type: 'Identifier',
11987
name: 'y',
11988
range: [22, 23],
11989
loc: {
11990
start: { line: 1, column: 22 },
11991
end: { line: 1, column: 23 }
11992
}
11993
},
11994
prefix: false,
11995
range: [22, 25],
11996
loc: {
11997
start: { line: 1, column: 22 },
11998
end: { line: 1, column: 25 }
11999
}
12000
},
12001
range: [22, 26],
12002
loc: {
12003
start: { line: 1, column: 22 },
12004
end: { line: 1, column: 26 }
12005
}
12006
}],
12007
range: [15, 28],
12008
loc: {
12009
start: { line: 1, column: 15 },
12010
end: { line: 1, column: 28 }
12011
}
12012
},
12013
range: [0, 28],
12014
loc: {
12015
start: { line: 1, column: 0 },
12016
end: { line: 1, column: 28 }
12017
}
12018
},
12019
12020
'for(;;);': {
12021
type: 'ForStatement',
12022
init: null,
12023
test: null,
12024
update: null,
12025
body: {
12026
type: 'EmptyStatement',
12027
range: [7, 8],
12028
loc: {
12029
start: { line: 1, column: 7 },
12030
end: { line: 1, column: 8 }
12031
}
12032
},
12033
range: [0, 8],
12034
loc: {
12035
start: { line: 1, column: 0 },
12036
end: { line: 1, column: 8 }
12037
}
12038
},
12039
12040
'for(;;){}': {
12041
type: 'ForStatement',
12042
init: null,
12043
test: null,
12044
update: null,
12045
body: {
12046
type: 'BlockStatement',
12047
body: [],
12048
range: [7, 9],
12049
loc: {
12050
start: { line: 1, column: 7 },
12051
end: { line: 1, column: 9 }
12052
}
12053
},
12054
range: [0, 9],
12055
loc: {
12056
start: { line: 1, column: 0 },
12057
end: { line: 1, column: 9 }
12058
}
12059
},
12060
12061
'for(x = 0;;);': {
12062
type: 'ForStatement',
12063
init: {
12064
type: 'AssignmentExpression',
12065
operator: '=',
12066
left: {
12067
type: 'Identifier',
12068
name: 'x',
12069
range: [4, 5],
12070
loc: {
12071
start: { line: 1, column: 4 },
12072
end: { line: 1, column: 5 }
12073
}
12074
},
12075
right: {
12076
type: 'Literal',
12077
value: 0,
12078
raw: '0',
12079
range: [8, 9],
12080
loc: {
12081
start: { line: 1, column: 8 },
12082
end: { line: 1, column: 9 }
12083
}
12084
},
12085
range: [4, 9],
12086
loc: {
12087
start: { line: 1, column: 4 },
12088
end: { line: 1, column: 9 }
12089
}
12090
},
12091
test: null,
12092
update: null,
12093
body: {
12094
type: 'EmptyStatement',
12095
range: [12, 13],
12096
loc: {
12097
start: { line: 1, column: 12 },
12098
end: { line: 1, column: 13 }
12099
}
12100
},
12101
range: [0, 13],
12102
loc: {
12103
start: { line: 1, column: 0 },
12104
end: { line: 1, column: 13 }
12105
}
12106
},
12107
12108
'for(var x = 0;;);': {
12109
type: 'ForStatement',
12110
init: {
12111
type: 'VariableDeclaration',
12112
declarations: [{
12113
type: 'VariableDeclarator',
12114
id: {
12115
type: 'Identifier',
12116
name: 'x',
12117
range: [8, 9],
12118
loc: {
12119
start: { line: 1, column: 8 },
12120
end: { line: 1, column: 9 }
12121
}
12122
},
12123
init: {
12124
type: 'Literal',
12125
value: 0,
12126
raw: '0',
12127
range: [12, 13],
12128
loc: {
12129
start: { line: 1, column: 12 },
12130
end: { line: 1, column: 13 }
12131
}
12132
},
12133
range: [8, 13],
12134
loc: {
12135
start: { line: 1, column: 8 },
12136
end: { line: 1, column: 13 }
12137
}
12138
}],
12139
kind: 'var',
12140
range: [4, 13],
12141
loc: {
12142
start: { line: 1, column: 4 },
12143
end: { line: 1, column: 13 }
12144
}
12145
},
12146
test: null,
12147
update: null,
12148
body: {
12149
type: 'EmptyStatement',
12150
range: [16, 17],
12151
loc: {
12152
start: { line: 1, column: 16 },
12153
end: { line: 1, column: 17 }
12154
}
12155
},
12156
range: [0, 17],
12157
loc: {
12158
start: { line: 1, column: 0 },
12159
end: { line: 1, column: 17 }
12160
}
12161
},
12162
12163
'for(let x = 0;;);': {
12164
type: 'ForStatement',
12165
init: {
12166
type: 'VariableDeclaration',
12167
declarations: [{
12168
type: 'VariableDeclarator',
12169
id: {
12170
type: 'Identifier',
12171
name: 'x',
12172
range: [8, 9],
12173
loc: {
12174
start: { line: 1, column: 8 },
12175
end: { line: 1, column: 9 }
12176
}
12177
},
12178
init: {
12179
type: 'Literal',
12180
value: 0,
12181
raw: '0',
12182
range: [12, 13],
12183
loc: {
12184
start: { line: 1, column: 12 },
12185
end: { line: 1, column: 13 }
12186
}
12187
},
12188
range: [8, 13],
12189
loc: {
12190
start: { line: 1, column: 8 },
12191
end: { line: 1, column: 13 }
12192
}
12193
}],
12194
kind: 'let',
12195
range: [4, 13],
12196
loc: {
12197
start: { line: 1, column: 4 },
12198
end: { line: 1, column: 13 }
12199
}
12200
},
12201
test: null,
12202
update: null,
12203
body: {
12204
type: 'EmptyStatement',
12205
range: [16, 17],
12206
loc: {
12207
start: { line: 1, column: 16 },
12208
end: { line: 1, column: 17 }
12209
}
12210
},
12211
range: [0, 17],
12212
loc: {
12213
start: { line: 1, column: 0 },
12214
end: { line: 1, column: 17 }
12215
}
12216
},
12217
12218
'for(var x = 0, y = 1;;);': {
12219
type: 'ForStatement',
12220
init: {
12221
type: 'VariableDeclaration',
12222
declarations: [{
12223
type: 'VariableDeclarator',
12224
id: {
12225
type: 'Identifier',
12226
name: 'x',
12227
range: [8, 9],
12228
loc: {
12229
start: { line: 1, column: 8 },
12230
end: { line: 1, column: 9 }
12231
}
12232
},
12233
init: {
12234
type: 'Literal',
12235
value: 0,
12236
raw: '0',
12237
range: [12, 13],
12238
loc: {
12239
start: { line: 1, column: 12 },
12240
end: { line: 1, column: 13 }
12241
}
12242
},
12243
range: [8, 13],
12244
loc: {
12245
start: { line: 1, column: 8 },
12246
end: { line: 1, column: 13 }
12247
}
12248
}, {
12249
type: 'VariableDeclarator',
12250
id: {
12251
type: 'Identifier',
12252
name: 'y',
12253
range: [15, 16],
12254
loc: {
12255
start: { line: 1, column: 15 },
12256
end: { line: 1, column: 16 }
12257
}
12258
},
12259
init: {
12260
type: 'Literal',
12261
value: 1,
12262
raw: '1',
12263
range: [19, 20],
12264
loc: {
12265
start: { line: 1, column: 19 },
12266
end: { line: 1, column: 20 }
12267
}
12268
},
12269
range: [15, 20],
12270
loc: {
12271
start: { line: 1, column: 15 },
12272
end: { line: 1, column: 20 }
12273
}
12274
}],
12275
kind: 'var',
12276
range: [4, 20],
12277
loc: {
12278
start: { line: 1, column: 4 },
12279
end: { line: 1, column: 20 }
12280
}
12281
},
12282
test: null,
12283
update: null,
12284
body: {
12285
type: 'EmptyStatement',
12286
range: [23, 24],
12287
loc: {
12288
start: { line: 1, column: 23 },
12289
end: { line: 1, column: 24 }
12290
}
12291
},
12292
range: [0, 24],
12293
loc: {
12294
start: { line: 1, column: 0 },
12295
end: { line: 1, column: 24 }
12296
}
12297
},
12298
12299
'for(x = 0; x < 42;);': {
12300
type: 'ForStatement',
12301
init: {
12302
type: 'AssignmentExpression',
12303
operator: '=',
12304
left: {
12305
type: 'Identifier',
12306
name: 'x',
12307
range: [4, 5],
12308
loc: {
12309
start: { line: 1, column: 4 },
12310
end: { line: 1, column: 5 }
12311
}
12312
},
12313
right: {
12314
type: 'Literal',
12315
value: 0,
12316
raw: '0',
12317
range: [8, 9],
12318
loc: {
12319
start: { line: 1, column: 8 },
12320
end: { line: 1, column: 9 }
12321
}
12322
},
12323
range: [4, 9],
12324
loc: {
12325
start: { line: 1, column: 4 },
12326
end: { line: 1, column: 9 }
12327
}
12328
},
12329
test: {
12330
type: 'BinaryExpression',
12331
operator: '<',
12332
left: {
12333
type: 'Identifier',
12334
name: 'x',
12335
range: [11, 12],
12336
loc: {
12337
start: { line: 1, column: 11 },
12338
end: { line: 1, column: 12 }
12339
}
12340
},
12341
right: {
12342
type: 'Literal',
12343
value: 42,
12344
raw: '42',
12345
range: [15, 17],
12346
loc: {
12347
start: { line: 1, column: 15 },
12348
end: { line: 1, column: 17 }
12349
}
12350
},
12351
range: [11, 17],
12352
loc: {
12353
start: { line: 1, column: 11 },
12354
end: { line: 1, column: 17 }
12355
}
12356
},
12357
update: null,
12358
body: {
12359
type: 'EmptyStatement',
12360
range: [19, 20],
12361
loc: {
12362
start: { line: 1, column: 19 },
12363
end: { line: 1, column: 20 }
12364
}
12365
},
12366
range: [0, 20],
12367
loc: {
12368
start: { line: 1, column: 0 },
12369
end: { line: 1, column: 20 }
12370
}
12371
},
12372
12373
'for(x = 0; x < 42; x++);': {
12374
type: 'ForStatement',
12375
init: {
12376
type: 'AssignmentExpression',
12377
operator: '=',
12378
left: {
12379
type: 'Identifier',
12380
name: 'x',
12381
range: [4, 5],
12382
loc: {
12383
start: { line: 1, column: 4 },
12384
end: { line: 1, column: 5 }
12385
}
12386
},
12387
right: {
12388
type: 'Literal',
12389
value: 0,
12390
raw: '0',
12391
range: [8, 9],
12392
loc: {
12393
start: { line: 1, column: 8 },
12394
end: { line: 1, column: 9 }
12395
}
12396
},
12397
range: [4, 9],
12398
loc: {
12399
start: { line: 1, column: 4 },
12400
end: { line: 1, column: 9 }
12401
}
12402
},
12403
test: {
12404
type: 'BinaryExpression',
12405
operator: '<',
12406
left: {
12407
type: 'Identifier',
12408
name: 'x',
12409
range: [11, 12],
12410
loc: {
12411
start: { line: 1, column: 11 },
12412
end: { line: 1, column: 12 }
12413
}
12414
},
12415
right: {
12416
type: 'Literal',
12417
value: 42,
12418
raw: '42',
12419
range: [15, 17],
12420
loc: {
12421
start: { line: 1, column: 15 },
12422
end: { line: 1, column: 17 }
12423
}
12424
},
12425
range: [11, 17],
12426
loc: {
12427
start: { line: 1, column: 11 },
12428
end: { line: 1, column: 17 }
12429
}
12430
},
12431
update: {
12432
type: 'UpdateExpression',
12433
operator: '++',
12434
argument: {
12435
type: 'Identifier',
12436
name: 'x',
12437
range: [19, 20],
12438
loc: {
12439
start: { line: 1, column: 19 },
12440
end: { line: 1, column: 20 }
12441
}
12442
},
12443
prefix: false,
12444
range: [19, 22],
12445
loc: {
12446
start: { line: 1, column: 19 },
12447
end: { line: 1, column: 22 }
12448
}
12449
},
12450
body: {
12451
type: 'EmptyStatement',
12452
range: [23, 24],
12453
loc: {
12454
start: { line: 1, column: 23 },
12455
end: { line: 1, column: 24 }
12456
}
12457
},
12458
range: [0, 24],
12459
loc: {
12460
start: { line: 1, column: 0 },
12461
end: { line: 1, column: 24 }
12462
}
12463
},
12464
12465
'for(x = 0; x < 42; x++) process(x);': {
12466
type: 'ForStatement',
12467
init: {
12468
type: 'AssignmentExpression',
12469
operator: '=',
12470
left: {
12471
type: 'Identifier',
12472
name: 'x',
12473
range: [4, 5],
12474
loc: {
12475
start: { line: 1, column: 4 },
12476
end: { line: 1, column: 5 }
12477
}
12478
},
12479
right: {
12480
type: 'Literal',
12481
value: 0,
12482
raw: '0',
12483
range: [8, 9],
12484
loc: {
12485
start: { line: 1, column: 8 },
12486
end: { line: 1, column: 9 }
12487
}
12488
},
12489
range: [4, 9],
12490
loc: {
12491
start: { line: 1, column: 4 },
12492
end: { line: 1, column: 9 }
12493
}
12494
},
12495
test: {
12496
type: 'BinaryExpression',
12497
operator: '<',
12498
left: {
12499
type: 'Identifier',
12500
name: 'x',
12501
range: [11, 12],
12502
loc: {
12503
start: { line: 1, column: 11 },
12504
end: { line: 1, column: 12 }
12505
}
12506
},
12507
right: {
12508
type: 'Literal',
12509
value: 42,
12510
raw: '42',
12511
range: [15, 17],
12512
loc: {
12513
start: { line: 1, column: 15 },
12514
end: { line: 1, column: 17 }
12515
}
12516
},
12517
range: [11, 17],
12518
loc: {
12519
start: { line: 1, column: 11 },
12520
end: { line: 1, column: 17 }
12521
}
12522
},
12523
update: {
12524
type: 'UpdateExpression',
12525
operator: '++',
12526
argument: {
12527
type: 'Identifier',
12528
name: 'x',
12529
range: [19, 20],
12530
loc: {
12531
start: { line: 1, column: 19 },
12532
end: { line: 1, column: 20 }
12533
}
12534
},
12535
prefix: false,
12536
range: [19, 22],
12537
loc: {
12538
start: { line: 1, column: 19 },
12539
end: { line: 1, column: 22 }
12540
}
12541
},
12542
body: {
12543
type: 'ExpressionStatement',
12544
expression: {
12545
type: 'CallExpression',
12546
callee: {
12547
type: 'Identifier',
12548
name: 'process',
12549
range: [24, 31],
12550
loc: {
12551
start: { line: 1, column: 24 },
12552
end: { line: 1, column: 31 }
12553
}
12554
},
12555
'arguments': [{
12556
type: 'Identifier',
12557
name: 'x',
12558
range: [32, 33],
12559
loc: {
12560
start: { line: 1, column: 32 },
12561
end: { line: 1, column: 33 }
12562
}
12563
}],
12564
range: [24, 34],
12565
loc: {
12566
start: { line: 1, column: 24 },
12567
end: { line: 1, column: 34 }
12568
}
12569
},
12570
range: [24, 35],
12571
loc: {
12572
start: { line: 1, column: 24 },
12573
end: { line: 1, column: 35 }
12574
}
12575
},
12576
range: [0, 35],
12577
loc: {
12578
start: { line: 1, column: 0 },
12579
end: { line: 1, column: 35 }
12580
}
12581
},
12582
12583
'for(x in list) process(x);': {
12584
type: 'ForInStatement',
12585
left: {
12586
type: 'Identifier',
12587
name: 'x',
12588
range: [4, 5],
12589
loc: {
12590
start: { line: 1, column: 4 },
12591
end: { line: 1, column: 5 }
12592
}
12593
},
12594
right: {
12595
type: 'Identifier',
12596
name: 'list',
12597
range: [9, 13],
12598
loc: {
12599
start: { line: 1, column: 9 },
12600
end: { line: 1, column: 13 }
12601
}
12602
},
12603
body: {
12604
type: 'ExpressionStatement',
12605
expression: {
12606
type: 'CallExpression',
12607
callee: {
12608
type: 'Identifier',
12609
name: 'process',
12610
range: [15, 22],
12611
loc: {
12612
start: { line: 1, column: 15 },
12613
end: { line: 1, column: 22 }
12614
}
12615
},
12616
'arguments': [{
12617
type: 'Identifier',
12618
name: 'x',
12619
range: [23, 24],
12620
loc: {
12621
start: { line: 1, column: 23 },
12622
end: { line: 1, column: 24 }
12623
}
12624
}],
12625
range: [15, 25],
12626
loc: {
12627
start: { line: 1, column: 15 },
12628
end: { line: 1, column: 25 }
12629
}
12630
},
12631
range: [15, 26],
12632
loc: {
12633
start: { line: 1, column: 15 },
12634
end: { line: 1, column: 26 }
12635
}
12636
},
12637
each: false,
12638
range: [0, 26],
12639
loc: {
12640
start: { line: 1, column: 0 },
12641
end: { line: 1, column: 26 }
12642
}
12643
},
12644
12645
'for (var x in list) process(x);': {
12646
type: 'ForInStatement',
12647
left: {
12648
type: 'VariableDeclaration',
12649
declarations: [{
12650
type: 'VariableDeclarator',
12651
id: {
12652
type: 'Identifier',
12653
name: 'x',
12654
range: [9, 10],
12655
loc: {
12656
start: { line: 1, column: 9 },
12657
end: { line: 1, column: 10 }
12658
}
12659
},
12660
init: null,
12661
range: [9, 10],
12662
loc: {
12663
start: { line: 1, column: 9 },
12664
end: { line: 1, column: 10 }
12665
}
12666
}],
12667
kind: 'var',
12668
range: [5, 10],
12669
loc: {
12670
start: { line: 1, column: 5 },
12671
end: { line: 1, column: 10 }
12672
}
12673
},
12674
right: {
12675
type: 'Identifier',
12676
name: 'list',
12677
range: [14, 18],
12678
loc: {
12679
start: { line: 1, column: 14 },
12680
end: { line: 1, column: 18 }
12681
}
12682
},
12683
body: {
12684
type: 'ExpressionStatement',
12685
expression: {
12686
type: 'CallExpression',
12687
callee: {
12688
type: 'Identifier',
12689
name: 'process',
12690
range: [20, 27],
12691
loc: {
12692
start: { line: 1, column: 20 },
12693
end: { line: 1, column: 27 }
12694
}
12695
},
12696
'arguments': [{
12697
type: 'Identifier',
12698
name: 'x',
12699
range: [28, 29],
12700
loc: {
12701
start: { line: 1, column: 28 },
12702
end: { line: 1, column: 29 }
12703
}
12704
}],
12705
range: [20, 30],
12706
loc: {
12707
start: { line: 1, column: 20 },
12708
end: { line: 1, column: 30 }
12709
}
12710
},
12711
range: [20, 31],
12712
loc: {
12713
start: { line: 1, column: 20 },
12714
end: { line: 1, column: 31 }
12715
}
12716
},
12717
each: false,
12718
range: [0, 31],
12719
loc: {
12720
start: { line: 1, column: 0 },
12721
end: { line: 1, column: 31 }
12722
}
12723
},
12724
12725
'for (let x in list) process(x);': {
12726
type: 'ForInStatement',
12727
left: {
12728
type: 'VariableDeclaration',
12729
declarations: [{
12730
type: 'VariableDeclarator',
12731
id: {
12732
type: 'Identifier',
12733
name: 'x',
12734
range: [9, 10],
12735
loc: {
12736
start: { line: 1, column: 9 },
12737
end: { line: 1, column: 10 }
12738
}
12739
},
12740
init: null,
12741
range: [9, 10],
12742
loc: {
12743
start: { line: 1, column: 9 },
12744
end: { line: 1, column: 10 }
12745
}
12746
}],
12747
kind: 'let',
12748
range: [5, 10],
12749
loc: {
12750
start: { line: 1, column: 5 },
12751
end: { line: 1, column: 10 }
12752
}
12753
},
12754
right: {
12755
type: 'Identifier',
12756
name: 'list',
12757
range: [14, 18],
12758
loc: {
12759
start: { line: 1, column: 14 },
12760
end: { line: 1, column: 18 }
12761
}
12762
},
12763
body: {
12764
type: 'ExpressionStatement',
12765
expression: {
12766
type: 'CallExpression',
12767
callee: {
12768
type: 'Identifier',
12769
name: 'process',
12770
range: [20, 27],
12771
loc: {
12772
start: { line: 1, column: 20 },
12773
end: { line: 1, column: 27 }
12774
}
12775
},
12776
'arguments': [{
12777
type: 'Identifier',
12778
name: 'x',
12779
range: [28, 29],
12780
loc: {
12781
start: { line: 1, column: 28 },
12782
end: { line: 1, column: 29 }
12783
}
12784
}],
12785
range: [20, 30],
12786
loc: {
12787
start: { line: 1, column: 20 },
12788
end: { line: 1, column: 30 }
12789
}
12790
},
12791
range: [20, 31],
12792
loc: {
12793
start: { line: 1, column: 20 },
12794
end: { line: 1, column: 31 }
12795
}
12796
},
12797
each: false,
12798
range: [0, 31],
12799
loc: {
12800
start: { line: 1, column: 0 },
12801
end: { line: 1, column: 31 }
12802
}
12803
},
12804
12805
'for (var i = function() { return 10 in [] } of list) process(x);': {
12806
type: 'ForOfStatement',
12807
left: {
12808
type: 'VariableDeclaration',
12809
declarations: [{
12810
type: 'VariableDeclarator',
12811
id: {
12812
type: 'Identifier',
12813
name: 'i',
12814
range: [9, 10],
12815
loc: {
12816
start: { line: 1, column: 9 },
12817
end: { line: 1, column: 10 }
12818
}
12819
},
12820
init: {
12821
type: 'FunctionExpression',
12822
id: null,
12823
params: [],
12824
defaults: [],
12825
body: {
12826
type: 'BlockStatement',
12827
body: [{
12828
type: 'ReturnStatement',
12829
argument: {
12830
type: 'BinaryExpression',
12831
operator: 'in',
12832
left: {
12833
type: 'Literal',
12834
value: 10,
12835
raw: '10',
12836
range: [33, 35],
12837
loc: {
12838
start: { line: 1, column: 33 },
12839
end: { line: 1, column: 35 }
12840
}
12841
},
12842
right: {
12843
type: 'ArrayExpression',
12844
elements: [],
12845
range: [39, 41],
12846
loc: {
12847
start: { line: 1, column: 39 },
12848
end: { line: 1, column: 41 }
12849
}
12850
},
12851
range: [33, 41],
12852
loc: {
12853
start: { line: 1, column: 33 },
12854
end: { line: 1, column: 41 }
12855
}
12856
},
12857
range: [26, 42],
12858
loc: {
12859
start: { line: 1, column: 26 },
12860
end: { line: 1, column: 42 }
12861
}
12862
}],
12863
range: [24, 43],
12864
loc: {
12865
start: { line: 1, column: 24 },
12866
end: { line: 1, column: 43 }
12867
}
12868
},
12869
rest: null,
12870
generator: false,
12871
expression: false,
12872
range: [13, 43],
12873
loc: {
12874
start: { line: 1, column: 13 },
12875
end: { line: 1, column: 43 }
12876
}
12877
},
12878
range: [9, 43],
12879
loc: {
12880
start: { line: 1, column: 9 },
12881
end: { line: 1, column: 43 }
12882
}
12883
}],
12884
kind: 'var',
12885
range: [5, 43],
12886
loc: {
12887
start: { line: 1, column: 5 },
12888
end: { line: 1, column: 43 }
12889
}
12890
},
12891
right: {
12892
type: 'Identifier',
12893
name: 'list',
12894
range: [47, 51],
12895
loc: {
12896
start: { line: 1, column: 47 },
12897
end: { line: 1, column: 51 }
12898
}
12899
},
12900
body: {
12901
type: 'ExpressionStatement',
12902
expression: {
12903
type: 'CallExpression',
12904
callee: {
12905
type: 'Identifier',
12906
name: 'process',
12907
range: [53, 60],
12908
loc: {
12909
start: { line: 1, column: 53 },
12910
end: { line: 1, column: 60 }
12911
}
12912
},
12913
'arguments': [{
12914
type: 'Identifier',
12915
name: 'x',
12916
range: [61, 62],
12917
loc: {
12918
start: { line: 1, column: 61 },
12919
end: { line: 1, column: 62 }
12920
}
12921
}],
12922
range: [53, 63],
12923
loc: {
12924
start: { line: 1, column: 53 },
12925
end: { line: 1, column: 63 }
12926
}
12927
},
12928
range: [53, 64],
12929
loc: {
12930
start: { line: 1, column: 53 },
12931
end: { line: 1, column: 64 }
12932
}
12933
},
12934
range: [0, 64],
12935
loc: {
12936
start: { line: 1, column: 0 },
12937
end: { line: 1, column: 64 }
12938
}
12939
}
12940
12941
},
12942
12943
'continue statement': {
12944
12945
'while (true) { continue; }': {
12946
type: 'WhileStatement',
12947
test: {
12948
type: 'Literal',
12949
value: true,
12950
raw: 'true',
12951
range: [7, 11],
12952
loc: {
12953
start: { line: 1, column: 7 },
12954
end: { line: 1, column: 11 }
12955
}
12956
},
12957
body: {
12958
type: 'BlockStatement',
12959
body: [
12960
{
12961
type: 'ContinueStatement',
12962
label: null,
12963
range: [15, 24],
12964
loc: {
12965
start: { line: 1, column: 15 },
12966
end: { line: 1, column: 24 }
12967
}
12968
}
12969
],
12970
range: [13, 26],
12971
loc: {
12972
start: { line: 1, column: 13 },
12973
end: { line: 1, column: 26 }
12974
}
12975
},
12976
range: [0, 26],
12977
loc: {
12978
start: { line: 1, column: 0 },
12979
end: { line: 1, column: 26 }
12980
}
12981
},
12982
12983
'while (true) { continue }': {
12984
type: 'WhileStatement',
12985
test: {
12986
type: 'Literal',
12987
value: true,
12988
raw: 'true',
12989
range: [7, 11],
12990
loc: {
12991
start: { line: 1, column: 7 },
12992
end: { line: 1, column: 11 }
12993
}
12994
},
12995
body: {
12996
type: 'BlockStatement',
12997
body: [
12998
{
12999
type: 'ContinueStatement',
13000
label: null,
13001
range: [15, 24],
13002
loc: {
13003
start: { line: 1, column: 15 },
13004
end: { line: 1, column: 24 }
13005
}
13006
}
13007
],
13008
range: [13, 25],
13009
loc: {
13010
start: { line: 1, column: 13 },
13011
end: { line: 1, column: 25 }
13012
}
13013
},
13014
range: [0, 25],
13015
loc: {
13016
start: { line: 1, column: 0 },
13017
end: { line: 1, column: 25 }
13018
}
13019
},
13020
13021
'done: while (true) { continue done }': {
13022
type: 'LabeledStatement',
13023
label: {
13024
type: 'Identifier',
13025
name: 'done',
13026
range: [0, 4],
13027
loc: {
13028
start: { line: 1, column: 0 },
13029
end: { line: 1, column: 4 }
13030
}
13031
},
13032
body: {
13033
type: 'WhileStatement',
13034
test: {
13035
type: 'Literal',
13036
value: true,
13037
raw: 'true',
13038
range: [13, 17],
13039
loc: {
13040
start: { line: 1, column: 13 },
13041
end: { line: 1, column: 17 }
13042
}
13043
},
13044
body: {
13045
type: 'BlockStatement',
13046
body: [
13047
{
13048
type: 'ContinueStatement',
13049
label: {
13050
type: 'Identifier',
13051
name: 'done',
13052
range: [30, 34],
13053
loc: {
13054
start: { line: 1, column: 30 },
13055
end: { line: 1, column: 34 }
13056
}
13057
},
13058
range: [21, 35],
13059
loc: {
13060
start: { line: 1, column: 21 },
13061
end: { line: 1, column: 35 }
13062
}
13063
}
13064
],
13065
range: [19, 36],
13066
loc: {
13067
start: { line: 1, column: 19 },
13068
end: { line: 1, column: 36 }
13069
}
13070
},
13071
range: [6, 36],
13072
loc: {
13073
start: { line: 1, column: 6 },
13074
end: { line: 1, column: 36 }
13075
}
13076
},
13077
range: [0, 36],
13078
loc: {
13079
start: { line: 1, column: 0 },
13080
end: { line: 1, column: 36 }
13081
}
13082
},
13083
13084
'done: while (true) { continue done; }': {
13085
type: 'LabeledStatement',
13086
label: {
13087
type: 'Identifier',
13088
name: 'done',
13089
range: [0, 4],
13090
loc: {
13091
start: { line: 1, column: 0 },
13092
end: { line: 1, column: 4 }
13093
}
13094
},
13095
body: {
13096
type: 'WhileStatement',
13097
test: {
13098
type: 'Literal',
13099
value: true,
13100
raw: 'true',
13101
range: [13, 17],
13102
loc: {
13103
start: { line: 1, column: 13 },
13104
end: { line: 1, column: 17 }
13105
}
13106
},
13107
body: {
13108
type: 'BlockStatement',
13109
body: [
13110
{
13111
type: 'ContinueStatement',
13112
label: {
13113
type: 'Identifier',
13114
name: 'done',
13115
range: [30, 34],
13116
loc: {
13117
start: { line: 1, column: 30 },
13118
end: { line: 1, column: 34 }
13119
}
13120
},
13121
range: [21, 35],
13122
loc: {
13123
start: { line: 1, column: 21 },
13124
end: { line: 1, column: 35 }
13125
}
13126
}
13127
],
13128
range: [19, 37],
13129
loc: {
13130
start: { line: 1, column: 19 },
13131
end: { line: 1, column: 37 }
13132
}
13133
},
13134
range: [6, 37],
13135
loc: {
13136
start: { line: 1, column: 6 },
13137
end: { line: 1, column: 37 }
13138
}
13139
},
13140
range: [0, 37],
13141
loc: {
13142
start: { line: 1, column: 0 },
13143
end: { line: 1, column: 37 }
13144
}
13145
},
13146
13147
'__proto__: while (true) { continue __proto__; }': {
13148
type: 'LabeledStatement',
13149
label: {
13150
type: 'Identifier',
13151
name: '__proto__',
13152
range: [0, 9],
13153
loc: {
13154
start: { line: 1, column: 0 },
13155
end: { line: 1, column: 9 }
13156
}
13157
},
13158
body: {
13159
type: 'WhileStatement',
13160
test: {
13161
type: 'Literal',
13162
value: true,
13163
raw: 'true',
13164
range: [18, 22],
13165
loc: {
13166
start: { line: 1, column: 18 },
13167
end: { line: 1, column: 22 }
13168
}
13169
},
13170
body: {
13171
type: 'BlockStatement',
13172
body: [{
13173
type: 'ContinueStatement',
13174
label: {
13175
type: 'Identifier',
13176
name: '__proto__',
13177
range: [35, 44],
13178
loc: {
13179
start: { line: 1, column: 35 },
13180
end: { line: 1, column: 44 }
13181
}
13182
},
13183
range: [26, 45],
13184
loc: {
13185
start: { line: 1, column: 26 },
13186
end: { line: 1, column: 45 }
13187
}
13188
}],
13189
range: [24, 47],
13190
loc: {
13191
start: { line: 1, column: 24 },
13192
end: { line: 1, column: 47 }
13193
}
13194
},
13195
range: [11, 47],
13196
loc: {
13197
start: { line: 1, column: 11 },
13198
end: { line: 1, column: 47 }
13199
}
13200
},
13201
range: [0, 47],
13202
loc: {
13203
start: { line: 1, column: 0 },
13204
end: { line: 1, column: 47 }
13205
}
13206
}
13207
13208
},
13209
13210
'break statement': {
13211
13212
'while (true) { break }': {
13213
type: 'WhileStatement',
13214
test: {
13215
type: 'Literal',
13216
value: true,
13217
raw: 'true',
13218
range: [7, 11],
13219
loc: {
13220
start: { line: 1, column: 7 },
13221
end: { line: 1, column: 11 }
13222
}
13223
},
13224
body: {
13225
type: 'BlockStatement',
13226
body: [
13227
{
13228
type: 'BreakStatement',
13229
label: null,
13230
range: [15, 21],
13231
loc: {
13232
start: { line: 1, column: 15 },
13233
end: { line: 1, column: 21 }
13234
}
13235
}
13236
],
13237
range: [13, 22],
13238
loc: {
13239
start: { line: 1, column: 13 },
13240
end: { line: 1, column: 22 }
13241
}
13242
},
13243
range: [0, 22],
13244
loc: {
13245
start: { line: 1, column: 0 },
13246
end: { line: 1, column: 22 }
13247
}
13248
},
13249
13250
'done: while (true) { break done }': {
13251
type: 'LabeledStatement',
13252
label: {
13253
type: 'Identifier',
13254
name: 'done',
13255
range: [0, 4],
13256
loc: {
13257
start: { line: 1, column: 0 },
13258
end: { line: 1, column: 4 }
13259
}
13260
},
13261
body: {
13262
type: 'WhileStatement',
13263
test: {
13264
type: 'Literal',
13265
value: true,
13266
raw: 'true',
13267
range: [13, 17],
13268
loc: {
13269
start: { line: 1, column: 13 },
13270
end: { line: 1, column: 17 }
13271
}
13272
},
13273
body: {
13274
type: 'BlockStatement',
13275
body: [
13276
{
13277
type: 'BreakStatement',
13278
label: {
13279
type: 'Identifier',
13280
name: 'done',
13281
range: [27, 31],
13282
loc: {
13283
start: { line: 1, column: 27 },
13284
end: { line: 1, column: 31 }
13285
}
13286
},
13287
range: [21, 32],
13288
loc: {
13289
start: { line: 1, column: 21 },
13290
end: { line: 1, column: 32 }
13291
}
13292
}
13293
],
13294
range: [19, 33],
13295
loc: {
13296
start: { line: 1, column: 19 },
13297
end: { line: 1, column: 33 }
13298
}
13299
},
13300
range: [6, 33],
13301
loc: {
13302
start: { line: 1, column: 6 },
13303
end: { line: 1, column: 33 }
13304
}
13305
},
13306
range: [0, 33],
13307
loc: {
13308
start: { line: 1, column: 0 },
13309
end: { line: 1, column: 33 }
13310
}
13311
},
13312
13313
'done: while (true) { break done; }': {
13314
type: 'LabeledStatement',
13315
label: {
13316
type: 'Identifier',
13317
name: 'done',
13318
range: [0, 4],
13319
loc: {
13320
start: { line: 1, column: 0 },
13321
end: { line: 1, column: 4 }
13322
}
13323
},
13324
body: {
13325
type: 'WhileStatement',
13326
test: {
13327
type: 'Literal',
13328
value: true,
13329
raw: 'true',
13330
range: [13, 17],
13331
loc: {
13332
start: { line: 1, column: 13 },
13333
end: { line: 1, column: 17 }
13334
}
13335
},
13336
body: {
13337
type: 'BlockStatement',
13338
body: [
13339
{
13340
type: 'BreakStatement',
13341
label: {
13342
type: 'Identifier',
13343
name: 'done',
13344
range: [27, 31],
13345
loc: {
13346
start: { line: 1, column: 27 },
13347
end: { line: 1, column: 31 }
13348
}
13349
},
13350
range: [21, 32],
13351
loc: {
13352
start: { line: 1, column: 21 },
13353
end: { line: 1, column: 32 }
13354
}
13355
}
13356
],
13357
range: [19, 34],
13358
loc: {
13359
start: { line: 1, column: 19 },
13360
end: { line: 1, column: 34 }
13361
}
13362
},
13363
range: [6, 34],
13364
loc: {
13365
start: { line: 1, column: 6 },
13366
end: { line: 1, column: 34 }
13367
}
13368
},
13369
range: [0, 34],
13370
loc: {
13371
start: { line: 1, column: 0 },
13372
end: { line: 1, column: 34 }
13373
}
13374
},
13375
13376
'__proto__: while (true) { break __proto__; }': {
13377
type: 'LabeledStatement',
13378
label: {
13379
type: 'Identifier',
13380
name: '__proto__',
13381
range: [0, 9],
13382
loc: {
13383
start: { line: 1, column: 0 },
13384
end: { line: 1, column: 9 }
13385
}
13386
},
13387
body: {
13388
type: 'WhileStatement',
13389
test: {
13390
type: 'Literal',
13391
value: true,
13392
raw: 'true',
13393
range: [18, 22],
13394
loc: {
13395
start: { line: 1, column: 18 },
13396
end: { line: 1, column: 22 }
13397
}
13398
},
13399
body: {
13400
type: 'BlockStatement',
13401
body: [{
13402
type: 'BreakStatement',
13403
label: {
13404
type: 'Identifier',
13405
name: '__proto__',
13406
range: [32, 41],
13407
loc: {
13408
start: { line: 1, column: 32 },
13409
end: { line: 1, column: 41 }
13410
}
13411
},
13412
range: [26, 42],
13413
loc: {
13414
start: { line: 1, column: 26 },
13415
end: { line: 1, column: 42 }
13416
}
13417
}],
13418
range: [24, 44],
13419
loc: {
13420
start: { line: 1, column: 24 },
13421
end: { line: 1, column: 44 }
13422
}
13423
},
13424
range: [11, 44],
13425
loc: {
13426
start: { line: 1, column: 11 },
13427
end: { line: 1, column: 44 }
13428
}
13429
},
13430
range: [0, 44],
13431
loc: {
13432
start: { line: 1, column: 0 },
13433
end: { line: 1, column: 44 }
13434
}
13435
}
13436
13437
},
13438
13439
'return statement': {
13440
13441
'(function(){ return })': {
13442
type: 'ExpressionStatement',
13443
expression: {
13444
type: 'FunctionExpression',
13445
id: null,
13446
params: [],
13447
defaults: [],
13448
body: {
13449
type: 'BlockStatement',
13450
body: [
13451
{
13452
type: 'ReturnStatement',
13453
argument: null,
13454
range: [13, 20],
13455
loc: {
13456
start: { line: 1, column: 13 },
13457
end: { line: 1, column: 20 }
13458
}
13459
}
13460
],
13461
range: [11, 21],
13462
loc: {
13463
start: { line: 1, column: 11 },
13464
end: { line: 1, column: 21 }
13465
}
13466
},
13467
rest: null,
13468
generator: false,
13469
expression: false,
13470
range: [1, 21],
13471
loc: {
13472
start: { line: 1, column: 1 },
13473
end: { line: 1, column: 21 }
13474
}
13475
},
13476
range: [0, 22],
13477
loc: {
13478
start: { line: 1, column: 0 },
13479
end: { line: 1, column: 22 }
13480
}
13481
},
13482
13483
'(function(){ return; })': {
13484
type: 'ExpressionStatement',
13485
expression: {
13486
type: 'FunctionExpression',
13487
id: null,
13488
params: [],
13489
defaults: [],
13490
body: {
13491
type: 'BlockStatement',
13492
body: [
13493
{
13494
type: 'ReturnStatement',
13495
argument: null,
13496
range: [13, 20],
13497
loc: {
13498
start: { line: 1, column: 13 },
13499
end: { line: 1, column: 20 }
13500
}
13501
}
13502
],
13503
range: [11, 22],
13504
loc: {
13505
start: { line: 1, column: 11 },
13506
end: { line: 1, column: 22 }
13507
}
13508
},
13509
rest: null,
13510
generator: false,
13511
expression: false,
13512
range: [1, 22],
13513
loc: {
13514
start: { line: 1, column: 1 },
13515
end: { line: 1, column: 22 }
13516
}
13517
},
13518
range: [0, 23],
13519
loc: {
13520
start: { line: 1, column: 0 },
13521
end: { line: 1, column: 23 }
13522
}
13523
},
13524
13525
'(function(){ return x; })': {
13526
type: 'ExpressionStatement',
13527
expression: {
13528
type: 'FunctionExpression',
13529
id: null,
13530
params: [],
13531
defaults: [],
13532
body: {
13533
type: 'BlockStatement',
13534
body: [
13535
{
13536
type: 'ReturnStatement',
13537
argument: {
13538
type: 'Identifier',
13539
name: 'x',
13540
range: [20, 21],
13541
loc: {
13542
start: { line: 1, column: 20 },
13543
end: { line: 1, column: 21 }
13544
}
13545
},
13546
range: [13, 22],
13547
loc: {
13548
start: { line: 1, column: 13 },
13549
end: { line: 1, column: 22 }
13550
}
13551
}
13552
],
13553
range: [11, 24],
13554
loc: {
13555
start: { line: 1, column: 11 },
13556
end: { line: 1, column: 24 }
13557
}
13558
},
13559
rest: null,
13560
generator: false,
13561
expression: false,
13562
range: [1, 24],
13563
loc: {
13564
start: { line: 1, column: 1 },
13565
end: { line: 1, column: 24 }
13566
}
13567
},
13568
range: [0, 25],
13569
loc: {
13570
start: { line: 1, column: 0 },
13571
end: { line: 1, column: 25 }
13572
}
13573
},
13574
13575
'(function(){ return x * y })': {
13576
type: 'ExpressionStatement',
13577
expression: {
13578
type: 'FunctionExpression',
13579
id: null,
13580
params: [],
13581
defaults: [],
13582
body: {
13583
type: 'BlockStatement',
13584
body: [
13585
{
13586
type: 'ReturnStatement',
13587
argument: {
13588
type: 'BinaryExpression',
13589
operator: '*',
13590
left: {
13591
type: 'Identifier',
13592
name: 'x',
13593
range: [20, 21],
13594
loc: {
13595
start: { line: 1, column: 20 },
13596
end: { line: 1, column: 21 }
13597
}
13598
},
13599
right: {
13600
type: 'Identifier',
13601
name: 'y',
13602
range: [24, 25],
13603
loc: {
13604
start: { line: 1, column: 24 },
13605
end: { line: 1, column: 25 }
13606
}
13607
},
13608
range: [20, 25],
13609
loc: {
13610
start: { line: 1, column: 20 },
13611
end: { line: 1, column: 25 }
13612
}
13613
},
13614
range: [13, 26],
13615
loc: {
13616
start: { line: 1, column: 13 },
13617
end: { line: 1, column: 26 }
13618
}
13619
}
13620
],
13621
range: [11, 27],
13622
loc: {
13623
start: { line: 1, column: 11 },
13624
end: { line: 1, column: 27 }
13625
}
13626
},
13627
rest: null,
13628
generator: false,
13629
expression: false,
13630
range: [1, 27],
13631
loc: {
13632
start: { line: 1, column: 1 },
13633
end: { line: 1, column: 27 }
13634
}
13635
},
13636
range: [0, 28],
13637
loc: {
13638
start: { line: 1, column: 0 },
13639
end: { line: 1, column: 28 }
13640
}
13641
}
13642
},
13643
13644
'with statement': {
13645
13646
'with (x) foo = bar': {
13647
type: 'WithStatement',
13648
object: {
13649
type: 'Identifier',
13650
name: 'x',
13651
range: [6, 7],
13652
loc: {
13653
start: { line: 1, column: 6 },
13654
end: { line: 1, column: 7 }
13655
}
13656
},
13657
body: {
13658
type: 'ExpressionStatement',
13659
expression: {
13660
type: 'AssignmentExpression',
13661
operator: '=',
13662
left: {
13663
type: 'Identifier',
13664
name: 'foo',
13665
range: [9, 12],
13666
loc: {
13667
start: { line: 1, column: 9 },
13668
end: { line: 1, column: 12 }
13669
}
13670
},
13671
right: {
13672
type: 'Identifier',
13673
name: 'bar',
13674
range: [15, 18],
13675
loc: {
13676
start: { line: 1, column: 15 },
13677
end: { line: 1, column: 18 }
13678
}
13679
},
13680
range: [9, 18],
13681
loc: {
13682
start: { line: 1, column: 9 },
13683
end: { line: 1, column: 18 }
13684
}
13685
},
13686
range: [9, 18],
13687
loc: {
13688
start: { line: 1, column: 9 },
13689
end: { line: 1, column: 18 }
13690
}
13691
},
13692
range: [0, 18],
13693
loc: {
13694
start: { line: 1, column: 0 },
13695
end: { line: 1, column: 18 }
13696
}
13697
},
13698
13699
'with (x) foo = bar;': {
13700
type: 'WithStatement',
13701
object: {
13702
type: 'Identifier',
13703
name: 'x',
13704
range: [6, 7],
13705
loc: {
13706
start: { line: 1, column: 6 },
13707
end: { line: 1, column: 7 }
13708
}
13709
},
13710
body: {
13711
type: 'ExpressionStatement',
13712
expression: {
13713
type: 'AssignmentExpression',
13714
operator: '=',
13715
left: {
13716
type: 'Identifier',
13717
name: 'foo',
13718
range: [9, 12],
13719
loc: {
13720
start: { line: 1, column: 9 },
13721
end: { line: 1, column: 12 }
13722
}
13723
},
13724
right: {
13725
type: 'Identifier',
13726
name: 'bar',
13727
range: [15, 18],
13728
loc: {
13729
start: { line: 1, column: 15 },
13730
end: { line: 1, column: 18 }
13731
}
13732
},
13733
range: [9, 18],
13734
loc: {
13735
start: { line: 1, column: 9 },
13736
end: { line: 1, column: 18 }
13737
}
13738
},
13739
range: [9, 19],
13740
loc: {
13741
start: { line: 1, column: 9 },
13742
end: { line: 1, column: 19 }
13743
}
13744
},
13745
range: [0, 19],
13746
loc: {
13747
start: { line: 1, column: 0 },
13748
end: { line: 1, column: 19 }
13749
}
13750
},
13751
13752
'with (x) { foo = bar }': {
13753
type: 'WithStatement',
13754
object: {
13755
type: 'Identifier',
13756
name: 'x',
13757
range: [6, 7],
13758
loc: {
13759
start: { line: 1, column: 6 },
13760
end: { line: 1, column: 7 }
13761
}
13762
},
13763
body: {
13764
type: 'BlockStatement',
13765
body: [{
13766
type: 'ExpressionStatement',
13767
expression: {
13768
type: 'AssignmentExpression',
13769
operator: '=',
13770
left: {
13771
type: 'Identifier',
13772
name: 'foo',
13773
range: [11, 14],
13774
loc: {
13775
start: { line: 1, column: 11 },
13776
end: { line: 1, column: 14 }
13777
}
13778
},
13779
right: {
13780
type: 'Identifier',
13781
name: 'bar',
13782
range: [17, 20],
13783
loc: {
13784
start: { line: 1, column: 17 },
13785
end: { line: 1, column: 20 }
13786
}
13787
},
13788
range: [11, 20],
13789
loc: {
13790
start: { line: 1, column: 11 },
13791
end: { line: 1, column: 20 }
13792
}
13793
},
13794
range: [11, 21],
13795
loc: {
13796
start: { line: 1, column: 11 },
13797
end: { line: 1, column: 21 }
13798
}
13799
}],
13800
range: [9, 22],
13801
loc: {
13802
start: { line: 1, column: 9 },
13803
end: { line: 1, column: 22 }
13804
}
13805
},
13806
range: [0, 22],
13807
loc: {
13808
start: { line: 1, column: 0 },
13809
end: { line: 1, column: 22 }
13810
}
13811
}
13812
13813
},
13814
13815
'switch statement': {
13816
13817
'switch (x) {}': {
13818
type: 'SwitchStatement',
13819
discriminant: {
13820
type: 'Identifier',
13821
name: 'x',
13822
range: [8, 9],
13823
loc: {
13824
start: { line: 1, column: 8 },
13825
end: { line: 1, column: 9 }
13826
}
13827
},
13828
cases:[],
13829
range: [0, 13],
13830
loc: {
13831
start: { line: 1, column: 0 },
13832
end: { line: 1, column: 13 }
13833
}
13834
},
13835
13836
'switch (answer) { case 42: hi(); break; }': {
13837
type: 'SwitchStatement',
13838
discriminant: {
13839
type: 'Identifier',
13840
name: 'answer',
13841
range: [8, 14],
13842
loc: {
13843
start: { line: 1, column: 8 },
13844
end: { line: 1, column: 14 }
13845
}
13846
},
13847
cases: [{
13848
type: 'SwitchCase',
13849
test: {
13850
type: 'Literal',
13851
value: 42,
13852
raw: '42',
13853
range: [23, 25],
13854
loc: {
13855
start: { line: 1, column: 23 },
13856
end: { line: 1, column: 25 }
13857
}
13858
},
13859
consequent: [{
13860
type: 'ExpressionStatement',
13861
expression: {
13862
type: 'CallExpression',
13863
callee: {
13864
type: 'Identifier',
13865
name: 'hi',
13866
range: [27, 29],
13867
loc: {
13868
start: { line: 1, column: 27 },
13869
end: { line: 1, column: 29 }
13870
}
13871
},
13872
'arguments': [],
13873
range: [27, 31],
13874
loc: {
13875
start: { line: 1, column: 27 },
13876
end: { line: 1, column: 31 }
13877
}
13878
},
13879
range: [27, 32],
13880
loc: {
13881
start: { line: 1, column: 27 },
13882
end: { line: 1, column: 32 }
13883
}
13884
}, {
13885
type: 'BreakStatement',
13886
label: null,
13887
range: [33, 39],
13888
loc: {
13889
start: { line: 1, column: 33 },
13890
end: { line: 1, column: 39 }
13891
}
13892
}],
13893
range: [18, 39],
13894
loc: {
13895
start: { line: 1, column: 18 },
13896
end: { line: 1, column: 39 }
13897
}
13898
}],
13899
range: [0, 41],
13900
loc: {
13901
start: { line: 1, column: 0 },
13902
end: { line: 1, column: 41 }
13903
}
13904
},
13905
13906
'switch (answer) { case 42: hi(); break; default: break }': {
13907
type: 'SwitchStatement',
13908
discriminant: {
13909
type: 'Identifier',
13910
name: 'answer',
13911
range: [8, 14],
13912
loc: {
13913
start: { line: 1, column: 8 },
13914
end: { line: 1, column: 14 }
13915
}
13916
},
13917
cases: [{
13918
type: 'SwitchCase',
13919
test: {
13920
type: 'Literal',
13921
value: 42,
13922
raw: '42',
13923
range: [23, 25],
13924
loc: {
13925
start: { line: 1, column: 23 },
13926
end: { line: 1, column: 25 }
13927
}
13928
},
13929
consequent: [{
13930
type: 'ExpressionStatement',
13931
expression: {
13932
type: 'CallExpression',
13933
callee: {
13934
type: 'Identifier',
13935
name: 'hi',
13936
range: [27, 29],
13937
loc: {
13938
start: { line: 1, column: 27 },
13939
end: { line: 1, column: 29 }
13940
}
13941
},
13942
'arguments': [],
13943
range: [27, 31],
13944
loc: {
13945
start: { line: 1, column: 27 },
13946
end: { line: 1, column: 31 }
13947
}
13948
},
13949
range: [27, 32],
13950
loc: {
13951
start: { line: 1, column: 27 },
13952
end: { line: 1, column: 32 }
13953
}
13954
}, {
13955
type: 'BreakStatement',
13956
label: null,
13957
range: [33, 39],
13958
loc: {
13959
start: { line: 1, column: 33 },
13960
end: { line: 1, column: 39 }
13961
}
13962
}],
13963
range: [18, 39],
13964
loc: {
13965
start: { line: 1, column: 18 },
13966
end: { line: 1, column: 39 }
13967
}
13968
}, {
13969
type: 'SwitchCase',
13970
test: null,
13971
consequent: [{
13972
type: 'BreakStatement',
13973
label: null,
13974
range: [49, 55],
13975
loc: {
13976
start: { line: 1, column: 49 },
13977
end: { line: 1, column: 55 }
13978
}
13979
}],
13980
range: [40, 55],
13981
loc: {
13982
start: { line: 1, column: 40 },
13983
end: { line: 1, column: 55 }
13984
}
13985
}],
13986
range: [0, 56],
13987
loc: {
13988
start: { line: 1, column: 0 },
13989
end: { line: 1, column: 56 }
13990
}
13991
}
13992
13993
},
13994
13995
'Labelled Statements': {
13996
13997
'start: for (;;) break start': {
13998
type: 'LabeledStatement',
13999
label: {
14000
type: 'Identifier',
14001
name: 'start',
14002
range: [0, 5],
14003
loc: {
14004
start: { line: 1, column: 0 },
14005
end: { line: 1, column: 5 }
14006
}
14007
},
14008
body: {
14009
type: 'ForStatement',
14010
init: null,
14011
test: null,
14012
update: null,
14013
body: {
14014
type: 'BreakStatement',
14015
label: {
14016
type: 'Identifier',
14017
name: 'start',
14018
range: [22, 27],
14019
loc: {
14020
start: { line: 1, column: 22 },
14021
end: { line: 1, column: 27 }
14022
}
14023
},
14024
range: [16, 27],
14025
loc: {
14026
start: { line: 1, column: 16 },
14027
end: { line: 1, column: 27 }
14028
}
14029
},
14030
range: [7, 27],
14031
loc: {
14032
start: { line: 1, column: 7 },
14033
end: { line: 1, column: 27 }
14034
}
14035
},
14036
range: [0, 27],
14037
loc: {
14038
start: { line: 1, column: 0 },
14039
end: { line: 1, column: 27 }
14040
}
14041
},
14042
14043
'start: while (true) break start': {
14044
type: 'LabeledStatement',
14045
label: {
14046
type: 'Identifier',
14047
name: 'start',
14048
range: [0, 5],
14049
loc: {
14050
start: { line: 1, column: 0 },
14051
end: { line: 1, column: 5 }
14052
}
14053
},
14054
body: {
14055
type: 'WhileStatement',
14056
test: {
14057
type: 'Literal',
14058
value: true,
14059
raw: 'true',
14060
range: [14, 18],
14061
loc: {
14062
start: { line: 1, column: 14 },
14063
end: { line: 1, column: 18 }
14064
}
14065
},
14066
body: {
14067
type: 'BreakStatement',
14068
label: {
14069
type: 'Identifier',
14070
name: 'start',
14071
range: [26, 31],
14072
loc: {
14073
start: { line: 1, column: 26 },
14074
end: { line: 1, column: 31 }
14075
}
14076
},
14077
range: [20, 31],
14078
loc: {
14079
start: { line: 1, column: 20 },
14080
end: { line: 1, column: 31 }
14081
}
14082
},
14083
range: [7, 31],
14084
loc: {
14085
start: { line: 1, column: 7 },
14086
end: { line: 1, column: 31 }
14087
}
14088
},
14089
range: [0, 31],
14090
loc: {
14091
start: { line: 1, column: 0 },
14092
end: { line: 1, column: 31 }
14093
}
14094
},
14095
14096
'__proto__: test': {
14097
type: 'LabeledStatement',
14098
label: {
14099
type: 'Identifier',
14100
name: '__proto__',
14101
range: [0, 9],
14102
loc: {
14103
start: { line: 1, column: 0 },
14104
end: { line: 1, column: 9 }
14105
}
14106
},
14107
body: {
14108
type: 'ExpressionStatement',
14109
expression: {
14110
type: 'Identifier',
14111
name: 'test',
14112
range: [11, 15],
14113
loc: {
14114
start: { line: 1, column: 11 },
14115
end: { line: 1, column: 15 }
14116
}
14117
},
14118
range: [11, 15],
14119
loc: {
14120
start: { line: 1, column: 11 },
14121
end: { line: 1, column: 15 }
14122
}
14123
},
14124
range: [0, 15],
14125
loc: {
14126
start: { line: 1, column: 0 },
14127
end: { line: 1, column: 15 }
14128
}
14129
}
14130
14131
},
14132
14133
'throw statement': {
14134
14135
'throw x;': {
14136
type: 'ThrowStatement',
14137
argument: {
14138
type: 'Identifier',
14139
name: 'x',
14140
range: [6, 7],
14141
loc: {
14142
start: { line: 1, column: 6 },
14143
end: { line: 1, column: 7 }
14144
}
14145
},
14146
range: [0, 8],
14147
loc: {
14148
start: { line: 1, column: 0 },
14149
end: { line: 1, column: 8 }
14150
}
14151
},
14152
14153
'throw x * y': {
14154
type: 'ThrowStatement',
14155
argument: {
14156
type: 'BinaryExpression',
14157
operator: '*',
14158
left: {
14159
type: 'Identifier',
14160
name: 'x',
14161
range: [6, 7],
14162
loc: {
14163
start: { line: 1, column: 6 },
14164
end: { line: 1, column: 7 }
14165
}
14166
},
14167
right: {
14168
type: 'Identifier',
14169
name: 'y',
14170
range: [10, 11],
14171
loc: {
14172
start: { line: 1, column: 10 },
14173
end: { line: 1, column: 11 }
14174
}
14175
},
14176
range: [6, 11],
14177
loc: {
14178
start: { line: 1, column: 6 },
14179
end: { line: 1, column: 11 }
14180
}
14181
},
14182
range: [0, 11],
14183
loc: {
14184
start: { line: 1, column: 0 },
14185
end: { line: 1, column: 11 }
14186
}
14187
},
14188
14189
'throw { message: "Error" }': {
14190
type: 'ThrowStatement',
14191
argument: {
14192
type: 'ObjectExpression',
14193
properties: [{
14194
type: 'Property',
14195
key: {
14196
type: 'Identifier',
14197
name: 'message',
14198
range: [8, 15],
14199
loc: {
14200
start: { line: 1, column: 8 },
14201
end: { line: 1, column: 15 }
14202
}
14203
},
14204
value: {
14205
type: 'Literal',
14206
value: 'Error',
14207
raw: '"Error"',
14208
range: [17, 24],
14209
loc: {
14210
start: { line: 1, column: 17 },
14211
end: { line: 1, column: 24 }
14212
}
14213
},
14214
kind: 'init',
14215
method: false,
14216
shorthand: false,
14217
computed: false,
14218
range: [8, 24],
14219
loc: {
14220
start: { line: 1, column: 8 },
14221
end: { line: 1, column: 24 }
14222
}
14223
}],
14224
range: [6, 26],
14225
loc: {
14226
start: { line: 1, column: 6 },
14227
end: { line: 1, column: 26 }
14228
}
14229
},
14230
range: [0, 26],
14231
loc: {
14232
start: { line: 1, column: 0 },
14233
end: { line: 1, column: 26 }
14234
}
14235
}
14236
14237
},
14238
14239
'try statement': {
14240
14241
'try { } catch (e) { }': {
14242
type: 'TryStatement',
14243
block: {
14244
type: 'BlockStatement',
14245
body: [],
14246
range: [4, 7],
14247
loc: {
14248
start: { line: 1, column: 4 },
14249
end: { line: 1, column: 7 }
14250
}
14251
},
14252
guardedHandlers: [],
14253
handlers: [{
14254
type: 'CatchClause',
14255
param: {
14256
type: 'Identifier',
14257
name: 'e',
14258
range: [15, 16],
14259
loc: {
14260
start: { line: 1, column: 15 },
14261
end: { line: 1, column: 16 }
14262
}
14263
},
14264
body: {
14265
type: 'BlockStatement',
14266
body: [],
14267
range: [18, 21],
14268
loc: {
14269
start: { line: 1, column: 18 },
14270
end: { line: 1, column: 21 }
14271
}
14272
},
14273
range: [8, 21],
14274
loc: {
14275
start: { line: 1, column: 8 },
14276
end: { line: 1, column: 21 }
14277
}
14278
}],
14279
finalizer: null,
14280
range: [0, 21],
14281
loc: {
14282
start: { line: 1, column: 0 },
14283
end: { line: 1, column: 21 }
14284
}
14285
},
14286
14287
'try { } catch (eval) { }': {
14288
type: 'TryStatement',
14289
block: {
14290
type: 'BlockStatement',
14291
body: [],
14292
range: [4, 7],
14293
loc: {
14294
start: { line: 1, column: 4 },
14295
end: { line: 1, column: 7 }
14296
}
14297
},
14298
guardedHandlers: [],
14299
handlers: [{
14300
type: 'CatchClause',
14301
param: {
14302
type: 'Identifier',
14303
name: 'eval',
14304
range: [15, 19],
14305
loc: {
14306
start: { line: 1, column: 15 },
14307
end: { line: 1, column: 19 }
14308
}
14309
},
14310
body: {
14311
type: 'BlockStatement',
14312
body: [],
14313
range: [21, 24],
14314
loc: {
14315
start: { line: 1, column: 21 },
14316
end: { line: 1, column: 24 }
14317
}
14318
},
14319
range: [8, 24],
14320
loc: {
14321
start: { line: 1, column: 8 },
14322
end: { line: 1, column: 24 }
14323
}
14324
}],
14325
finalizer: null,
14326
range: [0, 24],
14327
loc: {
14328
start: { line: 1, column: 0 },
14329
end: { line: 1, column: 24 }
14330
}
14331
},
14332
14333
'try { } catch (arguments) { }': {
14334
type: 'TryStatement',
14335
block: {
14336
type: 'BlockStatement',
14337
body: [],
14338
range: [4, 7],
14339
loc: {
14340
start: { line: 1, column: 4 },
14341
end: { line: 1, column: 7 }
14342
}
14343
},
14344
guardedHandlers: [],
14345
handlers: [{
14346
type: 'CatchClause',
14347
param: {
14348
type: 'Identifier',
14349
name: 'arguments',
14350
range: [15, 24],
14351
loc: {
14352
start: { line: 1, column: 15 },
14353
end: { line: 1, column: 24 }
14354
}
14355
},
14356
body: {
14357
type: 'BlockStatement',
14358
body: [],
14359
range: [26, 29],
14360
loc: {
14361
start: { line: 1, column: 26 },
14362
end: { line: 1, column: 29 }
14363
}
14364
},
14365
range: [8, 29],
14366
loc: {
14367
start: { line: 1, column: 8 },
14368
end: { line: 1, column: 29 }
14369
}
14370
}],
14371
finalizer: null,
14372
range: [0, 29],
14373
loc: {
14374
start: { line: 1, column: 0 },
14375
end: { line: 1, column: 29 }
14376
}
14377
},
14378
14379
'try { } catch (e) { say(e) }': {
14380
type: 'TryStatement',
14381
block: {
14382
type: 'BlockStatement',
14383
body: [],
14384
range: [4, 7],
14385
loc: {
14386
start: { line: 1, column: 4 },
14387
end: { line: 1, column: 7 }
14388
}
14389
},
14390
guardedHandlers: [],
14391
handlers: [{
14392
type: 'CatchClause',
14393
param: {
14394
type: 'Identifier',
14395
name: 'e',
14396
range: [15, 16],
14397
loc: {
14398
start: { line: 1, column: 15 },
14399
end: { line: 1, column: 16 }
14400
}
14401
},
14402
body: {
14403
type: 'BlockStatement',
14404
body: [{
14405
type: 'ExpressionStatement',
14406
expression: {
14407
type: 'CallExpression',
14408
callee: {
14409
type: 'Identifier',
14410
name: 'say',
14411
range: [20, 23],
14412
loc: {
14413
start: { line: 1, column: 20 },
14414
end: { line: 1, column: 23 }
14415
}
14416
},
14417
'arguments': [{
14418
type: 'Identifier',
14419
name: 'e',
14420
range: [24, 25],
14421
loc: {
14422
start: { line: 1, column: 24 },
14423
end: { line: 1, column: 25 }
14424
}
14425
}],
14426
range: [20, 26],
14427
loc: {
14428
start: { line: 1, column: 20 },
14429
end: { line: 1, column: 26 }
14430
}
14431
},
14432
range: [20, 27],
14433
loc: {
14434
start: { line: 1, column: 20 },
14435
end: { line: 1, column: 27 }
14436
}
14437
}],
14438
range: [18, 28],
14439
loc: {
14440
start: { line: 1, column: 18 },
14441
end: { line: 1, column: 28 }
14442
}
14443
},
14444
range: [8, 28],
14445
loc: {
14446
start: { line: 1, column: 8 },
14447
end: { line: 1, column: 28 }
14448
}
14449
}],
14450
finalizer: null,
14451
range: [0, 28],
14452
loc: {
14453
start: { line: 1, column: 0 },
14454
end: { line: 1, column: 28 }
14455
}
14456
},
14457
14458
'try { } finally { cleanup(stuff) }': {
14459
type: 'TryStatement',
14460
block: {
14461
type: 'BlockStatement',
14462
body: [],
14463
range: [4, 7],
14464
loc: {
14465
start: { line: 1, column: 4 },
14466
end: { line: 1, column: 7 }
14467
}
14468
},
14469
guardedHandlers: [],
14470
handlers: [],
14471
finalizer: {
14472
type: 'BlockStatement',
14473
body: [{
14474
type: 'ExpressionStatement',
14475
expression: {
14476
type: 'CallExpression',
14477
callee: {
14478
type: 'Identifier',
14479
name: 'cleanup',
14480
range: [18, 25],
14481
loc: {
14482
start: { line: 1, column: 18 },
14483
end: { line: 1, column: 25 }
14484
}
14485
},
14486
'arguments': [{
14487
type: 'Identifier',
14488
name: 'stuff',
14489
range: [26, 31],
14490
loc: {
14491
start: { line: 1, column: 26 },
14492
end: { line: 1, column: 31 }
14493
}
14494
}],
14495
range: [18, 32],
14496
loc: {
14497
start: { line: 1, column: 18 },
14498
end: { line: 1, column: 32 }
14499
}
14500
},
14501
range: [18, 33],
14502
loc: {
14503
start: { line: 1, column: 18 },
14504
end: { line: 1, column: 33 }
14505
}
14506
}],
14507
range: [16, 34],
14508
loc: {
14509
start: { line: 1, column: 16 },
14510
end: { line: 1, column: 34 }
14511
}
14512
},
14513
range: [0, 34],
14514
loc: {
14515
start: { line: 1, column: 0 },
14516
end: { line: 1, column: 34 }
14517
}
14518
},
14519
14520
'try { doThat(); } catch (e) { say(e) }': {
14521
type: 'TryStatement',
14522
block: {
14523
type: 'BlockStatement',
14524
body: [{
14525
type: 'ExpressionStatement',
14526
expression: {
14527
type: 'CallExpression',
14528
callee: {
14529
type: 'Identifier',
14530
name: 'doThat',
14531
range: [6, 12],
14532
loc: {
14533
start: { line: 1, column: 6 },
14534
end: { line: 1, column: 12 }
14535
}
14536
},
14537
'arguments': [],
14538
range: [6, 14],
14539
loc: {
14540
start: { line: 1, column: 6 },
14541
end: { line: 1, column: 14 }
14542
}
14543
},
14544
range: [6, 15],
14545
loc: {
14546
start: { line: 1, column: 6 },
14547
end: { line: 1, column: 15 }
14548
}
14549
}],
14550
range: [4, 17],
14551
loc: {
14552
start: { line: 1, column: 4 },
14553
end: { line: 1, column: 17 }
14554
}
14555
},
14556
guardedHandlers: [],
14557
handlers: [{
14558
type: 'CatchClause',
14559
param: {
14560
type: 'Identifier',
14561
name: 'e',
14562
range: [25, 26],
14563
loc: {
14564
start: { line: 1, column: 25 },
14565
end: { line: 1, column: 26 }
14566
}
14567
},
14568
body: {
14569
type: 'BlockStatement',
14570
body: [{
14571
type: 'ExpressionStatement',
14572
expression: {
14573
type: 'CallExpression',
14574
callee: {
14575
type: 'Identifier',
14576
name: 'say',
14577
range: [30, 33],
14578
loc: {
14579
start: { line: 1, column: 30 },
14580
end: { line: 1, column: 33 }
14581
}
14582
},
14583
'arguments': [{
14584
type: 'Identifier',
14585
name: 'e',
14586
range: [34, 35],
14587
loc: {
14588
start: { line: 1, column: 34 },
14589
end: { line: 1, column: 35 }
14590
}
14591
}],
14592
range: [30, 36],
14593
loc: {
14594
start: { line: 1, column: 30 },
14595
end: { line: 1, column: 36 }
14596
}
14597
},
14598
range: [30, 37],
14599
loc: {
14600
start: { line: 1, column: 30 },
14601
end: { line: 1, column: 37 }
14602
}
14603
}],
14604
range: [28, 38],
14605
loc: {
14606
start: { line: 1, column: 28 },
14607
end: { line: 1, column: 38 }
14608
}
14609
},
14610
range: [18, 38],
14611
loc: {
14612
start: { line: 1, column: 18 },
14613
end: { line: 1, column: 38 }
14614
}
14615
}],
14616
finalizer: null,
14617
range: [0, 38],
14618
loc: {
14619
start: { line: 1, column: 0 },
14620
end: { line: 1, column: 38 }
14621
}
14622
},
14623
14624
'try { doThat(); } catch (e) { say(e) } finally { cleanup(stuff) }': {
14625
type: 'TryStatement',
14626
block: {
14627
type: 'BlockStatement',
14628
body: [{
14629
type: 'ExpressionStatement',
14630
expression: {
14631
type: 'CallExpression',
14632
callee: {
14633
type: 'Identifier',
14634
name: 'doThat',
14635
range: [6, 12],
14636
loc: {
14637
start: { line: 1, column: 6 },
14638
end: { line: 1, column: 12 }
14639
}
14640
},
14641
'arguments': [],
14642
range: [6, 14],
14643
loc: {
14644
start: { line: 1, column: 6 },
14645
end: { line: 1, column: 14 }
14646
}
14647
},
14648
range: [6, 15],
14649
loc: {
14650
start: { line: 1, column: 6 },
14651
end: { line: 1, column: 15 }
14652
}
14653
}],
14654
range: [4, 17],
14655
loc: {
14656
start: { line: 1, column: 4 },
14657
end: { line: 1, column: 17 }
14658
}
14659
},
14660
guardedHandlers: [],
14661
handlers: [{
14662
type: 'CatchClause',
14663
param: {
14664
type: 'Identifier',
14665
name: 'e',
14666
range: [25, 26],
14667
loc: {
14668
start: { line: 1, column: 25 },
14669
end: { line: 1, column: 26 }
14670
}
14671
},
14672
body: {
14673
type: 'BlockStatement',
14674
body: [{
14675
type: 'ExpressionStatement',
14676
expression: {
14677
type: 'CallExpression',
14678
callee: {
14679
type: 'Identifier',
14680
name: 'say',
14681
range: [30, 33],
14682
loc: {
14683
start: { line: 1, column: 30 },
14684
end: { line: 1, column: 33 }
14685
}
14686
},
14687
'arguments': [{
14688
type: 'Identifier',
14689
name: 'e',
14690
range: [34, 35],
14691
loc: {
14692
start: { line: 1, column: 34 },
14693
end: { line: 1, column: 35 }
14694
}
14695
}],
14696
range: [30, 36],
14697
loc: {
14698
start: { line: 1, column: 30 },
14699
end: { line: 1, column: 36 }
14700
}
14701
},
14702
range: [30, 37],
14703
loc: {
14704
start: { line: 1, column: 30 },
14705
end: { line: 1, column: 37 }
14706
}
14707
}],
14708
range: [28, 38],
14709
loc: {
14710
start: { line: 1, column: 28 },
14711
end: { line: 1, column: 38 }
14712
}
14713
},
14714
range: [18, 38],
14715
loc: {
14716
start: { line: 1, column: 18 },
14717
end: { line: 1, column: 38 }
14718
}
14719
}],
14720
finalizer: {
14721
type: 'BlockStatement',
14722
body: [{
14723
type: 'ExpressionStatement',
14724
expression: {
14725
type: 'CallExpression',
14726
callee: {
14727
type: 'Identifier',
14728
name: 'cleanup',
14729
range: [49, 56],
14730
loc: {
14731
start: { line: 1, column: 49 },
14732
end: { line: 1, column: 56 }
14733
}
14734
},
14735
'arguments': [{
14736
type: 'Identifier',
14737
name: 'stuff',
14738
range: [57, 62],
14739
loc: {
14740
start: { line: 1, column: 57 },
14741
end: { line: 1, column: 62 }
14742
}
14743
}],
14744
range: [49, 63],
14745
loc: {
14746
start: { line: 1, column: 49 },
14747
end: { line: 1, column: 63 }
14748
}
14749
},
14750
range: [49, 64],
14751
loc: {
14752
start: { line: 1, column: 49 },
14753
end: { line: 1, column: 64 }
14754
}
14755
}],
14756
range: [47, 65],
14757
loc: {
14758
start: { line: 1, column: 47 },
14759
end: { line: 1, column: 65 }
14760
}
14761
},
14762
range: [0, 65],
14763
loc: {
14764
start: { line: 1, column: 0 },
14765
end: { line: 1, column: 65 }
14766
}
14767
}
14768
14769
},
14770
14771
'debugger statement': {
14772
14773
'debugger;': {
14774
type: 'DebuggerStatement',
14775
range: [0, 9],
14776
loc: {
14777
start: { line: 1, column: 0 },
14778
end: { line: 1, column: 9 }
14779
}
14780
}
14781
14782
},
14783
14784
'Function Definition': {
14785
14786
'function hello() { sayHi(); }': {
14787
type: 'FunctionDeclaration',
14788
id: {
14789
type: 'Identifier',
14790
name: 'hello',
14791
range: [9, 14],
14792
loc: {
14793
start: { line: 1, column: 9 },
14794
end: { line: 1, column: 14 }
14795
}
14796
},
14797
params: [],
14798
defaults: [],
14799
body: {
14800
type: 'BlockStatement',
14801
body: [{
14802
type: 'ExpressionStatement',
14803
expression: {
14804
type: 'CallExpression',
14805
callee: {
14806
type: 'Identifier',
14807
name: 'sayHi',
14808
range: [19, 24],
14809
loc: {
14810
start: { line: 1, column: 19 },
14811
end: { line: 1, column: 24 }
14812
}
14813
},
14814
'arguments': [],
14815
range: [19, 26],
14816
loc: {
14817
start: { line: 1, column: 19 },
14818
end: { line: 1, column: 26 }
14819
}
14820
},
14821
range: [19, 27],
14822
loc: {
14823
start: { line: 1, column: 19 },
14824
end: { line: 1, column: 27 }
14825
}
14826
}],
14827
range: [17, 29],
14828
loc: {
14829
start: { line: 1, column: 17 },
14830
end: { line: 1, column: 29 }
14831
}
14832
},
14833
rest: null,
14834
generator: false,
14835
expression: false,
14836
range: [0, 29],
14837
loc: {
14838
start: { line: 1, column: 0 },
14839
end: { line: 1, column: 29 }
14840
}
14841
},
14842
14843
'function eval() { }': {
14844
type: 'FunctionDeclaration',
14845
id: {
14846
type: 'Identifier',
14847
name: 'eval',
14848
range: [9, 13],
14849
loc: {
14850
start: { line: 1, column: 9 },
14851
end: { line: 1, column: 13 }
14852
}
14853
},
14854
params: [],
14855
defaults: [],
14856
body: {
14857
type: 'BlockStatement',
14858
body: [],
14859
range: [16, 19],
14860
loc: {
14861
start: { line: 1, column: 16 },
14862
end: { line: 1, column: 19 }
14863
}
14864
},
14865
rest: null,
14866
generator: false,
14867
expression: false,
14868
range: [0, 19],
14869
loc: {
14870
start: { line: 1, column: 0 },
14871
end: { line: 1, column: 19 }
14872
}
14873
},
14874
14875
'function arguments() { }': {
14876
type: 'FunctionDeclaration',
14877
id: {
14878
type: 'Identifier',
14879
name: 'arguments',
14880
range: [9, 18],
14881
loc: {
14882
start: { line: 1, column: 9 },
14883
end: { line: 1, column: 18 }
14884
}
14885
},
14886
params: [],
14887
defaults: [],
14888
body: {
14889
type: 'BlockStatement',
14890
body: [],
14891
range: [21, 24],
14892
loc: {
14893
start: { line: 1, column: 21 },
14894
end: { line: 1, column: 24 }
14895
}
14896
},
14897
rest: null,
14898
generator: false,
14899
expression: false,
14900
range: [0, 24],
14901
loc: {
14902
start: { line: 1, column: 0 },
14903
end: { line: 1, column: 24 }
14904
}
14905
},
14906
14907
'function test(t, t) { }': {
14908
type: 'FunctionDeclaration',
14909
id: {
14910
type: 'Identifier',
14911
name: 'test',
14912
range: [9, 13],
14913
loc: {
14914
start: { line: 1, column: 9 },
14915
end: { line: 1, column: 13 }
14916
}
14917
},
14918
params: [{
14919
type: 'Identifier',
14920
name: 't',
14921
range: [14, 15],
14922
loc: {
14923
start: { line: 1, column: 14 },
14924
end: { line: 1, column: 15 }
14925
}
14926
}, {
14927
type: 'Identifier',
14928
name: 't',
14929
range: [17, 18],
14930
loc: {
14931
start: { line: 1, column: 17 },
14932
end: { line: 1, column: 18 }
14933
}
14934
}],
14935
defaults: [],
14936
body: {
14937
type: 'BlockStatement',
14938
body: [],
14939
range: [20, 23],
14940
loc: {
14941
start: { line: 1, column: 20 },
14942
end: { line: 1, column: 23 }
14943
}
14944
},
14945
rest: null,
14946
generator: false,
14947
expression: false,
14948
range: [0, 23],
14949
loc: {
14950
start: { line: 1, column: 0 },
14951
end: { line: 1, column: 23 }
14952
}
14953
},
14954
14955
'(function test(t, t) { })': {
14956
type: 'ExpressionStatement',
14957
expression: {
14958
type: 'FunctionExpression',
14959
id: {
14960
type: 'Identifier',
14961
name: 'test',
14962
range: [10, 14],
14963
loc: {
14964
start: { line: 1, column: 10 },
14965
end: { line: 1, column: 14 }
14966
}
14967
},
14968
params: [{
14969
type: 'Identifier',
14970
name: 't',
14971
range: [15, 16],
14972
loc: {
14973
start: { line: 1, column: 15 },
14974
end: { line: 1, column: 16 }
14975
}
14976
}, {
14977
type: 'Identifier',
14978
name: 't',
14979
range: [18, 19],
14980
loc: {
14981
start: { line: 1, column: 18 },
14982
end: { line: 1, column: 19 }
14983
}
14984
}],
14985
defaults: [],
14986
body: {
14987
type: 'BlockStatement',
14988
body: [],
14989
range: [21, 24],
14990
loc: {
14991
start: { line: 1, column: 21 },
14992
end: { line: 1, column: 24 }
14993
}
14994
},
14995
rest: null,
14996
generator: false,
14997
expression: false,
14998
range: [1, 24],
14999
loc: {
15000
start: { line: 1, column: 1 },
15001
end: { line: 1, column: 24 }
15002
}
15003
},
15004
range: [0, 25],
15005
loc: {
15006
start: { line: 1, column: 0 },
15007
end: { line: 1, column: 25 }
15008
}
15009
},
15010
15011
'function eval() { function inner() { "use strict" } }': {
15012
type: 'FunctionDeclaration',
15013
id: {
15014
type: 'Identifier',
15015
name: 'eval',
15016
range: [9, 13],
15017
loc: {
15018
start: { line: 1, column: 9 },
15019
end: { line: 1, column: 13 }
15020
}
15021
},
15022
params: [],
15023
defaults: [],
15024
body: {
15025
type: 'BlockStatement',
15026
body: [{
15027
type: 'FunctionDeclaration',
15028
id: {
15029
type: 'Identifier',
15030
name: 'inner',
15031
range: [27, 32],
15032
loc: {
15033
start: { line: 1, column: 27 },
15034
end: { line: 1, column: 32 }
15035
}
15036
},
15037
params: [],
15038
defaults: [],
15039
body: {
15040
type: 'BlockStatement',
15041
body: [{
15042
type: 'ExpressionStatement',
15043
expression: {
15044
type: 'Literal',
15045
value: 'use strict',
15046
raw: '\"use strict\"',
15047
range: [37, 49],
15048
loc: {
15049
start: { line: 1, column: 37 },
15050
end: { line: 1, column: 49 }
15051
}
15052
},
15053
range: [37, 50],
15054
loc: {
15055
start: { line: 1, column: 37 },
15056
end: { line: 1, column: 50 }
15057
}
15058
}],
15059
range: [35, 51],
15060
loc: {
15061
start: { line: 1, column: 35 },
15062
end: { line: 1, column: 51 }
15063
}
15064
},
15065
rest: null,
15066
generator: false,
15067
expression: false,
15068
range: [18, 51],
15069
loc: {
15070
start: { line: 1, column: 18 },
15071
end: { line: 1, column: 51 }
15072
}
15073
}],
15074
range: [16, 53],
15075
loc: {
15076
start: { line: 1, column: 16 },
15077
end: { line: 1, column: 53 }
15078
}
15079
},
15080
rest: null,
15081
generator: false,
15082
expression: false,
15083
range: [0, 53],
15084
loc: {
15085
start: { line: 1, column: 0 },
15086
end: { line: 1, column: 53 }
15087
}
15088
},
15089
15090
'function hello(a) { sayHi(); }': {
15091
type: 'FunctionDeclaration',
15092
id: {
15093
type: 'Identifier',
15094
name: 'hello',
15095
range: [9, 14],
15096
loc: {
15097
start: { line: 1, column: 9 },
15098
end: { line: 1, column: 14 }
15099
}
15100
},
15101
params: [{
15102
type: 'Identifier',
15103
name: 'a',
15104
range: [15, 16],
15105
loc: {
15106
start: { line: 1, column: 15 },
15107
end: { line: 1, column: 16 }
15108
}
15109
}],
15110
defaults: [],
15111
body: {
15112
type: 'BlockStatement',
15113
body: [{
15114
type: 'ExpressionStatement',
15115
expression: {
15116
type: 'CallExpression',
15117
callee: {
15118
type: 'Identifier',
15119
name: 'sayHi',
15120
range: [20, 25],
15121
loc: {
15122
start: { line: 1, column: 20 },
15123
end: { line: 1, column: 25 }
15124
}
15125
},
15126
'arguments': [],
15127
range: [20, 27],
15128
loc: {
15129
start: { line: 1, column: 20 },
15130
end: { line: 1, column: 27 }
15131
}
15132
},
15133
range: [20, 28],
15134
loc: {
15135
start: { line: 1, column: 20 },
15136
end: { line: 1, column: 28 }
15137
}
15138
}],
15139
range: [18, 30],
15140
loc: {
15141
start: { line: 1, column: 18 },
15142
end: { line: 1, column: 30 }
15143
}
15144
},
15145
rest: null,
15146
generator: false,
15147
expression: false,
15148
range: [0, 30],
15149
loc: {
15150
start: { line: 1, column: 0 },
15151
end: { line: 1, column: 30 }
15152
}
15153
},
15154
15155
'function hello(a, b) { sayHi(); }': {
15156
type: 'FunctionDeclaration',
15157
id: {
15158
type: 'Identifier',
15159
name: 'hello',
15160
range: [9, 14],
15161
loc: {
15162
start: { line: 1, column: 9 },
15163
end: { line: 1, column: 14 }
15164
}
15165
},
15166
params: [{
15167
type: 'Identifier',
15168
name: 'a',
15169
range: [15, 16],
15170
loc: {
15171
start: { line: 1, column: 15 },
15172
end: { line: 1, column: 16 }
15173
}
15174
}, {
15175
type: 'Identifier',
15176
name: 'b',
15177
range: [18, 19],
15178
loc: {
15179
start: { line: 1, column: 18 },
15180
end: { line: 1, column: 19 }
15181
}
15182
}],
15183
defaults: [],
15184
body: {
15185
type: 'BlockStatement',
15186
body: [{
15187
type: 'ExpressionStatement',
15188
expression: {
15189
type: 'CallExpression',
15190
callee: {
15191
type: 'Identifier',
15192
name: 'sayHi',
15193
range: [23, 28],
15194
loc: {
15195
start: { line: 1, column: 23 },
15196
end: { line: 1, column: 28 }
15197
}
15198
},
15199
'arguments': [],
15200
range: [23, 30],
15201
loc: {
15202
start: { line: 1, column: 23 },
15203
end: { line: 1, column: 30 }
15204
}
15205
},
15206
range: [23, 31],
15207
loc: {
15208
start: { line: 1, column: 23 },
15209
end: { line: 1, column: 31 }
15210
}
15211
}],
15212
range: [21, 33],
15213
loc: {
15214
start: { line: 1, column: 21 },
15215
end: { line: 1, column: 33 }
15216
}
15217
},
15218
rest: null,
15219
generator: false,
15220
expression: false,
15221
range: [0, 33],
15222
loc: {
15223
start: { line: 1, column: 0 },
15224
end: { line: 1, column: 33 }
15225
}
15226
},
15227
15228
'var hi = function() { sayHi() };': {
15229
type: 'VariableDeclaration',
15230
declarations: [{
15231
type: 'VariableDeclarator',
15232
id: {
15233
type: 'Identifier',
15234
name: 'hi',
15235
range: [4, 6],
15236
loc: {
15237
start: { line: 1, column: 4 },
15238
end: { line: 1, column: 6 }
15239
}
15240
},
15241
init: {
15242
type: 'FunctionExpression',
15243
id: null,
15244
params: [],
15245
defaults: [],
15246
body: {
15247
type: 'BlockStatement',
15248
body: [{
15249
type: 'ExpressionStatement',
15250
expression: {
15251
type: 'CallExpression',
15252
callee: {
15253
type: 'Identifier',
15254
name: 'sayHi',
15255
range: [22, 27],
15256
loc: {
15257
start: { line: 1, column: 22 },
15258
end: { line: 1, column: 27 }
15259
}
15260
},
15261
'arguments': [],
15262
range: [22, 29],
15263
loc: {
15264
start: { line: 1, column: 22 },
15265
end: { line: 1, column: 29 }
15266
}
15267
},
15268
range: [22, 30],
15269
loc: {
15270
start: { line: 1, column: 22 },
15271
end: { line: 1, column: 30 }
15272
}
15273
}],
15274
range: [20, 31],
15275
loc: {
15276
start: { line: 1, column: 20 },
15277
end: { line: 1, column: 31 }
15278
}
15279
},
15280
rest: null,
15281
generator: false,
15282
expression: false,
15283
range: [9, 31],
15284
loc: {
15285
start: { line: 1, column: 9 },
15286
end: { line: 1, column: 31 }
15287
}
15288
},
15289
range: [4, 31],
15290
loc: {
15291
start: { line: 1, column: 4 },
15292
end: { line: 1, column: 31 }
15293
}
15294
}],
15295
kind: 'var',
15296
range: [0, 32],
15297
loc: {
15298
start: { line: 1, column: 0 },
15299
end: { line: 1, column: 32 }
15300
}
15301
},
15302
15303
'var hi = function eval() { };': {
15304
type: 'VariableDeclaration',
15305
declarations: [{
15306
type: 'VariableDeclarator',
15307
id: {
15308
type: 'Identifier',
15309
name: 'hi',
15310
range: [4, 6],
15311
loc: {
15312
start: { line: 1, column: 4 },
15313
end: { line: 1, column: 6 }
15314
}
15315
},
15316
init: {
15317
type: 'FunctionExpression',
15318
id: {
15319
type: 'Identifier',
15320
name: 'eval',
15321
range: [18, 22],
15322
loc: {
15323
start: { line: 1, column: 18 },
15324
end: { line: 1, column: 22 }
15325
}
15326
},
15327
params: [],
15328
defaults: [],
15329
body: {
15330
type: 'BlockStatement',
15331
body: [],
15332
range: [25, 28],
15333
loc: {
15334
start: { line: 1, column: 25 },
15335
end: { line: 1, column: 28 }
15336
}
15337
},
15338
rest: null,
15339
generator: false,
15340
expression: false,
15341
range: [9, 28],
15342
loc: {
15343
start: { line: 1, column: 9 },
15344
end: { line: 1, column: 28 }
15345
}
15346
},
15347
range: [4, 28],
15348
loc: {
15349
start: { line: 1, column: 4 },
15350
end: { line: 1, column: 28 }
15351
}
15352
}],
15353
kind: 'var',
15354
range: [0, 29],
15355
loc: {
15356
start: { line: 1, column: 0 },
15357
end: { line: 1, column: 29 }
15358
}
15359
},
15360
15361
'var hi = function arguments() { };': {
15362
type: 'VariableDeclaration',
15363
declarations: [{
15364
type: 'VariableDeclarator',
15365
id: {
15366
type: 'Identifier',
15367
name: 'hi',
15368
range: [4, 6],
15369
loc: {
15370
start: { line: 1, column: 4 },
15371
end: { line: 1, column: 6 }
15372
}
15373
},
15374
init: {
15375
type: 'FunctionExpression',
15376
id: {
15377
type: 'Identifier',
15378
name: 'arguments',
15379
range: [18, 27],
15380
loc: {
15381
start: { line: 1, column: 18 },
15382
end: { line: 1, column: 27 }
15383
}
15384
},
15385
params: [],
15386
defaults: [],
15387
body: {
15388
type: 'BlockStatement',
15389
body: [],
15390
range: [30, 33],
15391
loc: {
15392
start: { line: 1, column: 30 },
15393
end: { line: 1, column: 33 }
15394
}
15395
},
15396
rest: null,
15397
generator: false,
15398
expression: false,
15399
range: [9, 33],
15400
loc: {
15401
start: { line: 1, column: 9 },
15402
end: { line: 1, column: 33 }
15403
}
15404
},
15405
range: [4, 33],
15406
loc: {
15407
start: { line: 1, column: 4 },
15408
end: { line: 1, column: 33 }
15409
}
15410
}],
15411
kind: 'var',
15412
range: [0, 34],
15413
loc: {
15414
start: { line: 1, column: 0 },
15415
end: { line: 1, column: 34 }
15416
}
15417
},
15418
15419
'var hello = function hi() { sayHi() };': {
15420
type: 'VariableDeclaration',
15421
declarations: [{
15422
type: 'VariableDeclarator',
15423
id: {
15424
type: 'Identifier',
15425
name: 'hello',
15426
range: [4, 9],
15427
loc: {
15428
start: { line: 1, column: 4 },
15429
end: { line: 1, column: 9 }
15430
}
15431
},
15432
init: {
15433
type: 'FunctionExpression',
15434
id: {
15435
type: 'Identifier',
15436
name: 'hi',
15437
range: [21, 23],
15438
loc: {
15439
start: { line: 1, column: 21 },
15440
end: { line: 1, column: 23 }
15441
}
15442
},
15443
params: [],
15444
defaults: [],
15445
body: {
15446
type: 'BlockStatement',
15447
body: [{
15448
type: 'ExpressionStatement',
15449
expression: {
15450
type: 'CallExpression',
15451
callee: {
15452
type: 'Identifier',
15453
name: 'sayHi',
15454
range: [28, 33],
15455
loc: {
15456
start: { line: 1, column: 28 },
15457
end: { line: 1, column: 33 }
15458
}
15459
},
15460
'arguments': [],
15461
range: [28, 35],
15462
loc: {
15463
start: { line: 1, column: 28 },
15464
end: { line: 1, column: 35 }
15465
}
15466
},
15467
range: [28, 36],
15468
loc: {
15469
start: { line: 1, column: 28 },
15470
end: { line: 1, column: 36 }
15471
}
15472
}],
15473
range: [26, 37],
15474
loc: {
15475
start: { line: 1, column: 26 },
15476
end: { line: 1, column: 37 }
15477
}
15478
},
15479
rest: null,
15480
generator: false,
15481
expression: false,
15482
range: [12, 37],
15483
loc: {
15484
start: { line: 1, column: 12 },
15485
end: { line: 1, column: 37 }
15486
}
15487
},
15488
range: [4, 37],
15489
loc: {
15490
start: { line: 1, column: 4 },
15491
end: { line: 1, column: 37 }
15492
}
15493
}],
15494
kind: 'var',
15495
range: [0, 38],
15496
loc: {
15497
start: { line: 1, column: 0 },
15498
end: { line: 1, column: 38 }
15499
}
15500
},
15501
15502
'(function(){})': {
15503
type: 'ExpressionStatement',
15504
expression: {
15505
type: 'FunctionExpression',
15506
id: null,
15507
params: [],
15508
defaults: [],
15509
body: {
15510
type: 'BlockStatement',
15511
body: [],
15512
range: [11, 13],
15513
loc: {
15514
start: { line: 1, column: 11 },
15515
end: { line: 1, column: 13 }
15516
}
15517
},
15518
rest: null,
15519
generator: false,
15520
expression: false,
15521
range: [1, 13],
15522
loc: {
15523
start: { line: 1, column: 1 },
15524
end: { line: 1, column: 13 }
15525
}
15526
},
15527
range: [0, 14],
15528
loc: {
15529
start: { line: 1, column: 0 },
15530
end: { line: 1, column: 14 }
15531
}
15532
},
15533
15534
'function universe(__proto__) { }': {
15535
type: 'FunctionDeclaration',
15536
id: {
15537
type: 'Identifier',
15538
name: 'universe',
15539
range: [9, 17],
15540
loc: {
15541
start: { line: 1, column: 9 },
15542
end: { line: 1, column: 17 }
15543
}
15544
},
15545
params: [{
15546
type: 'Identifier',
15547
name: '__proto__',
15548
range: [18, 27],
15549
loc: {
15550
start: { line: 1, column: 18 },
15551
end: { line: 1, column: 27 }
15552
}
15553
}],
15554
defaults: [],
15555
body: {
15556
type: 'BlockStatement',
15557
body: [],
15558
range: [29, 32],
15559
loc: {
15560
start: { line: 1, column: 29 },
15561
end: { line: 1, column: 32 }
15562
}
15563
},
15564
rest: null,
15565
generator: false,
15566
expression: false,
15567
range: [0, 32],
15568
loc: {
15569
start: { line: 1, column: 0 },
15570
end: { line: 1, column: 32 }
15571
}
15572
},
15573
15574
'function test() { "use strict" + 42; }': {
15575
type: 'FunctionDeclaration',
15576
id: {
15577
type: 'Identifier',
15578
name: 'test',
15579
range: [9, 13],
15580
loc: {
15581
start: { line: 1, column: 9 },
15582
end: { line: 1, column: 13 }
15583
}
15584
},
15585
params: [],
15586
defaults: [],
15587
body: {
15588
type: 'BlockStatement',
15589
body: [{
15590
type: 'ExpressionStatement',
15591
expression: {
15592
type: 'BinaryExpression',
15593
operator: '+',
15594
left: {
15595
type: 'Literal',
15596
value: 'use strict',
15597
raw: '"use strict"',
15598
range: [18, 30],
15599
loc: {
15600
start: { line: 1, column: 18 },
15601
end: { line: 1, column: 30 }
15602
}
15603
},
15604
right: {
15605
type: 'Literal',
15606
value: 42,
15607
raw: '42',
15608
range: [33, 35],
15609
loc: {
15610
start: { line: 1, column: 33 },
15611
end: { line: 1, column: 35 }
15612
}
15613
},
15614
range: [18, 35],
15615
loc: {
15616
start: { line: 1, column: 18 },
15617
end: { line: 1, column: 35 }
15618
}
15619
},
15620
range: [18, 36],
15621
loc: {
15622
start: { line: 1, column: 18 },
15623
end: { line: 1, column: 36 }
15624
}
15625
}],
15626
range: [16, 38],
15627
loc: {
15628
start: { line: 1, column: 16 },
15629
end: { line: 1, column: 38 }
15630
}
15631
},
15632
rest: null,
15633
generator: false,
15634
expression: false,
15635
range: [0, 38],
15636
loc: {
15637
start: { line: 1, column: 0 },
15638
end: { line: 1, column: 38 }
15639
}
15640
}
15641
15642
},
15643
15644
'Automatic semicolon insertion': {
15645
15646
'{ x\n++y }': {
15647
type: 'BlockStatement',
15648
body: [{
15649
type: 'ExpressionStatement',
15650
expression: {
15651
type: 'Identifier',
15652
name: 'x',
15653
range: [2, 3],
15654
loc: {
15655
start: { line: 1, column: 2 },
15656
end: { line: 1, column: 3 }
15657
}
15658
},
15659
range: [2, 4],
15660
loc: {
15661
start: { line: 1, column: 2 },
15662
end: { line: 2, column: 0 }
15663
}
15664
}, {
15665
type: 'ExpressionStatement',
15666
expression: {
15667
type: 'UpdateExpression',
15668
operator: '++',
15669
argument: {
15670
type: 'Identifier',
15671
name: 'y',
15672
range: [6, 7],
15673
loc: {
15674
start: { line: 2, column: 2 },
15675
end: { line: 2, column: 3 }
15676
}
15677
},
15678
prefix: true,
15679
range: [4, 7],
15680
loc: {
15681
start: { line: 2, column: 0 },
15682
end: { line: 2, column: 3 }
15683
}
15684
},
15685
range: [4, 8],
15686
loc: {
15687
start: { line: 2, column: 0 },
15688
end: { line: 2, column: 4 }
15689
}
15690
}],
15691
range: [0, 9],
15692
loc: {
15693
start: { line: 1, column: 0 },
15694
end: { line: 2, column: 5 }
15695
}
15696
},
15697
15698
'{ x\n--y }': {
15699
type: 'BlockStatement',
15700
body: [{
15701
type: 'ExpressionStatement',
15702
expression: {
15703
type: 'Identifier',
15704
name: 'x',
15705
range: [2, 3],
15706
loc: {
15707
start: { line: 1, column: 2 },
15708
end: { line: 1, column: 3 }
15709
}
15710
},
15711
range: [2, 4],
15712
loc: {
15713
start: { line: 1, column: 2 },
15714
end: { line: 2, column: 0 }
15715
}
15716
}, {
15717
type: 'ExpressionStatement',
15718
expression: {
15719
type: 'UpdateExpression',
15720
operator: '--',
15721
argument: {
15722
type: 'Identifier',
15723
name: 'y',
15724
range: [6, 7],
15725
loc: {
15726
start: { line: 2, column: 2 },
15727
end: { line: 2, column: 3 }
15728
}
15729
},
15730
prefix: true,
15731
range: [4, 7],
15732
loc: {
15733
start: { line: 2, column: 0 },
15734
end: { line: 2, column: 3 }
15735
}
15736
},
15737
range: [4, 8],
15738
loc: {
15739
start: { line: 2, column: 0 },
15740
end: { line: 2, column: 4 }
15741
}
15742
}],
15743
range: [0, 9],
15744
loc: {
15745
start: { line: 1, column: 0 },
15746
end: { line: 2, column: 5 }
15747
}
15748
},
15749
15750
'var x /* comment */;': {
15751
type: 'VariableDeclaration',
15752
declarations: [{
15753
type: 'VariableDeclarator',
15754
id: {
15755
type: 'Identifier',
15756
name: 'x',
15757
range: [4, 5],
15758
loc: {
15759
start: { line: 1, column: 4 },
15760
end: { line: 1, column: 5 }
15761
}
15762
},
15763
init: null,
15764
range: [4, 5],
15765
loc: {
15766
start: { line: 1, column: 4 },
15767
end: { line: 1, column: 5 }
15768
}
15769
}],
15770
kind: 'var',
15771
range: [0, 20],
15772
loc: {
15773
start: { line: 1, column: 0 },
15774
end: { line: 1, column: 20 }
15775
}
15776
},
15777
15778
'{ var x = 14, y = 3\nz; }': {
15779
type: 'BlockStatement',
15780
body: [{
15781
type: 'VariableDeclaration',
15782
declarations: [{
15783
type: 'VariableDeclarator',
15784
id: {
15785
type: 'Identifier',
15786
name: 'x',
15787
range: [6, 7],
15788
loc: {
15789
start: { line: 1, column: 6 },
15790
end: { line: 1, column: 7 }
15791
}
15792
},
15793
init: {
15794
type: 'Literal',
15795
value: 14,
15796
raw: '14',
15797
range: [10, 12],
15798
loc: {
15799
start: { line: 1, column: 10 },
15800
end: { line: 1, column: 12 }
15801
}
15802
},
15803
range: [6, 12],
15804
loc: {
15805
start: { line: 1, column: 6 },
15806
end: { line: 1, column: 12 }
15807
}
15808
}, {
15809
type: 'VariableDeclarator',
15810
id: {
15811
type: 'Identifier',
15812
name: 'y',
15813
range: [14, 15],
15814
loc: {
15815
start: { line: 1, column: 14 },
15816
end: { line: 1, column: 15 }
15817
}
15818
},
15819
init: {
15820
type: 'Literal',
15821
value: 3,
15822
raw: '3',
15823
range: [18, 19],
15824
loc: {
15825
start: { line: 1, column: 18 },
15826
end: { line: 1, column: 19 }
15827
}
15828
},
15829
range: [14, 19],
15830
loc: {
15831
start: { line: 1, column: 14 },
15832
end: { line: 1, column: 19 }
15833
}
15834
}],
15835
kind: 'var',
15836
range: [2, 20],
15837
loc: {
15838
start: { line: 1, column: 2 },
15839
end: { line: 2, column: 0 }
15840
}
15841
}, {
15842
type: 'ExpressionStatement',
15843
expression: {
15844
type: 'Identifier',
15845
name: 'z',
15846
range: [20, 21],
15847
loc: {
15848
start: { line: 2, column: 0 },
15849
end: { line: 2, column: 1 }
15850
}
15851
},
15852
range: [20, 22],
15853
loc: {
15854
start: { line: 2, column: 0 },
15855
end: { line: 2, column: 2 }
15856
}
15857
}],
15858
range: [0, 24],
15859
loc: {
15860
start: { line: 1, column: 0 },
15861
end: { line: 2, column: 4 }
15862
}
15863
},
15864
15865
'while (true) { continue\nthere; }': {
15866
type: 'WhileStatement',
15867
test: {
15868
type: 'Literal',
15869
value: true,
15870
raw: 'true',
15871
range: [7, 11],
15872
loc: {
15873
start: { line: 1, column: 7 },
15874
end: { line: 1, column: 11 }
15875
}
15876
},
15877
body: {
15878
type: 'BlockStatement',
15879
body: [{
15880
type: 'ContinueStatement',
15881
label: null,
15882
range: [15, 23],
15883
loc: {
15884
start: { line: 1, column: 15 },
15885
end: { line: 1, column: 23 }
15886
}
15887
}, {
15888
type: 'ExpressionStatement',
15889
expression: {
15890
type: 'Identifier',
15891
name: 'there',
15892
range: [24, 29],
15893
loc: {
15894
start: { line: 2, column: 0 },
15895
end: { line: 2, column: 5 }
15896
}
15897
},
15898
range: [24, 30],
15899
loc: {
15900
start: { line: 2, column: 0 },
15901
end: { line: 2, column: 6 }
15902
}
15903
}],
15904
range: [13, 32],
15905
loc: {
15906
start: { line: 1, column: 13 },
15907
end: { line: 2, column: 8 }
15908
}
15909
},
15910
range: [0, 32],
15911
loc: {
15912
start: { line: 1, column: 0 },
15913
end: { line: 2, column: 8 }
15914
}
15915
},
15916
15917
'while (true) { continue // Comment\nthere; }': {
15918
type: 'WhileStatement',
15919
test: {
15920
type: 'Literal',
15921
value: true,
15922
raw: 'true',
15923
range: [7, 11],
15924
loc: {
15925
start: { line: 1, column: 7 },
15926
end: { line: 1, column: 11 }
15927
}
15928
},
15929
body: {
15930
type: 'BlockStatement',
15931
body: [{
15932
type: 'ContinueStatement',
15933
label: null,
15934
range: [15, 23],
15935
loc: {
15936
start: { line: 1, column: 15 },
15937
end: { line: 1, column: 23 }
15938
}
15939
}, {
15940
type: 'ExpressionStatement',
15941
expression: {
15942
type: 'Identifier',
15943
name: 'there',
15944
range: [35, 40],
15945
loc: {
15946
start: { line: 2, column: 0 },
15947
end: { line: 2, column: 5 }
15948
}
15949
},
15950
range: [35, 41],
15951
loc: {
15952
start: { line: 2, column: 0 },
15953
end: { line: 2, column: 6 }
15954
}
15955
}],
15956
range: [13, 43],
15957
loc: {
15958
start: { line: 1, column: 13 },
15959
end: { line: 2, column: 8 }
15960
}
15961
},
15962
range: [0, 43],
15963
loc: {
15964
start: { line: 1, column: 0 },
15965
end: { line: 2, column: 8 }
15966
}
15967
},
15968
15969
'while (true) { continue /* Multiline\nComment */there; }': {
15970
type: 'WhileStatement',
15971
test: {
15972
type: 'Literal',
15973
value: true,
15974
raw: 'true',
15975
range: [7, 11],
15976
loc: {
15977
start: { line: 1, column: 7 },
15978
end: { line: 1, column: 11 }
15979
}
15980
},
15981
body: {
15982
type: 'BlockStatement',
15983
body: [{
15984
type: 'ContinueStatement',
15985
label: null,
15986
range: [15, 23],
15987
loc: {
15988
start: { line: 1, column: 15 },
15989
end: { line: 1, column: 23 }
15990
}
15991
}, {
15992
type: 'ExpressionStatement',
15993
expression: {
15994
type: 'Identifier',
15995
name: 'there',
15996
range: [47, 52],
15997
loc: {
15998
start: { line: 2, column: 10 },
15999
end: { line: 2, column: 15 }
16000
}
16001
},
16002
range: [47, 53],
16003
loc: {
16004
start: { line: 2, column: 10 },
16005
end: { line: 2, column: 16 }
16006
}
16007
}],
16008
range: [13, 55],
16009
loc: {
16010
start: { line: 1, column: 13 },
16011
end: { line: 2, column: 18 }
16012
}
16013
},
16014
range: [0, 55],
16015
loc: {
16016
start: { line: 1, column: 0 },
16017
end: { line: 2, column: 18 }
16018
}
16019
},
16020
16021
'while (true) { break\nthere; }': {
16022
type: 'WhileStatement',
16023
test: {
16024
type: 'Literal',
16025
value: true,
16026
raw: 'true',
16027
range: [7, 11],
16028
loc: {
16029
start: { line: 1, column: 7 },
16030
end: { line: 1, column: 11 }
16031
}
16032
},
16033
body: {
16034
type: 'BlockStatement',
16035
body: [{
16036
type: 'BreakStatement',
16037
label: null,
16038
range: [15, 20],
16039
loc: {
16040
start: { line: 1, column: 15 },
16041
end: { line: 1, column: 20 }
16042
}
16043
}, {
16044
type: 'ExpressionStatement',
16045
expression: {
16046
type: 'Identifier',
16047
name: 'there',
16048
range: [21, 26],
16049
loc: {
16050
start: { line: 2, column: 0 },
16051
end: { line: 2, column: 5 }
16052
}
16053
},
16054
range: [21, 27],
16055
loc: {
16056
start: { line: 2, column: 0 },
16057
end: { line: 2, column: 6 }
16058
}
16059
}],
16060
range: [13, 29],
16061
loc: {
16062
start: { line: 1, column: 13 },
16063
end: { line: 2, column: 8 }
16064
}
16065
},
16066
range: [0, 29],
16067
loc: {
16068
start: { line: 1, column: 0 },
16069
end: { line: 2, column: 8 }
16070
}
16071
},
16072
16073
'while (true) { break // Comment\nthere; }': {
16074
type: 'WhileStatement',
16075
test: {
16076
type: 'Literal',
16077
value: true,
16078
raw: 'true',
16079
range: [7, 11],
16080
loc: {
16081
start: { line: 1, column: 7 },
16082
end: { line: 1, column: 11 }
16083
}
16084
},
16085
body: {
16086
type: 'BlockStatement',
16087
body: [{
16088
type: 'BreakStatement',
16089
label: null,
16090
range: [15, 20],
16091
loc: {
16092
start: { line: 1, column: 15 },
16093
end: { line: 1, column: 20 }
16094
}
16095
}, {
16096
type: 'ExpressionStatement',
16097
expression: {
16098
type: 'Identifier',
16099
name: 'there',
16100
range: [32, 37],
16101
loc: {
16102
start: { line: 2, column: 0 },
16103
end: { line: 2, column: 5 }
16104
}
16105
},
16106
range: [32, 38],
16107
loc: {
16108
start: { line: 2, column: 0 },
16109
end: { line: 2, column: 6 }
16110
}
16111
}],
16112
range: [13, 40],
16113
loc: {
16114
start: { line: 1, column: 13 },
16115
end: { line: 2, column: 8 }
16116
}
16117
},
16118
range: [0, 40],
16119
loc: {
16120
start: { line: 1, column: 0 },
16121
end: { line: 2, column: 8 }
16122
}
16123
},
16124
16125
'while (true) { break /* Multiline\nComment */there; }': {
16126
type: 'WhileStatement',
16127
test: {
16128
type: 'Literal',
16129
value: true,
16130
raw: 'true',
16131
range: [7, 11],
16132
loc: {
16133
start: { line: 1, column: 7 },
16134
end: { line: 1, column: 11 }
16135
}
16136
},
16137
body: {
16138
type: 'BlockStatement',
16139
body: [{
16140
type: 'BreakStatement',
16141
label: null,
16142
range: [15, 20],
16143
loc: {
16144
start: { line: 1, column: 15 },
16145
end: { line: 1, column: 20 }
16146
}
16147
}, {
16148
type: 'ExpressionStatement',
16149
expression: {
16150
type: 'Identifier',
16151
name: 'there',
16152
range: [44, 49],
16153
loc: {
16154
start: { line: 2, column: 10 },
16155
end: { line: 2, column: 15 }
16156
}
16157
},
16158
range: [44, 50],
16159
loc: {
16160
start: { line: 2, column: 10 },
16161
end: { line: 2, column: 16 }
16162
}
16163
}],
16164
range: [13, 52],
16165
loc: {
16166
start: { line: 1, column: 13 },
16167
end: { line: 2, column: 18 }
16168
}
16169
},
16170
range: [0, 52],
16171
loc: {
16172
start: { line: 1, column: 0 },
16173
end: { line: 2, column: 18 }
16174
}
16175
},
16176
16177
'(function(){ return\nx; })': {
16178
type: 'ExpressionStatement',
16179
expression: {
16180
type: 'FunctionExpression',
16181
id: null,
16182
params: [],
16183
defaults: [],
16184
body: {
16185
type: 'BlockStatement',
16186
body: [
16187
{
16188
type: 'ReturnStatement',
16189
argument: null,
16190
range: [13, 19],
16191
loc: {
16192
start: { line: 1, column: 13 },
16193
end: { line: 1, column: 19 }
16194
}
16195
},
16196
{
16197
type: 'ExpressionStatement',
16198
expression: {
16199
type: 'Identifier',
16200
name: 'x',
16201
range: [20, 21],
16202
loc: {
16203
start: { line: 2, column: 0 },
16204
end: { line: 2, column: 1 }
16205
}
16206
},
16207
range: [20, 22],
16208
loc: {
16209
start: { line: 2, column: 0 },
16210
end: { line: 2, column: 2 }
16211
}
16212
}
16213
],
16214
range: [11, 24],
16215
loc: {
16216
start: { line: 1, column: 11 },
16217
end: { line: 2, column: 4 }
16218
}
16219
},
16220
rest: null,
16221
generator: false,
16222
expression: false,
16223
range: [1, 24],
16224
loc: {
16225
start: { line: 1, column: 1 },
16226
end: { line: 2, column: 4 }
16227
}
16228
},
16229
range: [0, 25],
16230
loc: {
16231
start: { line: 1, column: 0 },
16232
end: { line: 2, column: 5 }
16233
}
16234
},
16235
16236
'(function(){ return // Comment\nx; })': {
16237
type: 'ExpressionStatement',
16238
expression: {
16239
type: 'FunctionExpression',
16240
id: null,
16241
params: [],
16242
defaults: [],
16243
body: {
16244
type: 'BlockStatement',
16245
body: [
16246
{
16247
type: 'ReturnStatement',
16248
argument: null,
16249
range: [13, 19],
16250
loc: {
16251
start: { line: 1, column: 13 },
16252
end: { line: 1, column: 19 }
16253
}
16254
},
16255
{
16256
type: 'ExpressionStatement',
16257
expression: {
16258
type: 'Identifier',
16259
name: 'x',
16260
range: [31, 32],
16261
loc: {
16262
start: { line: 2, column: 0 },
16263
end: { line: 2, column: 1 }
16264
}
16265
},
16266
range: [31, 33],
16267
loc: {
16268
start: { line: 2, column: 0 },
16269
end: { line: 2, column: 2 }
16270
}
16271
}
16272
],
16273
range: [11, 35],
16274
loc: {
16275
start: { line: 1, column: 11 },
16276
end: { line: 2, column: 4 }
16277
}
16278
},
16279
rest: null,
16280
generator: false,
16281
expression: false,
16282
range: [1, 35],
16283
loc: {
16284
start: { line: 1, column: 1 },
16285
end: { line: 2, column: 4 }
16286
}
16287
},
16288
range: [0, 36],
16289
loc: {
16290
start: { line: 1, column: 0 },
16291
end: { line: 2, column: 5 }
16292
}
16293
},
16294
16295
'(function(){ return/* Multiline\nComment */x; })': {
16296
type: 'ExpressionStatement',
16297
expression: {
16298
type: 'FunctionExpression',
16299
id: null,
16300
params: [],
16301
defaults: [],
16302
body: {
16303
type: 'BlockStatement',
16304
body: [
16305
{
16306
type: 'ReturnStatement',
16307
argument: null,
16308
range: [13, 19],
16309
loc: {
16310
start: { line: 1, column: 13 },
16311
end: { line: 1, column: 19 }
16312
}
16313
},
16314
{
16315
type: 'ExpressionStatement',
16316
expression: {
16317
type: 'Identifier',
16318
name: 'x',
16319
range: [42, 43],
16320
loc: {
16321
start: { line: 2, column: 10 },
16322
end: { line: 2, column: 11 }
16323
}
16324
},
16325
range: [42, 44],
16326
loc: {
16327
start: { line: 2, column: 10 },
16328
end: { line: 2, column: 12 }
16329
}
16330
}
16331
],
16332
range: [11, 46],
16333
loc: {
16334
start: { line: 1, column: 11 },
16335
end: { line: 2, column: 14 }
16336
}
16337
},
16338
rest: null,
16339
generator: false,
16340
expression: false,
16341
range: [1, 46],
16342
loc: {
16343
start: { line: 1, column: 1 },
16344
end: { line: 2, column: 14 }
16345
}
16346
},
16347
range: [0, 47],
16348
loc: {
16349
start: { line: 1, column: 0 },
16350
end: { line: 2, column: 15 }
16351
}
16352
},
16353
16354
'{ throw error\nerror; }': {
16355
type: 'BlockStatement',
16356
body: [{
16357
type: 'ThrowStatement',
16358
argument: {
16359
type: 'Identifier',
16360
name: 'error',
16361
range: [8, 13],
16362
loc: {
16363
start: { line: 1, column: 8 },
16364
end: { line: 1, column: 13 }
16365
}
16366
},
16367
range: [2, 14],
16368
loc: {
16369
start: { line: 1, column: 2 },
16370
end: { line: 2, column: 0 }
16371
}
16372
}, {
16373
type: 'ExpressionStatement',
16374
expression: {
16375
type: 'Identifier',
16376
name: 'error',
16377
range: [14, 19],
16378
loc: {
16379
start: { line: 2, column: 0 },
16380
end: { line: 2, column: 5 }
16381
}
16382
},
16383
range: [14, 20],
16384
loc: {
16385
start: { line: 2, column: 0 },
16386
end: { line: 2, column: 6 }
16387
}
16388
}],
16389
range: [0, 22],
16390
loc: {
16391
start: { line: 1, column: 0 },
16392
end: { line: 2, column: 8 }
16393
}
16394
},
16395
16396
'{ throw error// Comment\nerror; }': {
16397
type: 'BlockStatement',
16398
body: [{
16399
type: 'ThrowStatement',
16400
argument: {
16401
type: 'Identifier',
16402
name: 'error',
16403
range: [8, 13],
16404
loc: {
16405
start: { line: 1, column: 8 },
16406
end: { line: 1, column: 13 }
16407
}
16408
},
16409
range: [2, 24],
16410
loc: {
16411
start: { line: 1, column: 2 },
16412
end: { line: 2, column: 0 }
16413
}
16414
}, {
16415
type: 'ExpressionStatement',
16416
expression: {
16417
type: 'Identifier',
16418
name: 'error',
16419
range: [24, 29],
16420
loc: {
16421
start: { line: 2, column: 0 },
16422
end: { line: 2, column: 5 }
16423
}
16424
},
16425
range: [24, 30],
16426
loc: {
16427
start: { line: 2, column: 0 },
16428
end: { line: 2, column: 6 }
16429
}
16430
}],
16431
range: [0, 32],
16432
loc: {
16433
start: { line: 1, column: 0 },
16434
end: { line: 2, column: 8 }
16435
}
16436
},
16437
16438
'{ throw error/* Multiline\nComment */error; }': {
16439
type: 'BlockStatement',
16440
body: [{
16441
type: 'ThrowStatement',
16442
argument: {
16443
type: 'Identifier',
16444
name: 'error',
16445
range: [8, 13],
16446
loc: {
16447
start: { line: 1, column: 8 },
16448
end: { line: 1, column: 13 }
16449
}
16450
},
16451
range: [2, 36],
16452
loc: {
16453
start: { line: 1, column: 2 },
16454
end: { line: 2, column: 10 }
16455
}
16456
}, {
16457
type: 'ExpressionStatement',
16458
expression: {
16459
type: 'Identifier',
16460
name: 'error',
16461
range: [36, 41],
16462
loc: {
16463
start: { line: 2, column: 10 },
16464
end: { line: 2, column: 15 }
16465
}
16466
},
16467
range: [36, 42],
16468
loc: {
16469
start: { line: 2, column: 10 },
16470
end: { line: 2, column: 16 }
16471
}
16472
}],
16473
range: [0, 44],
16474
loc: {
16475
start: { line: 1, column: 0 },
16476
end: { line: 2, column: 18 }
16477
}
16478
}
16479
16480
},
16481
16482
'Source elements': {
16483
16484
'': {
16485
type: 'Program',
16486
body: [],
16487
range: [0, 0],
16488
loc: {
16489
start: { line: 0, column: 0 },
16490
end: { line: 0, column: 0 }
16491
},
16492
tokens: []
16493
}
16494
},
16495
16496
'Source option': {
16497
'x + y - z': {
16498
type: 'ExpressionStatement',
16499
expression: {
16500
type: 'BinaryExpression',
16501
operator: '-',
16502
left: {
16503
type: 'BinaryExpression',
16504
operator: '+',
16505
left: {
16506
type: 'Identifier',
16507
name: 'x',
16508
range: [0, 1],
16509
loc: {
16510
start: { line: 1, column: 0 },
16511
end: { line: 1, column: 1 },
16512
source: '42.js'
16513
}
16514
},
16515
right: {
16516
type: 'Identifier',
16517
name: 'y',
16518
range: [4, 5],
16519
loc: {
16520
start: { line: 1, column: 4 },
16521
end: { line: 1, column: 5 },
16522
source: '42.js'
16523
}
16524
},
16525
range: [0, 5],
16526
loc: {
16527
start: { line: 1, column: 0 },
16528
end: { line: 1, column: 5 },
16529
source: '42.js'
16530
}
16531
},
16532
right: {
16533
type: 'Identifier',
16534
name: 'z',
16535
range: [8, 9],
16536
loc: {
16537
start: { line: 1, column: 8 },
16538
end: { line: 1, column: 9 },
16539
source: '42.js'
16540
}
16541
},
16542
range: [0, 9],
16543
loc: {
16544
start: { line: 1, column: 0 },
16545
end: { line: 1, column: 9 },
16546
source: '42.js'
16547
}
16548
},
16549
range: [0, 9],
16550
loc: {
16551
start: { line: 1, column: 0 },
16552
end: { line: 1, column: 9 },
16553
source: '42.js'
16554
}
16555
},
16556
16557
'a + (b < (c * d)) + e': {
16558
type: 'ExpressionStatement',
16559
expression: {
16560
type: 'BinaryExpression',
16561
operator: '+',
16562
left: {
16563
type: 'BinaryExpression',
16564
operator: '+',
16565
left: {
16566
type: 'Identifier',
16567
name: 'a',
16568
range: [0, 1],
16569
loc: {
16570
start: { line: 1, column: 0 },
16571
end: { line: 1, column: 1 },
16572
source: '42.js'
16573
}
16574
},
16575
right: {
16576
type: 'BinaryExpression',
16577
operator: '<',
16578
left: {
16579
type: 'Identifier',
16580
name: 'b',
16581
range: [5, 6],
16582
loc: {
16583
start: { line: 1, column: 5 },
16584
end: { line: 1, column: 6 },
16585
source: '42.js'
16586
}
16587
},
16588
right: {
16589
type: 'BinaryExpression',
16590
operator: '*',
16591
left: {
16592
type: 'Identifier',
16593
name: 'c',
16594
range: [10, 11],
16595
loc: {
16596
start: { line: 1, column: 10 },
16597
end: { line: 1, column: 11 },
16598
source: '42.js'
16599
}
16600
},
16601
right: {
16602
type: 'Identifier',
16603
name: 'd',
16604
range: [14, 15],
16605
loc: {
16606
start: { line: 1, column: 14 },
16607
end: { line: 1, column: 15 },
16608
source: '42.js'
16609
}
16610
},
16611
range: [10, 15],
16612
loc: {
16613
start: { line: 1, column: 10 },
16614
end: { line: 1, column: 15 },
16615
source: '42.js'
16616
}
16617
},
16618
range: [5, 16],
16619
loc: {
16620
start: { line: 1, column: 5 },
16621
end: { line: 1, column: 16 },
16622
source: '42.js'
16623
}
16624
},
16625
range: [0, 17],
16626
loc: {
16627
start: { line: 1, column: 0 },
16628
end: { line: 1, column: 17 },
16629
source: '42.js'
16630
}
16631
},
16632
right: {
16633
type: 'Identifier',
16634
name: 'e',
16635
range: [20, 21],
16636
loc: {
16637
start: { line: 1, column: 20 },
16638
end: { line: 1, column: 21 },
16639
source: '42.js'
16640
}
16641
},
16642
range: [0, 21],
16643
loc: {
16644
start: { line: 1, column: 0 },
16645
end: { line: 1, column: 21 },
16646
source: '42.js'
16647
}
16648
},
16649
range: [0, 21],
16650
loc: {
16651
start: { line: 1, column: 0 },
16652
end: { line: 1, column: 21 },
16653
source: '42.js'
16654
}
16655
}
16656
16657
},
16658
16659
16660
'Invalid syntax': {
16661
16662
'{': {
16663
index: 1,
16664
lineNumber: 1,
16665
column: 2,
16666
message: 'Error: Line 1: Unexpected end of input'
16667
},
16668
16669
'}': {
16670
index: 0,
16671
lineNumber: 1,
16672
column: 1,
16673
message: 'Error: Line 1: Unexpected token }'
16674
},
16675
16676
'3ea': {
16677
index: 2,
16678
lineNumber: 1,
16679
column: 3,
16680
message: 'Error: Line 1: Unexpected token ILLEGAL'
16681
},
16682
16683
'3in []': {
16684
index: 1,
16685
lineNumber: 1,
16686
column: 2,
16687
message: 'Error: Line 1: Unexpected token ILLEGAL'
16688
},
16689
16690
'3e': {
16691
index: 2,
16692
lineNumber: 1,
16693
column: 3,
16694
message: 'Error: Line 1: Unexpected token ILLEGAL'
16695
},
16696
16697
'3e+': {
16698
index: 3,
16699
lineNumber: 1,
16700
column: 4,
16701
message: 'Error: Line 1: Unexpected token ILLEGAL'
16702
},
16703
16704
'3e-': {
16705
index: 3,
16706
lineNumber: 1,
16707
column: 4,
16708
message: 'Error: Line 1: Unexpected token ILLEGAL'
16709
},
16710
16711
'3x': {
16712
index: 1,
16713
lineNumber: 1,
16714
column: 2,
16715
message: 'Error: Line 1: Unexpected token ILLEGAL'
16716
},
16717
16718
'3x0': {
16719
index: 1,
16720
lineNumber: 1,
16721
column: 2,
16722
message: 'Error: Line 1: Unexpected token ILLEGAL'
16723
},
16724
16725
'0x': {
16726
index: 2,
16727
lineNumber: 1,
16728
column: 3,
16729
message: 'Error: Line 1: Unexpected token ILLEGAL'
16730
},
16731
16732
'09': {
16733
index: 1,
16734
lineNumber: 1,
16735
column: 2,
16736
message: 'Error: Line 1: Unexpected token ILLEGAL'
16737
},
16738
16739
'018': {
16740
index: 2,
16741
lineNumber: 1,
16742
column: 3,
16743
message: 'Error: Line 1: Unexpected token ILLEGAL'
16744
},
16745
16746
'01a': {
16747
index: 2,
16748
lineNumber: 1,
16749
column: 3,
16750
message: 'Error: Line 1: Unexpected token ILLEGAL'
16751
},
16752
16753
'3in[]': {
16754
index: 1,
16755
lineNumber: 1,
16756
column: 2,
16757
message: 'Error: Line 1: Unexpected token ILLEGAL'
16758
},
16759
16760
'0x3in[]': {
16761
index: 3,
16762
lineNumber: 1,
16763
column: 4,
16764
message: 'Error: Line 1: Unexpected token ILLEGAL'
16765
},
16766
16767
'"Hello\nWorld"': {
16768
index: 7,
16769
lineNumber: 1,
16770
column: 8,
16771
message: 'Error: Line 1: Unexpected token ILLEGAL'
16772
},
16773
16774
'x\\': {
16775
index: 2,
16776
lineNumber: 1,
16777
column: 3,
16778
message: 'Error: Line 1: Unexpected token ILLEGAL'
16779
},
16780
16781
'x\\u005c': {
16782
index: 7,
16783
lineNumber: 1,
16784
column: 8,
16785
message: 'Error: Line 1: Unexpected token ILLEGAL'
16786
},
16787
16788
'x\\u002a': {
16789
index: 7,
16790
lineNumber: 1,
16791
column: 8,
16792
message: 'Error: Line 1: Unexpected token ILLEGAL'
16793
},
16794
16795
'var x = /(s/g': {
16796
index: 13,
16797
lineNumber: 1,
16798
column: 14,
16799
message: 'Error: Line 1: Invalid regular expression'
16800
},
16801
16802
'a\\u': {
16803
index: 3,
16804
lineNumber: 1,
16805
column: 4,
16806
message: 'Error: Line 1: Unexpected token ILLEGAL'
16807
},
16808
16809
'\\ua': {
16810
index: 3,
16811
lineNumber: 1,
16812
column: 4,
16813
message: 'Error: Line 1: Unexpected token ILLEGAL'
16814
},
16815
16816
'/': {
16817
index: 1,
16818
lineNumber: 1,
16819
column: 2,
16820
message: 'Error: Line 1: Invalid regular expression: missing /'
16821
},
16822
16823
'/test': {
16824
index: 5,
16825
lineNumber: 1,
16826
column: 6,
16827
message: 'Error: Line 1: Invalid regular expression: missing /'
16828
},
16829
16830
'var x = /[a-z]/\\ux': {
16831
index: 18,
16832
lineNumber: 1,
16833
column: 19,
16834
message: 'Error: Line 1: Invalid regular expression'
16835
},
16836
16837
'3 = 4': {
16838
index: 1,
16839
lineNumber: 1,
16840
column: 2,
16841
message: 'Error: Line 1: Invalid left-hand side in assignment'
16842
},
16843
16844
'func() = 4': {
16845
index: 6,
16846
lineNumber: 1,
16847
column: 7,
16848
message: 'Error: Line 1: Invalid left-hand side in assignment'
16849
},
16850
16851
'(1 + 1) = 10': {
16852
index: 7,
16853
lineNumber: 1,
16854
column: 8,
16855
message: 'Error: Line 1: Invalid left-hand side in assignment'
16856
},
16857
16858
'1++': {
16859
index: 1,
16860
lineNumber: 1,
16861
column: 2,
16862
message: 'Error: Line 1: Invalid left-hand side in assignment'
16863
},
16864
16865
'1--': {
16866
index: 1,
16867
lineNumber: 1,
16868
column: 2,
16869
message: 'Error: Line 1: Invalid left-hand side in assignment'
16870
},
16871
16872
'++1': {
16873
index: 3,
16874
lineNumber: 1,
16875
column: 4,
16876
message: 'Error: Line 1: Invalid left-hand side in assignment'
16877
},
16878
16879
'--1': {
16880
index: 3,
16881
lineNumber: 1,
16882
column: 4,
16883
message: 'Error: Line 1: Invalid left-hand side in assignment'
16884
},
16885
16886
'for((1 + 1) in list) process(x);': {
16887
index: 11,
16888
lineNumber: 1,
16889
column: 12,
16890
message: 'Error: Line 1: Invalid left-hand side in for-in'
16891
},
16892
16893
'[': {
16894
index: 1,
16895
lineNumber: 1,
16896
column: 2,
16897
message: 'Error: Line 1: Unexpected end of input'
16898
},
16899
16900
'[,': {
16901
index: 2,
16902
lineNumber: 1,
16903
column: 3,
16904
message: 'Error: Line 1: Unexpected end of input'
16905
},
16906
16907
'1 + {': {
16908
index: 5,
16909
lineNumber: 1,
16910
column: 6,
16911
message: 'Error: Line 1: Unexpected end of input'
16912
},
16913
16914
'1 + { t:t ': {
16915
index: 10,
16916
lineNumber: 1,
16917
column: 11,
16918
message: 'Error: Line 1: Unexpected end of input'
16919
},
16920
16921
'1 + { t:t,': {
16922
index: 10,
16923
lineNumber: 1,
16924
column: 11,
16925
message: 'Error: Line 1: Unexpected end of input'
16926
},
16927
16928
'var x = /\n/': {
16929
index: 10,
16930
lineNumber: 1,
16931
column: 11,
16932
message: 'Error: Line 1: Invalid regular expression: missing /'
16933
},
16934
16935
'var x = "\n': {
16936
index: 10,
16937
lineNumber: 1,
16938
column: 11,
16939
message: 'Error: Line 1: Unexpected token ILLEGAL'
16940
},
16941
16942
'var if = 42': {
16943
index: 4,
16944
lineNumber: 1,
16945
column: 5,
16946
message: 'Error: Line 1: Unexpected token if'
16947
},
16948
16949
'i #= 42': {
16950
index: 2,
16951
lineNumber: 1,
16952
column: 3,
16953
message: 'Error: Line 1: Unexpected token ILLEGAL'
16954
},
16955
16956
'i + 2 = 42': {
16957
index: 5,
16958
lineNumber: 1,
16959
column: 6,
16960
message: 'Error: Line 1: Invalid left-hand side in assignment'
16961
},
16962
16963
'+i = 42': {
16964
index: 2,
16965
lineNumber: 1,
16966
column: 3,
16967
message: 'Error: Line 1: Invalid left-hand side in assignment'
16968
},
16969
16970
'1 + (': {
16971
index: 5,
16972
lineNumber: 1,
16973
column: 6,
16974
message: 'Error: Line 1: Unexpected end of input'
16975
},
16976
16977
'\n\n\n{': {
16978
index: 4,
16979
lineNumber: 4,
16980
column: 2,
16981
message: 'Error: Line 4: Unexpected end of input'
16982
},
16983
16984
'\n/* Some multiline\ncomment */\n)': {
16985
index: 30,
16986
lineNumber: 4,
16987
column: 1,
16988
message: 'Error: Line 4: Unexpected token )'
16989
},
16990
16991
'{ set 1 }': {
16992
index: 6,
16993
lineNumber: 1,
16994
column: 7,
16995
message: 'Error: Line 1: Unexpected number'
16996
},
16997
16998
'{ get 2 }': {
16999
index: 6,
17000
lineNumber: 1,
17001
column: 7,
17002
message: 'Error: Line 1: Unexpected number'
17003
},
17004
17005
'({ set: s(if) { } })': {
17006
index: 10,
17007
lineNumber: 1,
17008
column: 11,
17009
message: 'Error: Line 1: Unexpected token if'
17010
},
17011
17012
'({ set s(.) { } })': {
17013
index: 9,
17014
lineNumber: 1,
17015
column: 10,
17016
message: 'Error: Line 1: Unexpected token .'
17017
},
17018
17019
'({ set: s() { } })': {
17020
index: 12,
17021
lineNumber: 1,
17022
column: 13,
17023
message: 'Error: Line 1: Unexpected token {'
17024
},
17025
17026
'({ set: s(a, b) { } })': {
17027
index: 16,
17028
lineNumber: 1,
17029
column: 17,
17030
message: 'Error: Line 1: Unexpected token {'
17031
},
17032
17033
'({ get: g(d) { } })': {
17034
index: 13,
17035
lineNumber: 1,
17036
column: 14,
17037
message: 'Error: Line 1: Unexpected token {'
17038
},
17039
17040
'({ get i() { }, i: 42 })': {
17041
index: 21,
17042
lineNumber: 1,
17043
column: 22,
17044
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17045
},
17046
17047
'({ i: 42, get i() { } })': {
17048
index: 21,
17049
lineNumber: 1,
17050
column: 22,
17051
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17052
},
17053
17054
'({ set i(x) { }, i: 42 })': {
17055
index: 22,
17056
lineNumber: 1,
17057
column: 23,
17058
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17059
},
17060
17061
'({ i: 42, set i(x) { } })': {
17062
index: 22,
17063
lineNumber: 1,
17064
column: 23,
17065
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
17066
},
17067
17068
'({ get i() { }, get i() { } })': {
17069
index: 27,
17070
lineNumber: 1,
17071
column: 28,
17072
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
17073
},
17074
17075
'({ set i(x) { }, set i(x) { } })': {
17076
index: 29,
17077
lineNumber: 1,
17078
column: 30,
17079
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
17080
},
17081
17082
'function t(if) { }': {
17083
index: 11,
17084
lineNumber: 1,
17085
column: 12,
17086
message: 'Error: Line 1: Unexpected token if'
17087
},
17088
17089
'function t(true) { }': {
17090
index: 11,
17091
lineNumber: 1,
17092
column: 12,
17093
message: 'Error: Line 1: Unexpected token true'
17094
},
17095
17096
'function t(false) { }': {
17097
index: 11,
17098
lineNumber: 1,
17099
column: 12,
17100
message: 'Error: Line 1: Unexpected token false'
17101
},
17102
17103
'function t(null) { }': {
17104
index: 11,
17105
lineNumber: 1,
17106
column: 12,
17107
message: 'Error: Line 1: Unexpected token null'
17108
},
17109
17110
'function null() { }': {
17111
index: 9,
17112
lineNumber: 1,
17113
column: 10,
17114
message: 'Error: Line 1: Unexpected token null'
17115
},
17116
17117
'function true() { }': {
17118
index: 9,
17119
lineNumber: 1,
17120
column: 10,
17121
message: 'Error: Line 1: Unexpected token true'
17122
},
17123
17124
'function false() { }': {
17125
index: 9,
17126
lineNumber: 1,
17127
column: 10,
17128
message: 'Error: Line 1: Unexpected token false'
17129
},
17130
17131
'function if() { }': {
17132
index: 9,
17133
lineNumber: 1,
17134
column: 10,
17135
message: 'Error: Line 1: Unexpected token if'
17136
},
17137
17138
'a b;': {
17139
index: 2,
17140
lineNumber: 1,
17141
column: 3,
17142
message: 'Error: Line 1: Unexpected identifier'
17143
},
17144
17145
'if.a;': {
17146
index: 2,
17147
lineNumber: 1,
17148
column: 3,
17149
message: 'Error: Line 1: Unexpected token .'
17150
},
17151
17152
'a if;': {
17153
index: 2,
17154
lineNumber: 1,
17155
column: 3,
17156
message: 'Error: Line 1: Unexpected token if'
17157
},
17158
17159
'a class;': {
17160
index: 2,
17161
lineNumber: 1,
17162
column: 3,
17163
message: 'Error: Line 1: Unexpected reserved word'
17164
},
17165
17166
'break\n': {
17167
index: 5,
17168
lineNumber: 1,
17169
column: 6,
17170
message: 'Error: Line 1: Illegal break statement'
17171
},
17172
17173
'break 1;': {
17174
index: 6,
17175
lineNumber: 1,
17176
column: 7,
17177
message: 'Error: Line 1: Unexpected number'
17178
},
17179
17180
'continue\n': {
17181
index: 8,
17182
lineNumber: 1,
17183
column: 9,
17184
message: 'Error: Line 1: Illegal continue statement'
17185
},
17186
17187
'continue 2;': {
17188
index: 9,
17189
lineNumber: 1,
17190
column: 10,
17191
message: 'Error: Line 1: Unexpected number'
17192
},
17193
17194
'throw': {
17195
index: 5,
17196
lineNumber: 1,
17197
column: 6,
17198
message: 'Error: Line 1: Unexpected end of input'
17199
},
17200
17201
'throw;': {
17202
index: 5,
17203
lineNumber: 1,
17204
column: 6,
17205
message: 'Error: Line 1: Unexpected token ;'
17206
},
17207
17208
'throw\n': {
17209
index: 5,
17210
lineNumber: 1,
17211
column: 6,
17212
message: 'Error: Line 1: Illegal newline after throw'
17213
},
17214
17215
'for (var i, i2 in {});': {
17216
index: 15,
17217
lineNumber: 1,
17218
column: 16,
17219
message: 'Error: Line 1: Unexpected token in'
17220
},
17221
17222
'for ((i in {}));': {
17223
index: 14,
17224
lineNumber: 1,
17225
column: 15,
17226
message: 'Error: Line 1: Unexpected token )'
17227
},
17228
17229
'for (i + 1 in {});': {
17230
index: 10,
17231
lineNumber: 1,
17232
column: 11,
17233
message: 'Error: Line 1: Invalid left-hand side in for-in'
17234
},
17235
17236
'for (+i in {});': {
17237
index: 7,
17238
lineNumber: 1,
17239
column: 8,
17240
message: 'Error: Line 1: Invalid left-hand side in for-in'
17241
},
17242
17243
'if(false)': {
17244
index: 9,
17245
lineNumber: 1,
17246
column: 10,
17247
message: 'Error: Line 1: Unexpected end of input'
17248
},
17249
17250
'if(false) doThis(); else': {
17251
index: 24,
17252
lineNumber: 1,
17253
column: 25,
17254
message: 'Error: Line 1: Unexpected end of input'
17255
},
17256
17257
'do': {
17258
index: 2,
17259
lineNumber: 1,
17260
column: 3,
17261
message: 'Error: Line 1: Unexpected end of input'
17262
},
17263
17264
'while(false)': {
17265
index: 12,
17266
lineNumber: 1,
17267
column: 13,
17268
message: 'Error: Line 1: Unexpected end of input'
17269
},
17270
17271
'for(;;)': {
17272
index: 7,
17273
lineNumber: 1,
17274
column: 8,
17275
message: 'Error: Line 1: Unexpected end of input'
17276
},
17277
17278
'with(x)': {
17279
index: 7,
17280
lineNumber: 1,
17281
column: 8,
17282
message: 'Error: Line 1: Unexpected end of input'
17283
},
17284
17285
'try { }': {
17286
index: 7,
17287
lineNumber: 1,
17288
column: 8,
17289
message: 'Error: Line 1: Missing catch or finally after try'
17290
},
17291
17292
'\u203F = 10': {
17293
index: 0,
17294
lineNumber: 1,
17295
column: 1,
17296
message: 'Error: Line 1: Unexpected token ILLEGAL'
17297
},
17298
17299
'const x = 12, y;': {
17300
index: 15,
17301
lineNumber: 1,
17302
column: 16,
17303
message: 'Error: Line 1: Const must be initialized'
17304
},
17305
17306
'const x, y = 12;': {
17307
index: 7,
17308
lineNumber: 1,
17309
column: 8,
17310
message: 'Error: Line 1: Const must be initialized'
17311
},
17312
17313
'const x;': {
17314
index: 7,
17315
lineNumber: 1,
17316
column: 8,
17317
message: 'Error: Line 1: Const must be initialized'
17318
},
17319
17320
'if(true) let a = 1;': {
17321
index: 9,
17322
lineNumber: 1,
17323
column: 10,
17324
message: 'Error: Line 1: Unexpected token let'
17325
},
17326
17327
'if(true) const a = 1;': {
17328
index: 9,
17329
lineNumber: 1,
17330
column: 10,
17331
message: 'Error: Line 1: Unexpected token const'
17332
},
17333
17334
'switch (c) { default: default: }': {
17335
index: 30,
17336
lineNumber: 1,
17337
column: 31,
17338
message: 'Error: Line 1: More than one default clause in switch statement'
17339
},
17340
17341
'new X()."s"': {
17342
index: 8,
17343
lineNumber: 1,
17344
column: 9,
17345
message: 'Error: Line 1: Unexpected string'
17346
},
17347
17348
'/*': {
17349
index: 2,
17350
lineNumber: 1,
17351
column: 3,
17352
message: 'Error: Line 1: Unexpected token ILLEGAL'
17353
},
17354
17355
'/*\n\n\n': {
17356
index: 5,
17357
lineNumber: 4,
17358
column: 1,
17359
message: 'Error: Line 4: Unexpected token ILLEGAL'
17360
},
17361
17362
'/**': {
17363
index: 3,
17364
lineNumber: 1,
17365
column: 4,
17366
message: 'Error: Line 1: Unexpected token ILLEGAL'
17367
},
17368
17369
'/*\n\n*': {
17370
index: 5,
17371
lineNumber: 3,
17372
column: 2,
17373
message: 'Error: Line 3: Unexpected token ILLEGAL'
17374
},
17375
17376
'/*hello': {
17377
index: 7,
17378
lineNumber: 1,
17379
column: 8,
17380
message: 'Error: Line 1: Unexpected token ILLEGAL'
17381
},
17382
17383
'/*hello *': {
17384
index: 10,
17385
lineNumber: 1,
17386
column: 11,
17387
message: 'Error: Line 1: Unexpected token ILLEGAL'
17388
},
17389
17390
'\n]': {
17391
index: 1,
17392
lineNumber: 2,
17393
column: 1,
17394
message: 'Error: Line 2: Unexpected token ]'
17395
},
17396
17397
'\r]': {
17398
index: 1,
17399
lineNumber: 2,
17400
column: 1,
17401
message: 'Error: Line 2: Unexpected token ]'
17402
},
17403
17404
'\r\n]': {
17405
index: 2,
17406
lineNumber: 2,
17407
column: 1,
17408
message: 'Error: Line 2: Unexpected token ]'
17409
},
17410
17411
'\n\r]': {
17412
index: 2,
17413
lineNumber: 3,
17414
column: 1,
17415
message: 'Error: Line 3: Unexpected token ]'
17416
},
17417
17418
'//\r\n]': {
17419
index: 4,
17420
lineNumber: 2,
17421
column: 1,
17422
message: 'Error: Line 2: Unexpected token ]'
17423
},
17424
17425
'//\n\r]': {
17426
index: 4,
17427
lineNumber: 3,
17428
column: 1,
17429
message: 'Error: Line 3: Unexpected token ]'
17430
},
17431
17432
'/a\\\n/': {
17433
index: 4,
17434
lineNumber: 1,
17435
column: 5,
17436
message: 'Error: Line 1: Invalid regular expression: missing /'
17437
},
17438
17439
'//\r \n]': {
17440
index: 5,
17441
lineNumber: 3,
17442
column: 1,
17443
message: 'Error: Line 3: Unexpected token ]'
17444
},
17445
17446
'/*\r\n*/]': {
17447
index: 6,
17448
lineNumber: 2,
17449
column: 3,
17450
message: 'Error: Line 2: Unexpected token ]'
17451
},
17452
17453
'/*\n\r*/]': {
17454
index: 6,
17455
lineNumber: 3,
17456
column: 3,
17457
message: 'Error: Line 3: Unexpected token ]'
17458
},
17459
17460
'/*\r \n*/]': {
17461
index: 7,
17462
lineNumber: 3,
17463
column: 3,
17464
message: 'Error: Line 3: Unexpected token ]'
17465
},
17466
17467
'\\\\': {
17468
index: 1,
17469
lineNumber: 1,
17470
column: 2,
17471
message: 'Error: Line 1: Unexpected token ILLEGAL'
17472
},
17473
17474
'\\u005c': {
17475
index: 6,
17476
lineNumber: 1,
17477
column: 7,
17478
message: 'Error: Line 1: Unexpected token ILLEGAL'
17479
},
17480
17481
17482
'\\x': {
17483
index: 1,
17484
lineNumber: 1,
17485
column: 2,
17486
message: 'Error: Line 1: Unexpected token ILLEGAL'
17487
},
17488
17489
'\\u0000': {
17490
index: 6,
17491
lineNumber: 1,
17492
column: 7,
17493
message: 'Error: Line 1: Unexpected token ILLEGAL'
17494
},
17495
17496
'\u200C = []': {
17497
index: 0,
17498
lineNumber: 1,
17499
column: 1,
17500
message: 'Error: Line 1: Unexpected token ILLEGAL'
17501
},
17502
17503
'\u200D = []': {
17504
index: 0,
17505
lineNumber: 1,
17506
column: 1,
17507
message: 'Error: Line 1: Unexpected token ILLEGAL'
17508
},
17509
17510
'"\\': {
17511
index: 3,
17512
lineNumber: 1,
17513
column: 4,
17514
message: 'Error: Line 1: Unexpected token ILLEGAL'
17515
},
17516
17517
'"\\u': {
17518
index: 3,
17519
lineNumber: 1,
17520
column: 4,
17521
message: 'Error: Line 1: Unexpected token ILLEGAL'
17522
},
17523
17524
'try { } catch() {}': {
17525
index: 14,
17526
lineNumber: 1,
17527
column: 15,
17528
message: 'Error: Line 1: Unexpected token )'
17529
},
17530
17531
'return': {
17532
index: 6,
17533
lineNumber: 1,
17534
column: 7,
17535
message: 'Error: Line 1: Illegal return statement'
17536
},
17537
17538
'break': {
17539
index: 5,
17540
lineNumber: 1,
17541
column: 6,
17542
message: 'Error: Line 1: Illegal break statement'
17543
},
17544
17545
'continue': {
17546
index: 8,
17547
lineNumber: 1,
17548
column: 9,
17549
message: 'Error: Line 1: Illegal continue statement'
17550
},
17551
17552
'switch (x) { default: continue; }': {
17553
index: 31,
17554
lineNumber: 1,
17555
column: 32,
17556
message: 'Error: Line 1: Illegal continue statement'
17557
},
17558
17559
'do { x } *': {
17560
index: 9,
17561
lineNumber: 1,
17562
column: 10,
17563
message: 'Error: Line 1: Unexpected token *'
17564
},
17565
17566
'while (true) { break x; }': {
17567
index: 22,
17568
lineNumber: 1,
17569
column: 23,
17570
message: 'Error: Line 1: Undefined label \'x\''
17571
},
17572
17573
'while (true) { continue x; }': {
17574
index: 25,
17575
lineNumber: 1,
17576
column: 26,
17577
message: 'Error: Line 1: Undefined label \'x\''
17578
},
17579
17580
'x: while (true) { (function () { break x; }); }': {
17581
index: 40,
17582
lineNumber: 1,
17583
column: 41,
17584
message: 'Error: Line 1: Undefined label \'x\''
17585
},
17586
17587
'x: while (true) { (function () { continue x; }); }': {
17588
index: 43,
17589
lineNumber: 1,
17590
column: 44,
17591
message: 'Error: Line 1: Undefined label \'x\''
17592
},
17593
17594
'x: while (true) { (function () { break; }); }': {
17595
index: 39,
17596
lineNumber: 1,
17597
column: 40,
17598
message: 'Error: Line 1: Illegal break statement'
17599
},
17600
17601
'x: while (true) { (function () { continue; }); }': {
17602
index: 42,
17603
lineNumber: 1,
17604
column: 43,
17605
message: 'Error: Line 1: Illegal continue statement'
17606
},
17607
17608
'x: while (true) { x: while (true) { } }': {
17609
index: 20,
17610
lineNumber: 1,
17611
column: 21,
17612
message: 'Error: Line 1: Label \'x\' has already been declared'
17613
},
17614
17615
'(function () { \'use strict\'; delete i; }())': {
17616
index: 37,
17617
lineNumber: 1,
17618
column: 38,
17619
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
17620
},
17621
17622
'(function () { \'use strict\'; with (i); }())': {
17623
index: 28,
17624
lineNumber: 1,
17625
column: 29,
17626
message: 'Error: Line 1: Strict mode code may not include a with statement'
17627
},
17628
17629
'function hello() {\'use strict\'; ({ i: 42, i: 42 }) }': {
17630
index: 47,
17631
lineNumber: 1,
17632
column: 48,
17633
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
17634
},
17635
17636
'function hello() {\'use strict\'; ({ hasOwnProperty: 42, hasOwnProperty: 42 }) }': {
17637
index: 73,
17638
lineNumber: 1,
17639
column: 74,
17640
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
17641
},
17642
17643
'function hello() {\'use strict\'; var eval = 10; }': {
17644
index: 40,
17645
lineNumber: 1,
17646
column: 41,
17647
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
17648
},
17649
17650
'function hello() {\'use strict\'; var arguments = 10; }': {
17651
index: 45,
17652
lineNumber: 1,
17653
column: 46,
17654
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
17655
},
17656
17657
'function hello() {\'use strict\'; try { } catch (eval) { } }': {
17658
index: 51,
17659
lineNumber: 1,
17660
column: 52,
17661
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
17662
},
17663
17664
'function hello() {\'use strict\'; try { } catch (arguments) { } }': {
17665
index: 56,
17666
lineNumber: 1,
17667
column: 57,
17668
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
17669
},
17670
17671
'function hello() {\'use strict\'; eval = 10; }': {
17672
index: 32,
17673
lineNumber: 1,
17674
column: 33,
17675
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
17676
},
17677
17678
'function hello() {\'use strict\'; arguments = 10; }': {
17679
index: 32,
17680
lineNumber: 1,
17681
column: 33,
17682
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
17683
},
17684
17685
'function hello() {\'use strict\'; ++eval; }': {
17686
index: 38,
17687
lineNumber: 1,
17688
column: 39,
17689
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
17690
},
17691
17692
'function hello() {\'use strict\'; --eval; }': {
17693
index: 38,
17694
lineNumber: 1,
17695
column: 39,
17696
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
17697
},
17698
17699
'function hello() {\'use strict\'; ++arguments; }': {
17700
index: 43,
17701
lineNumber: 1,
17702
column: 44,
17703
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
17704
},
17705
17706
'function hello() {\'use strict\'; --arguments; }': {
17707
index: 43,
17708
lineNumber: 1,
17709
column: 44,
17710
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
17711
},
17712
17713
'function hello() {\'use strict\'; eval++; }': {
17714
index: 36,
17715
lineNumber: 1,
17716
column: 37,
17717
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
17718
},
17719
17720
'function hello() {\'use strict\'; eval--; }': {
17721
index: 36,
17722
lineNumber: 1,
17723
column: 37,
17724
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
17725
},
17726
17727
'function hello() {\'use strict\'; arguments++; }': {
17728
index: 41,
17729
lineNumber: 1,
17730
column: 42,
17731
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
17732
},
17733
17734
'function hello() {\'use strict\'; arguments--; }': {
17735
index: 41,
17736
lineNumber: 1,
17737
column: 42,
17738
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
17739
},
17740
17741
'function hello() {\'use strict\'; function eval() { } }': {
17742
index: 41,
17743
lineNumber: 1,
17744
column: 42,
17745
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17746
},
17747
17748
'function hello() {\'use strict\'; function arguments() { } }': {
17749
index: 41,
17750
lineNumber: 1,
17751
column: 42,
17752
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17753
},
17754
17755
'function eval() {\'use strict\'; }': {
17756
index: 9,
17757
lineNumber: 1,
17758
column: 10,
17759
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17760
},
17761
17762
'function arguments() {\'use strict\'; }': {
17763
index: 9,
17764
lineNumber: 1,
17765
column: 10,
17766
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17767
},
17768
17769
'function hello() {\'use strict\'; (function eval() { }()) }': {
17770
index: 42,
17771
lineNumber: 1,
17772
column: 43,
17773
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17774
},
17775
17776
'function hello() {\'use strict\'; (function arguments() { }()) }': {
17777
index: 42,
17778
lineNumber: 1,
17779
column: 43,
17780
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17781
},
17782
17783
'(function eval() {\'use strict\'; })()': {
17784
index: 10,
17785
lineNumber: 1,
17786
column: 11,
17787
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17788
},
17789
17790
'(function arguments() {\'use strict\'; })()': {
17791
index: 10,
17792
lineNumber: 1,
17793
column: 11,
17794
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17795
},
17796
17797
'function hello() {\'use strict\'; ({ s: function eval() { } }); }': {
17798
index: 47,
17799
lineNumber: 1,
17800
column: 48,
17801
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17802
},
17803
17804
'(function package() {\'use strict\'; })()': {
17805
index: 10,
17806
lineNumber: 1,
17807
column: 11,
17808
message: 'Error: Line 1: Use of future reserved word in strict mode'
17809
},
17810
17811
'function hello() {\'use strict\'; ({ i: 10, set s(eval) { } }); }': {
17812
index: 48,
17813
lineNumber: 1,
17814
column: 49,
17815
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17816
},
17817
17818
'function hello() {\'use strict\'; ({ set s(eval) { } }); }': {
17819
index: 41,
17820
lineNumber: 1,
17821
column: 42,
17822
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17823
},
17824
17825
'function hello() {\'use strict\'; ({ s: function s(eval) { } }); }': {
17826
index: 49,
17827
lineNumber: 1,
17828
column: 50,
17829
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17830
},
17831
17832
'function hello(eval) {\'use strict\';}': {
17833
index: 15,
17834
lineNumber: 1,
17835
column: 16,
17836
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17837
},
17838
17839
'function hello(arguments) {\'use strict\';}': {
17840
index: 15,
17841
lineNumber: 1,
17842
column: 16,
17843
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17844
},
17845
17846
'function hello() { \'use strict\'; function inner(eval) {} }': {
17847
index: 48,
17848
lineNumber: 1,
17849
column: 49,
17850
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17851
},
17852
17853
'function hello() { \'use strict\'; function inner(arguments) {} }': {
17854
index: 48,
17855
lineNumber: 1,
17856
column: 49,
17857
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
17858
},
17859
17860
' "\\1"; \'use strict\';': {
17861
index: 1,
17862
lineNumber: 1,
17863
column: 2,
17864
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17865
},
17866
17867
'function hello() { \'use strict\'; "\\1"; }': {
17868
index: 33,
17869
lineNumber: 1,
17870
column: 34,
17871
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17872
},
17873
17874
'function hello() { \'use strict\'; 021; }': {
17875
index: 33,
17876
lineNumber: 1,
17877
column: 34,
17878
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17879
},
17880
17881
'function hello() { \'use strict\'; ({ "\\1": 42 }); }': {
17882
index: 36,
17883
lineNumber: 1,
17884
column: 37,
17885
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17886
},
17887
17888
'function hello() { \'use strict\'; ({ 021: 42 }); }': {
17889
index: 36,
17890
lineNumber: 1,
17891
column: 37,
17892
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17893
},
17894
17895
'function hello() { "octal directive\\1"; "use strict"; }': {
17896
index: 19,
17897
lineNumber: 1,
17898
column: 20,
17899
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17900
},
17901
17902
'function hello() { "octal directive\\1"; "octal directive\\2"; "use strict"; }': {
17903
index: 19,
17904
lineNumber: 1,
17905
column: 20,
17906
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17907
},
17908
17909
'function hello() { "use strict"; function inner() { "octal directive\\1"; } }': {
17910
index: 52,
17911
lineNumber: 1,
17912
column: 53,
17913
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
17914
},
17915
17916
'function hello() { "use strict"; var implements; }': {
17917
index: 37,
17918
lineNumber: 1,
17919
column: 38,
17920
message: 'Error: Line 1: Use of future reserved word in strict mode'
17921
},
17922
17923
'function hello() { "use strict"; var interface; }': {
17924
index: 37,
17925
lineNumber: 1,
17926
column: 38,
17927
message: 'Error: Line 1: Use of future reserved word in strict mode'
17928
},
17929
17930
'function hello() { "use strict"; var package; }': {
17931
index: 37,
17932
lineNumber: 1,
17933
column: 38,
17934
message: 'Error: Line 1: Use of future reserved word in strict mode'
17935
},
17936
17937
'function hello() { "use strict"; var private; }': {
17938
index: 37,
17939
lineNumber: 1,
17940
column: 38,
17941
message: 'Error: Line 1: Use of future reserved word in strict mode'
17942
},
17943
17944
'function hello() { "use strict"; var protected; }': {
17945
index: 37,
17946
lineNumber: 1,
17947
column: 38,
17948
message: 'Error: Line 1: Use of future reserved word in strict mode'
17949
},
17950
17951
'function hello() { "use strict"; var public; }': {
17952
index: 37,
17953
lineNumber: 1,
17954
column: 38,
17955
message: 'Error: Line 1: Use of future reserved word in strict mode'
17956
},
17957
17958
'function hello() { "use strict"; var static; }': {
17959
index: 37,
17960
lineNumber: 1,
17961
column: 38,
17962
message: 'Error: Line 1: Use of future reserved word in strict mode'
17963
},
17964
17965
'function hello() { "use strict"; var yield; }': {
17966
index: 37,
17967
lineNumber: 1,
17968
column: 38,
17969
message: 'Error: Line 1: Use of future reserved word in strict mode'
17970
},
17971
17972
'function hello() { "use strict"; var let; }': {
17973
index: 37,
17974
lineNumber: 1,
17975
column: 38,
17976
message: 'Error: Line 1: Use of future reserved word in strict mode'
17977
},
17978
17979
'function hello(static) { "use strict"; }': {
17980
index: 15,
17981
lineNumber: 1,
17982
column: 16,
17983
message: 'Error: Line 1: Use of future reserved word in strict mode'
17984
},
17985
17986
'function static() { "use strict"; }': {
17987
index: 9,
17988
lineNumber: 1,
17989
column: 10,
17990
message: 'Error: Line 1: Use of future reserved word in strict mode'
17991
},
17992
17993
'function eval(a) { "use strict"; }': {
17994
index: 9,
17995
lineNumber: 1,
17996
column: 10,
17997
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
17998
},
17999
18000
'function arguments(a) { "use strict"; }': {
18001
index: 9,
18002
lineNumber: 1,
18003
column: 10,
18004
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
18005
},
18006
18007
'var yield': {
18008
"type": "VariableDeclaration",
18009
"declarations": [
18010
{
18011
"type": "VariableDeclarator",
18012
"id": {
18013
"type": "Identifier",
18014
"name": "yield",
18015
"range": [
18016
4,
18017
9
18018
],
18019
"loc": {
18020
"start": {
18021
"line": 1,
18022
"column": 4
18023
},
18024
"end": {
18025
"line": 1,
18026
"column": 9
18027
}
18028
}
18029
},
18030
"init": null,
18031
"range": [
18032
4,
18033
9
18034
],
18035
"loc": {
18036
"start": {
18037
"line": 1,
18038
"column": 4
18039
},
18040
"end": {
18041
"line": 1,
18042
"column": 9
18043
}
18044
}
18045
}
18046
],
18047
"kind": "var",
18048
"range": [
18049
0,
18050
9
18051
],
18052
"loc": {
18053
"start": {
18054
"line": 1,
18055
"column": 0
18056
},
18057
"end": {
18058
"line": 1,
18059
"column": 9
18060
}
18061
}
18062
},
18063
18064
'var let': {
18065
index: 4,
18066
lineNumber: 1,
18067
column: 5,
18068
message: 'Error: Line 1: Unexpected token let'
18069
},
18070
18071
'"use strict"; function static() { }': {
18072
index: 23,
18073
lineNumber: 1,
18074
column: 24,
18075
message: 'Error: Line 1: Use of future reserved word in strict mode'
18076
},
18077
18078
'function a(t, t) { "use strict"; }': {
18079
index: 14,
18080
lineNumber: 1,
18081
column: 15,
18082
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18083
},
18084
18085
'function a(eval) { "use strict"; }': {
18086
index: 11,
18087
lineNumber: 1,
18088
column: 12,
18089
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18090
},
18091
18092
'function a(package) { "use strict"; }': {
18093
index: 11,
18094
lineNumber: 1,
18095
column: 12,
18096
message: 'Error: Line 1: Use of future reserved word in strict mode'
18097
},
18098
18099
'function a() { "use strict"; function b(t, t) { }; }': {
18100
index: 43,
18101
lineNumber: 1,
18102
column: 44,
18103
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18104
},
18105
18106
'(function a(t, t) { "use strict"; })': {
18107
index: 15,
18108
lineNumber: 1,
18109
column: 16,
18110
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18111
},
18112
18113
'function a() { "use strict"; (function b(t, t) { }); }': {
18114
index: 44,
18115
lineNumber: 1,
18116
column: 45,
18117
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18118
},
18119
18120
'(function a(eval) { "use strict"; })': {
18121
index: 12,
18122
lineNumber: 1,
18123
column: 13,
18124
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
18125
},
18126
18127
'(function a(package) { "use strict"; })': {
18128
index: 12,
18129
lineNumber: 1,
18130
column: 13,
18131
message: 'Error: Line 1: Use of future reserved word in strict mode'
18132
},
18133
18134
'__proto__: __proto__: 42;': {
18135
index: 21,
18136
lineNumber: 1,
18137
column: 22,
18138
message: 'Error: Line 1: Label \'__proto__\' has already been declared'
18139
},
18140
18141
'"use strict"; function t(__proto__, __proto__) { }': {
18142
index: 36,
18143
lineNumber: 1,
18144
column: 37,
18145
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
18146
},
18147
18148
'"use strict"; x = { __proto__: 42, __proto__: 43 }': {
18149
index: 48,
18150
lineNumber: 1,
18151
column: 49,
18152
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
18153
},
18154
18155
'"use strict"; x = { get __proto__() { }, __proto__: 43 }': {
18156
index: 54,
18157
lineNumber: 1,
18158
column: 55,
18159
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
18160
},
18161
18162
'var': {
18163
index: 3,
18164
lineNumber: 1,
18165
column: 4,
18166
message: 'Error: Line 1: Unexpected end of input'
18167
},
18168
18169
'let': {
18170
index: 3,
18171
lineNumber: 1,
18172
column: 4,
18173
message: 'Error: Line 1: Unexpected end of input'
18174
},
18175
18176
'const': {
18177
index: 5,
18178
lineNumber: 1,
18179
column: 6,
18180
message: 'Error: Line 1: Unexpected end of input'
18181
},
18182
18183
'{ ; ; ': {
18184
index: 8,
18185
lineNumber: 1,
18186
column: 9,
18187
message: 'Error: Line 1: Unexpected end of input'
18188
},
18189
18190
'function t() { ; ; ': {
18191
index: 21,
18192
lineNumber: 1,
18193
column: 22,
18194
message: 'Error: Line 1: Unexpected end of input'
18195
}
18196
18197
},
18198
18199
'Tokenize': {
18200
'tokenize(/42/)': [
18201
{
18202
"type": "Identifier",
18203
"value": "tokenize",
18204
"range": [
18205
0,
18206
8
18207
],
18208
"loc": {
18209
"start": {
18210
"line": 1,
18211
"column": 0
18212
},
18213
"end": {
18214
"line": 1,
18215
"column": 8
18216
}
18217
}
18218
},
18219
{
18220
"type": "Punctuator",
18221
"value": "(",
18222
"range": [
18223
8,
18224
9
18225
],
18226
"loc": {
18227
"start": {
18228
"line": 1,
18229
"column": 8
18230
},
18231
"end": {
18232
"line": 1,
18233
"column": 9
18234
}
18235
}
18236
},
18237
{
18238
"type": "Punctuator",
18239
"value": ")",
18240
"range": [
18241
13,
18242
14
18243
],
18244
"loc": {
18245
"start": {
18246
"line": 1,
18247
"column": 13
18248
},
18249
"end": {
18250
"line": 1,
18251
"column": 14
18252
}
18253
}
18254
},
18255
{
18256
"type": "RegularExpression",
18257
"value": "/42/",
18258
"range": [
18259
9,
18260
13
18261
],
18262
"loc": {
18263
"start": {
18264
"line": 1,
18265
"column": 9
18266
},
18267
"end": {
18268
"line": 1,
18269
"column": 13
18270
}
18271
}
18272
},
18273
{
18274
"type": "Punctuator",
18275
"value": ")",
18276
"range": [
18277
13,
18278
14
18279
],
18280
"loc": {
18281
"start": {
18282
"line": 1,
18283
"column": 13
18284
},
18285
"end": {
18286
"line": 1,
18287
"column": 14
18288
}
18289
}
18290
}
18291
],
18292
18293
'if (false) { /42/ }': [
18294
{
18295
"type": "Keyword",
18296
"value": "if",
18297
"range": [
18298
0,
18299
2
18300
],
18301
"loc": {
18302
"start": {
18303
"line": 1,
18304
"column": 0
18305
},
18306
"end": {
18307
"line": 1,
18308
"column": 2
18309
}
18310
}
18311
},
18312
{
18313
"type": "Punctuator",
18314
"value": "(",
18315
"range": [
18316
3,
18317
4
18318
],
18319
"loc": {
18320
"start": {
18321
"line": 1,
18322
"column": 3
18323
},
18324
"end": {
18325
"line": 1,
18326
"column": 4
18327
}
18328
}
18329
},
18330
{
18331
"type": "Boolean",
18332
"value": "false",
18333
"range": [
18334
4,
18335
9
18336
],
18337
"loc": {
18338
"start": {
18339
"line": 1,
18340
"column": 4
18341
},
18342
"end": {
18343
"line": 1,
18344
"column": 9
18345
}
18346
}
18347
},
18348
{
18349
"type": "Punctuator",
18350
"value": ")",
18351
"range": [
18352
9,
18353
10
18354
],
18355
"loc": {
18356
"start": {
18357
"line": 1,
18358
"column": 9
18359
},
18360
"end": {
18361
"line": 1,
18362
"column": 10
18363
}
18364
}
18365
},
18366
{
18367
"type": "Punctuator",
18368
"value": "{",
18369
"range": [
18370
11,
18371
12
18372
],
18373
"loc": {
18374
"start": {
18375
"line": 1,
18376
"column": 11
18377
},
18378
"end": {
18379
"line": 1,
18380
"column": 12
18381
}
18382
}
18383
},
18384
{
18385
"type": "Punctuator",
18386
"value": "}",
18387
"range": [
18388
18,
18389
19
18390
],
18391
"loc": {
18392
"start": {
18393
"line": 1,
18394
"column": 18
18395
},
18396
"end": {
18397
"line": 1,
18398
"column": 19
18399
}
18400
}
18401
},
18402
{
18403
"type": "RegularExpression",
18404
"value": "/42/",
18405
"range": [
18406
13,
18407
17
18408
],
18409
"loc": {
18410
"start": {
18411
"line": 1,
18412
"column": 13
18413
},
18414
"end": {
18415
"line": 1,
18416
"column": 17
18417
}
18418
}
18419
},
18420
{
18421
"type": "Punctuator",
18422
"value": "}",
18423
"range": [
18424
18,
18425
19
18426
],
18427
"loc": {
18428
"start": {
18429
"line": 1,
18430
"column": 18
18431
},
18432
"end": {
18433
"line": 1,
18434
"column": 19
18435
}
18436
}
18437
}
18438
],
18439
18440
'with (false) /42/': [
18441
{
18442
"type": "Keyword",
18443
"value": "with",
18444
"range": [
18445
0,
18446
4
18447
],
18448
"loc": {
18449
"start": {
18450
"line": 1,
18451
"column": 0
18452
},
18453
"end": {
18454
"line": 1,
18455
"column": 4
18456
}
18457
}
18458
},
18459
{
18460
"type": "Punctuator",
18461
"value": "(",
18462
"range": [
18463
5,
18464
6
18465
],
18466
"loc": {
18467
"start": {
18468
"line": 1,
18469
"column": 5
18470
},
18471
"end": {
18472
"line": 1,
18473
"column": 6
18474
}
18475
}
18476
},
18477
{
18478
"type": "Boolean",
18479
"value": "false",
18480
"range": [
18481
6,
18482
11
18483
],
18484
"loc": {
18485
"start": {
18486
"line": 1,
18487
"column": 6
18488
},
18489
"end": {
18490
"line": 1,
18491
"column": 11
18492
}
18493
}
18494
},
18495
{
18496
"type": "Punctuator",
18497
"value": ")",
18498
"range": [
18499
11,
18500
12
18501
],
18502
"loc": {
18503
"start": {
18504
"line": 1,
18505
"column": 11
18506
},
18507
"end": {
18508
"line": 1,
18509
"column": 12
18510
}
18511
}
18512
},
18513
{
18514
"type": "RegularExpression",
18515
"value": "/42/",
18516
"range": [
18517
13,
18518
17
18519
],
18520
"loc": {
18521
"start": {
18522
"line": 1,
18523
"column": 13
18524
},
18525
"end": {
18526
"line": 1,
18527
"column": 17
18528
}
18529
}
18530
}
18531
],
18532
18533
'(false) /42/': [
18534
{
18535
"type": "Punctuator",
18536
"value": "(",
18537
"range": [
18538
0,
18539
1
18540
],
18541
"loc": {
18542
"start": {
18543
"line": 1,
18544
"column": 0
18545
},
18546
"end": {
18547
"line": 1,
18548
"column": 1
18549
}
18550
}
18551
},
18552
{
18553
"type": "Boolean",
18554
"value": "false",
18555
"range": [
18556
1,
18557
6
18558
],
18559
"loc": {
18560
"start": {
18561
"line": 1,
18562
"column": 1
18563
},
18564
"end": {
18565
"line": 1,
18566
"column": 6
18567
}
18568
}
18569
},
18570
{
18571
"type": "Punctuator",
18572
"value": ")",
18573
"range": [
18574
6,
18575
7
18576
],
18577
"loc": {
18578
"start": {
18579
"line": 1,
18580
"column": 6
18581
},
18582
"end": {
18583
"line": 1,
18584
"column": 7
18585
}
18586
}
18587
},
18588
{
18589
"type": "Punctuator",
18590
"value": "/",
18591
"range": [
18592
8,
18593
9
18594
],
18595
"loc": {
18596
"start": {
18597
"line": 1,
18598
"column": 8
18599
},
18600
"end": {
18601
"line": 1,
18602
"column": 9
18603
}
18604
}
18605
},
18606
{
18607
"type": "Numeric",
18608
"value": "42",
18609
"range": [
18610
9,
18611
11
18612
],
18613
"loc": {
18614
"start": {
18615
"line": 1,
18616
"column": 9
18617
},
18618
"end": {
18619
"line": 1,
18620
"column": 11
18621
}
18622
}
18623
},
18624
{
18625
"type": "Punctuator",
18626
"value": "/",
18627
"range": [
18628
11,
18629
12
18630
],
18631
"loc": {
18632
"start": {
18633
"line": 1,
18634
"column": 11
18635
},
18636
"end": {
18637
"line": 1,
18638
"column": 12
18639
}
18640
}
18641
}
18642
],
18643
18644
'function f(){} /42/': [
18645
{
18646
"type": "Keyword",
18647
"value": "function",
18648
"range": [
18649
0,
18650
8
18651
],
18652
"loc": {
18653
"start": {
18654
"line": 1,
18655
"column": 0
18656
},
18657
"end": {
18658
"line": 1,
18659
"column": 8
18660
}
18661
}
18662
},
18663
{
18664
"type": "Identifier",
18665
"value": "f",
18666
"range": [
18667
9,
18668
10
18669
],
18670
"loc": {
18671
"start": {
18672
"line": 1,
18673
"column": 9
18674
},
18675
"end": {
18676
"line": 1,
18677
"column": 10
18678
}
18679
}
18680
},
18681
{
18682
"type": "Punctuator",
18683
"value": "(",
18684
"range": [
18685
10,
18686
11
18687
],
18688
"loc": {
18689
"start": {
18690
"line": 1,
18691
"column": 10
18692
},
18693
"end": {
18694
"line": 1,
18695
"column": 11
18696
}
18697
}
18698
},
18699
{
18700
"type": "Punctuator",
18701
"value": ")",
18702
"range": [
18703
11,
18704
12
18705
],
18706
"loc": {
18707
"start": {
18708
"line": 1,
18709
"column": 11
18710
},
18711
"end": {
18712
"line": 1,
18713
"column": 12
18714
}
18715
}
18716
},
18717
{
18718
"type": "Punctuator",
18719
"value": "{",
18720
"range": [
18721
12,
18722
13
18723
],
18724
"loc": {
18725
"start": {
18726
"line": 1,
18727
"column": 12
18728
},
18729
"end": {
18730
"line": 1,
18731
"column": 13
18732
}
18733
}
18734
},
18735
{
18736
"type": "Punctuator",
18737
"value": "}",
18738
"range": [
18739
13,
18740
14
18741
],
18742
"loc": {
18743
"start": {
18744
"line": 1,
18745
"column": 13
18746
},
18747
"end": {
18748
"line": 1,
18749
"column": 14
18750
}
18751
}
18752
},
18753
{
18754
"type": "RegularExpression",
18755
"value": "/42/",
18756
"range": [
18757
15,
18758
19
18759
],
18760
"loc": {
18761
"start": {
18762
"line": 1,
18763
"column": 15
18764
},
18765
"end": {
18766
"line": 1,
18767
"column": 19
18768
}
18769
}
18770
}
18771
],
18772
18773
'function(){} /42': [
18774
{
18775
"type": "Keyword",
18776
"value": "function",
18777
"range": [
18778
0,
18779
8
18780
],
18781
"loc": {
18782
"start": {
18783
"line": 1,
18784
"column": 0
18785
},
18786
"end": {
18787
"line": 1,
18788
"column": 8
18789
}
18790
}
18791
},
18792
{
18793
"type": "Punctuator",
18794
"value": "(",
18795
"range": [
18796
8,
18797
9
18798
],
18799
"loc": {
18800
"start": {
18801
"line": 1,
18802
"column": 8
18803
},
18804
"end": {
18805
"line": 1,
18806
"column": 9
18807
}
18808
}
18809
},
18810
{
18811
"type": "Punctuator",
18812
"value": ")",
18813
"range": [
18814
9,
18815
10
18816
],
18817
"loc": {
18818
"start": {
18819
"line": 1,
18820
"column": 9
18821
},
18822
"end": {
18823
"line": 1,
18824
"column": 10
18825
}
18826
}
18827
},
18828
{
18829
"type": "Punctuator",
18830
"value": "{",
18831
"range": [
18832
10,
18833
11
18834
],
18835
"loc": {
18836
"start": {
18837
"line": 1,
18838
"column": 10
18839
},
18840
"end": {
18841
"line": 1,
18842
"column": 11
18843
}
18844
}
18845
},
18846
{
18847
"type": "Punctuator",
18848
"value": "}",
18849
"range": [
18850
11,
18851
12
18852
],
18853
"loc": {
18854
"start": {
18855
"line": 1,
18856
"column": 11
18857
},
18858
"end": {
18859
"line": 1,
18860
"column": 12
18861
}
18862
}
18863
},
18864
{
18865
"type": "Punctuator",
18866
"value": "/",
18867
"range": [
18868
13,
18869
14
18870
],
18871
"loc": {
18872
"start": {
18873
"line": 1,
18874
"column": 13
18875
},
18876
"end": {
18877
"line": 1,
18878
"column": 14
18879
}
18880
}
18881
},
18882
{
18883
"type": "Numeric",
18884
"value": "42",
18885
"range": [
18886
14,
18887
16
18888
],
18889
"loc": {
18890
"start": {
18891
"line": 1,
18892
"column": 14
18893
},
18894
"end": {
18895
"line": 1,
18896
"column": 16
18897
}
18898
}
18899
}
18900
],
18901
18902
'{} /42': [
18903
{
18904
"type": "Punctuator",
18905
"value": "{",
18906
"range": [
18907
0,
18908
1
18909
],
18910
"loc": {
18911
"start": {
18912
"line": 1,
18913
"column": 0
18914
},
18915
"end": {
18916
"line": 1,
18917
"column": 1
18918
}
18919
}
18920
},
18921
{
18922
"type": "Punctuator",
18923
"value": "}",
18924
"range": [
18925
1,
18926
2
18927
],
18928
"loc": {
18929
"start": {
18930
"line": 1,
18931
"column": 1
18932
},
18933
"end": {
18934
"line": 1,
18935
"column": 2
18936
}
18937
}
18938
},
18939
{
18940
"type": "Punctuator",
18941
"value": "/",
18942
"range": [
18943
3,
18944
4
18945
],
18946
"loc": {
18947
"start": {
18948
"line": 1,
18949
"column": 3
18950
},
18951
"end": {
18952
"line": 1,
18953
"column": 4
18954
}
18955
}
18956
},
18957
{
18958
"type": "Numeric",
18959
"value": "42",
18960
"range": [
18961
4,
18962
6
18963
],
18964
"loc": {
18965
"start": {
18966
"line": 1,
18967
"column": 4
18968
},
18969
"end": {
18970
"line": 1,
18971
"column": 6
18972
}
18973
}
18974
}
18975
],
18976
18977
'[function(){} /42]': [
18978
{
18979
"type": "Punctuator",
18980
"value": "[",
18981
"range": [
18982
0,
18983
1
18984
],
18985
"loc": {
18986
"start": {
18987
"line": 1,
18988
"column": 0
18989
},
18990
"end": {
18991
"line": 1,
18992
"column": 1
18993
}
18994
}
18995
},
18996
{
18997
"type": "Keyword",
18998
"value": "function",
18999
"range": [
19000
1,
19001
9
19002
],
19003
"loc": {
19004
"start": {
19005
"line": 1,
19006
"column": 1
19007
},
19008
"end": {
19009
"line": 1,
19010
"column": 9
19011
}
19012
}
19013
},
19014
{
19015
"type": "Punctuator",
19016
"value": "(",
19017
"range": [
19018
9,
19019
10
19020
],
19021
"loc": {
19022
"start": {
19023
"line": 1,
19024
"column": 9
19025
},
19026
"end": {
19027
"line": 1,
19028
"column": 10
19029
}
19030
}
19031
},
19032
{
19033
"type": "Punctuator",
19034
"value": ")",
19035
"range": [
19036
10,
19037
11
19038
],
19039
"loc": {
19040
"start": {
19041
"line": 1,
19042
"column": 10
19043
},
19044
"end": {
19045
"line": 1,
19046
"column": 11
19047
}
19048
}
19049
},
19050
{
19051
"type": "Punctuator",
19052
"value": "{",
19053
"range": [
19054
11,
19055
12
19056
],
19057
"loc": {
19058
"start": {
19059
"line": 1,
19060
"column": 11
19061
},
19062
"end": {
19063
"line": 1,
19064
"column": 12
19065
}
19066
}
19067
},
19068
{
19069
"type": "Punctuator",
19070
"value": "}",
19071
"range": [
19072
12,
19073
13
19074
],
19075
"loc": {
19076
"start": {
19077
"line": 1,
19078
"column": 12
19079
},
19080
"end": {
19081
"line": 1,
19082
"column": 13
19083
}
19084
}
19085
},
19086
{
19087
"type": "Punctuator",
19088
"value": "/",
19089
"range": [
19090
14,
19091
15
19092
],
19093
"loc": {
19094
"start": {
19095
"line": 1,
19096
"column": 14
19097
},
19098
"end": {
19099
"line": 1,
19100
"column": 15
19101
}
19102
}
19103
},
19104
{
19105
"type": "Numeric",
19106
"value": "42",
19107
"range": [
19108
15,
19109
17
19110
],
19111
"loc": {
19112
"start": {
19113
"line": 1,
19114
"column": 15
19115
},
19116
"end": {
19117
"line": 1,
19118
"column": 17
19119
}
19120
}
19121
},
19122
{
19123
"type": "Punctuator",
19124
"value": "]",
19125
"range": [
19126
17,
19127
18
19128
],
19129
"loc": {
19130
"start": {
19131
"line": 1,
19132
"column": 17
19133
},
19134
"end": {
19135
"line": 1,
19136
"column": 18
19137
}
19138
}
19139
}
19140
],
19141
19142
';function f(){} /42/': [
19143
{
19144
"type": "Punctuator",
19145
"value": ";",
19146
"range": [
19147
0,
19148
1
19149
],
19150
"loc": {
19151
"start": {
19152
"line": 1,
19153
"column": 0
19154
},
19155
"end": {
19156
"line": 1,
19157
"column": 1
19158
}
19159
}
19160
},
19161
{
19162
"type": "Keyword",
19163
"value": "function",
19164
"range": [
19165
1,
19166
9
19167
],
19168
"loc": {
19169
"start": {
19170
"line": 1,
19171
"column": 1
19172
},
19173
"end": {
19174
"line": 1,
19175
"column": 9
19176
}
19177
}
19178
},
19179
{
19180
"type": "Identifier",
19181
"value": "f",
19182
"range": [
19183
10,
19184
11
19185
],
19186
"loc": {
19187
"start": {
19188
"line": 1,
19189
"column": 10
19190
},
19191
"end": {
19192
"line": 1,
19193
"column": 11
19194
}
19195
}
19196
},
19197
{
19198
"type": "Punctuator",
19199
"value": "(",
19200
"range": [
19201
11,
19202
12
19203
],
19204
"loc": {
19205
"start": {
19206
"line": 1,
19207
"column": 11
19208
},
19209
"end": {
19210
"line": 1,
19211
"column": 12
19212
}
19213
}
19214
},
19215
{
19216
"type": "Punctuator",
19217
"value": ")",
19218
"range": [
19219
12,
19220
13
19221
],
19222
"loc": {
19223
"start": {
19224
"line": 1,
19225
"column": 12
19226
},
19227
"end": {
19228
"line": 1,
19229
"column": 13
19230
}
19231
}
19232
},
19233
{
19234
"type": "Punctuator",
19235
"value": "{",
19236
"range": [
19237
13,
19238
14
19239
],
19240
"loc": {
19241
"start": {
19242
"line": 1,
19243
"column": 13
19244
},
19245
"end": {
19246
"line": 1,
19247
"column": 14
19248
}
19249
}
19250
},
19251
{
19252
"type": "Punctuator",
19253
"value": "}",
19254
"range": [
19255
14,
19256
15
19257
],
19258
"loc": {
19259
"start": {
19260
"line": 1,
19261
"column": 14
19262
},
19263
"end": {
19264
"line": 1,
19265
"column": 15
19266
}
19267
}
19268
},
19269
{
19270
"type": "RegularExpression",
19271
"value": "/42/",
19272
"range": [
19273
16,
19274
20
19275
],
19276
"loc": {
19277
"start": {
19278
"line": 1,
19279
"column": 16
19280
},
19281
"end": {
19282
"line": 1,
19283
"column": 20
19284
}
19285
}
19286
}
19287
],
19288
19289
'void /42/': [
19290
{
19291
"type": "Keyword",
19292
"value": "void",
19293
"range": [
19294
0,
19295
4
19296
],
19297
"loc": {
19298
"start": {
19299
"line": 1,
19300
"column": 0
19301
},
19302
"end": {
19303
"line": 1,
19304
"column": 4
19305
}
19306
}
19307
},
19308
{
19309
"type": "RegularExpression",
19310
"value": "/42/",
19311
"range": [
19312
5,
19313
9
19314
],
19315
"loc": {
19316
"start": {
19317
"line": 1,
19318
"column": 5
19319
},
19320
"end": {
19321
"line": 1,
19322
"column": 9
19323
}
19324
}
19325
}
19326
],
19327
19328
'/42/': [
19329
{
19330
"type": "RegularExpression",
19331
"value": "/42/",
19332
"range": [
19333
0,
19334
4
19335
],
19336
"loc": {
19337
"start": {
19338
"line": 1,
19339
"column": 0
19340
},
19341
"end": {
19342
"line": 1,
19343
"column": 4
19344
}
19345
}
19346
}
19347
],
19348
19349
'foo[/42]': [
19350
{
19351
"type": "Identifier",
19352
"value": "foo",
19353
"range": [
19354
0,
19355
3
19356
],
19357
"loc": {
19358
"start": {
19359
"line": 1,
19360
"column": 0
19361
},
19362
"end": {
19363
"line": 1,
19364
"column": 3
19365
}
19366
}
19367
},
19368
{
19369
"type": "Punctuator",
19370
"value": "[",
19371
"range": [
19372
3,
19373
4
19374
],
19375
"loc": {
19376
"start": {
19377
"line": 1,
19378
"column": 3
19379
},
19380
"end": {
19381
"line": 1,
19382
"column": 4
19383
}
19384
}
19385
}
19386
],
19387
19388
'': [],
19389
19390
'/42': {
19391
tokenize: true,
19392
index: 3,
19393
lineNumber: 1,
19394
column: 4,
19395
message: 'Error: Line 1: Invalid regular expression: missing /'
19396
},
19397
19398
'foo[/42': {
19399
tokenize: true,
19400
index: 7,
19401
lineNumber: 1,
19402
column: 8,
19403
message: 'Error: Line 1: Invalid regular expression: missing /'
19404
}
19405
19406
},
19407
19408
'API': {
19409
'parse()': {
19410
call: 'parse',
19411
args: [],
19412
result: {
19413
type: 'Program',
19414
body: [{
19415
type: 'ExpressionStatement',
19416
expression: {
19417
type: 'Identifier',
19418
name: 'undefined'
19419
}
19420
}]
19421
}
19422
},
19423
19424
'parse(null)': {
19425
call: 'parse',
19426
args: [null],
19427
result: {
19428
type: 'Program',
19429
body: [{
19430
type: 'ExpressionStatement',
19431
expression: {
19432
type: 'Literal',
19433
value: null,
19434
raw: 'null'
19435
}
19436
}]
19437
}
19438
},
19439
19440
'parse(42)': {
19441
call: 'parse',
19442
args: [42],
19443
result: {
19444
type: 'Program',
19445
body: [{
19446
type: 'ExpressionStatement',
19447
expression: {
19448
type: 'Literal',
19449
value: 42,
19450
raw: '42'
19451
}
19452
}]
19453
}
19454
},
19455
19456
'parse(true)': {
19457
call: 'parse',
19458
args: [true],
19459
result: {
19460
type: 'Program',
19461
body: [{
19462
type: 'ExpressionStatement',
19463
expression: {
19464
type: 'Literal',
19465
value: true,
19466
raw: 'true'
19467
}
19468
}]
19469
}
19470
},
19471
19472
'parse(undefined)': {
19473
call: 'parse',
19474
args: [void 0],
19475
result: {
19476
type: 'Program',
19477
body: [{
19478
type: 'ExpressionStatement',
19479
expression: {
19480
type: 'Identifier',
19481
name: 'undefined'
19482
}
19483
}]
19484
}
19485
},
19486
19487
'parse(new String("test"))': {
19488
call: 'parse',
19489
args: [new String('test')],
19490
result: {
19491
type: 'Program',
19492
body: [{
19493
type: 'ExpressionStatement',
19494
expression: {
19495
type: 'Identifier',
19496
name: 'test'
19497
}
19498
}]
19499
}
19500
},
19501
19502
'parse(new Number(42))': {
19503
call: 'parse',
19504
args: [new Number(42)],
19505
result: {
19506
type: 'Program',
19507
body: [{
19508
type: 'ExpressionStatement',
19509
expression: {
19510
type: 'Literal',
19511
value: 42,
19512
raw: '42'
19513
}
19514
}]
19515
}
19516
},
19517
19518
'parse(new Boolean(true))': {
19519
call: 'parse',
19520
args: [new Boolean(true)],
19521
result: {
19522
type: 'Program',
19523
body: [{
19524
type: 'ExpressionStatement',
19525
expression: {
19526
type: 'Literal',
19527
value: true,
19528
raw: 'true'
19529
}
19530
}]
19531
}
19532
},
19533
19534
'Syntax': {
19535
property: 'Syntax',
19536
result: {
19537
ArrayExpression: 'ArrayExpression',
19538
ArrayPattern: 'ArrayPattern',
19539
ArrowFunctionExpression: 'ArrowFunctionExpression',
19540
AssignmentExpression: 'AssignmentExpression',
19541
BinaryExpression: 'BinaryExpression',
19542
BlockStatement: 'BlockStatement',
19543
BreakStatement: 'BreakStatement',
19544
CallExpression: 'CallExpression',
19545
CatchClause: 'CatchClause',
19546
ClassBody: 'ClassBody',
19547
ClassDeclaration: 'ClassDeclaration',
19548
ClassExpression: 'ClassExpression',
19549
ComprehensionBlock: 'ComprehensionBlock',
19550
ComprehensionExpression: 'ComprehensionExpression',
19551
ConditionalExpression: 'ConditionalExpression',
19552
ContinueStatement: 'ContinueStatement',
19553
DebuggerStatement: 'DebuggerStatement',
19554
DoWhileStatement: 'DoWhileStatement',
19555
EmptyStatement: 'EmptyStatement',
19556
ExportDeclaration: 'ExportDeclaration',
19557
ExportBatchSpecifier: 'ExportBatchSpecifier',
19558
ExportSpecifier: 'ExportSpecifier',
19559
ExpressionStatement: 'ExpressionStatement',
19560
ForInStatement: 'ForInStatement',
19561
ForOfStatement: 'ForOfStatement',
19562
ForStatement: 'ForStatement',
19563
FunctionDeclaration: 'FunctionDeclaration',
19564
FunctionExpression: 'FunctionExpression',
19565
Identifier: 'Identifier',
19566
IfStatement: 'IfStatement',
19567
ImportDeclaration: 'ImportDeclaration',
19568
ImportSpecifier: 'ImportSpecifier',
19569
LabeledStatement: 'LabeledStatement',
19570
Literal: 'Literal',
19571
LogicalExpression: 'LogicalExpression',
19572
MemberExpression: 'MemberExpression',
19573
MethodDefinition: 'MethodDefinition',
19574
ModuleDeclaration: 'ModuleDeclaration',
19575
NewExpression: 'NewExpression',
19576
ObjectExpression: 'ObjectExpression',
19577
ObjectPattern: 'ObjectPattern',
19578
Program: 'Program',
19579
Property: 'Property',
19580
ReturnStatement: 'ReturnStatement',
19581
SequenceExpression: 'SequenceExpression',
19582
SpreadElement: 'SpreadElement',
19583
SpreadProperty: 'SpreadProperty',
19584
SwitchCase: 'SwitchCase',
19585
SwitchStatement: 'SwitchStatement',
19586
TaggedTemplateExpression: 'TaggedTemplateExpression',
19587
TemplateElement: 'TemplateElement',
19588
TemplateLiteral: 'TemplateLiteral',
19589
ThisExpression: 'ThisExpression',
19590
ThrowStatement: 'ThrowStatement',
19591
TryStatement: 'TryStatement',
19592
TypeAnnotatedIdentifier: 'TypeAnnotatedIdentifier',
19593
TypeAnnotation: 'TypeAnnotation',
19594
UnaryExpression: 'UnaryExpression',
19595
UpdateExpression: 'UpdateExpression',
19596
VariableDeclaration: 'VariableDeclaration',
19597
VariableDeclarator: 'VariableDeclarator',
19598
WhileStatement: 'WhileStatement',
19599
WithStatement: 'WithStatement',
19600
XJSIdentifier: 'XJSIdentifier',
19601
XJSNamespacedName: 'XJSNamespacedName',
19602
XJSMemberExpression: "XJSMemberExpression",
19603
XJSEmptyExpression: "XJSEmptyExpression",
19604
XJSExpressionContainer: "XJSExpressionContainer",
19605
XJSElement: 'XJSElement',
19606
XJSClosingElement: 'XJSClosingElement',
19607
XJSOpeningElement: 'XJSOpeningElement',
19608
XJSAttribute: "XJSAttribute",
19609
XJSSpreadAttribute: 'XJSSpreadAttribute',
19610
XJSText: 'XJSText',
19611
YieldExpression: 'YieldExpression'
19612
}
19613
},
19614
19615
'tokenize()': {
19616
call: 'tokenize',
19617
args: [],
19618
result: [{
19619
type: 'Identifier',
19620
value: 'undefined'
19621
}]
19622
},
19623
19624
'tokenize(null)': {
19625
call: 'tokenize',
19626
args: [null],
19627
result: [{
19628
type: 'Null',
19629
value: 'null'
19630
}]
19631
},
19632
19633
'tokenize(42)': {
19634
call: 'tokenize',
19635
args: [42],
19636
result: [{
19637
type: 'Numeric',
19638
value: '42'
19639
}]
19640
},
19641
19642
'tokenize(true)': {
19643
call: 'tokenize',
19644
args: [true],
19645
result: [{
19646
type: 'Boolean',
19647
value: 'true'
19648
}]
19649
},
19650
19651
'tokenize(undefined)': {
19652
call: 'tokenize',
19653
args: [void 0],
19654
result: [{
19655
type: 'Identifier',
19656
value: 'undefined'
19657
}]
19658
},
19659
19660
'tokenize(new String("test"))': {
19661
call: 'tokenize',
19662
args: [new String('test')],
19663
result: [{
19664
type: 'Identifier',
19665
value: 'test'
19666
}]
19667
},
19668
19669
'tokenize(new Number(42))': {
19670
call: 'tokenize',
19671
args: [new Number(42)],
19672
result: [{
19673
type: 'Numeric',
19674
value: '42'
19675
}]
19676
},
19677
19678
'tokenize(new Boolean(true))': {
19679
call: 'tokenize',
19680
args: [new Boolean(true)],
19681
result: [{
19682
type: 'Boolean',
19683
value: 'true'
19684
}]
19685
},
19686
19687
},
19688
19689
'Tolerant parse': {
19690
'return': {
19691
type: 'Program',
19692
body: [{
19693
type: 'ReturnStatement',
19694
'argument': null,
19695
range: [0, 6],
19696
loc: {
19697
start: { line: 1, column: 0 },
19698
end: { line: 1, column: 6 }
19699
}
19700
}],
19701
range: [0, 6],
19702
loc: {
19703
start: { line: 1, column: 0 },
19704
end: { line: 1, column: 6 }
19705
},
19706
errors: [{
19707
index: 6,
19708
lineNumber: 1,
19709
column: 7,
19710
message: 'Error: Line 1: Illegal return statement'
19711
}]
19712
},
19713
19714
'(function () { \'use strict\'; with (i); }())': {
19715
type: 'Program',
19716
body: [{
19717
type: 'ExpressionStatement',
19718
expression: {
19719
type: 'CallExpression',
19720
callee: {
19721
type: 'FunctionExpression',
19722
id: null,
19723
params: [],
19724
defaults: [],
19725
body: {
19726
type: 'BlockStatement',
19727
body: [{
19728
type: 'ExpressionStatement',
19729
expression: {
19730
type: 'Literal',
19731
value: 'use strict',
19732
raw: '\'use strict\'',
19733
range: [15, 27],
19734
loc: {
19735
start: { line: 1, column: 15 },
19736
end: { line: 1, column: 27 }
19737
}
19738
},
19739
range: [15, 28],
19740
loc: {
19741
start: { line: 1, column: 15 },
19742
end: { line: 1, column: 28 }
19743
}
19744
}, {
19745
type: 'WithStatement',
19746
object: {
19747
type: 'Identifier',
19748
name: 'i',
19749
range: [35, 36],
19750
loc: {
19751
start: { line: 1, column: 35 },
19752
end: { line: 1, column: 36 }
19753
}
19754
},
19755
body: {
19756
type: 'EmptyStatement',
19757
range: [37, 38],
19758
loc: {
19759
start: { line: 1, column: 37 },
19760
end: { line: 1, column: 38 }
19761
}
19762
},
19763
range: [29, 38],
19764
loc: {
19765
start: { line: 1, column: 29 },
19766
end: { line: 1, column: 38 }
19767
}
19768
}],
19769
range: [13, 40],
19770
loc: {
19771
start: { line: 1, column: 13 },
19772
end: { line: 1, column: 40 }
19773
}
19774
},
19775
rest: null,
19776
generator: false,
19777
expression: false,
19778
range: [1, 40],
19779
loc: {
19780
start: { line: 1, column: 1 },
19781
end: { line: 1, column: 40 }
19782
}
19783
},
19784
'arguments': [],
19785
range: [1, 42],
19786
loc: {
19787
start: { line: 1, column: 1 },
19788
end: { line: 1, column: 42 }
19789
}
19790
},
19791
range: [0, 43],
19792
loc: {
19793
start: { line: 1, column: 0 },
19794
end: { line: 1, column: 43 }
19795
}
19796
}],
19797
range: [0, 43],
19798
loc: {
19799
start: { line: 1, column: 0 },
19800
end: { line: 1, column: 43 }
19801
},
19802
errors: [{
19803
index: 29,
19804
lineNumber: 1,
19805
column: 30,
19806
message: 'Error: Line 1: Strict mode code may not include a with statement'
19807
}]
19808
},
19809
19810
'(function () { \'use strict\'; 021 }())': {
19811
type: 'Program',
19812
body: [{
19813
type: 'ExpressionStatement',
19814
expression: {
19815
type: 'CallExpression',
19816
callee: {
19817
type: 'FunctionExpression',
19818
id: null,
19819
params: [],
19820
defaults: [],
19821
body: {
19822
type: 'BlockStatement',
19823
body: [{
19824
type: 'ExpressionStatement',
19825
expression: {
19826
type: 'Literal',
19827
value: 'use strict',
19828
raw: '\'use strict\'',
19829
range: [15, 27],
19830
loc: {
19831
start: { line: 1, column: 15 },
19832
end: { line: 1, column: 27 }
19833
}
19834
},
19835
range: [15, 28],
19836
loc: {
19837
start: { line: 1, column: 15 },
19838
end: { line: 1, column: 28 }
19839
}
19840
}, {
19841
type: 'ExpressionStatement',
19842
expression: {
19843
type: 'Literal',
19844
value: 17,
19845
raw: "021",
19846
range: [29, 32],
19847
loc: {
19848
start: { line: 1, column: 29 },
19849
end: { line: 1, column: 32 }
19850
}
19851
},
19852
range: [29, 33],
19853
loc: {
19854
start: { line: 1, column: 29 },
19855
end: { line: 1, column: 33 }
19856
}
19857
}],
19858
range: [13, 34],
19859
loc: {
19860
start: { line: 1, column: 13 },
19861
end: { line: 1, column: 34 }
19862
}
19863
},
19864
rest: null,
19865
generator: false,
19866
expression: false,
19867
range: [1, 34],
19868
loc: {
19869
start: { line: 1, column: 1 },
19870
end: { line: 1, column: 34 }
19871
}
19872
},
19873
'arguments': [],
19874
range: [1, 36],
19875
loc: {
19876
start: { line: 1, column: 1 },
19877
end: { line: 1, column: 36 }
19878
}
19879
},
19880
range: [0, 37],
19881
loc: {
19882
start: { line: 1, column: 0 },
19883
end: { line: 1, column: 37 }
19884
}
19885
}],
19886
range: [0, 37],
19887
loc: {
19888
start: { line: 1, column: 0 },
19889
end: { line: 1, column: 37 }
19890
},
19891
errors: [{
19892
index: 29,
19893
lineNumber: 1,
19894
column: 30,
19895
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
19896
}]
19897
},
19898
19899
'"use strict"; delete x': {
19900
type: 'Program',
19901
body: [{
19902
type: 'ExpressionStatement',
19903
expression: {
19904
type: 'Literal',
19905
value: 'use strict',
19906
raw: '"use strict"',
19907
range: [0, 12],
19908
loc: {
19909
start: { line: 1, column: 0 },
19910
end: { line: 1, column: 12 }
19911
}
19912
},
19913
range: [0, 13],
19914
loc: {
19915
start: { line: 1, column: 0 },
19916
end: { line: 1, column: 13 }
19917
}
19918
}, {
19919
type: 'ExpressionStatement',
19920
expression: {
19921
type: 'UnaryExpression',
19922
operator: 'delete',
19923
argument: {
19924
type: 'Identifier',
19925
name: 'x',
19926
range: [21, 22],
19927
loc: {
19928
start: { line: 1, column: 21 },
19929
end: { line: 1, column: 22 }
19930
}
19931
},
19932
prefix: true,
19933
range: [14, 22],
19934
loc: {
19935
start: { line: 1, column: 14 },
19936
end: { line: 1, column: 22 }
19937
}
19938
},
19939
range: [14, 22],
19940
loc: {
19941
start: { line: 1, column: 14 },
19942
end: { line: 1, column: 22 }
19943
}
19944
}],
19945
range: [0, 22],
19946
loc: {
19947
start: { line: 1, column: 0 },
19948
end: { line: 1, column: 22 }
19949
},
19950
errors: [{
19951
index: 22,
19952
lineNumber: 1,
19953
column: 23,
19954
message: 'Error: Line 1: Delete of an unqualified identifier in strict mode.'
19955
}]
19956
},
19957
19958
'"use strict"; try {} catch (eval) {}': {
19959
type: 'Program',
19960
body: [{
19961
type: 'ExpressionStatement',
19962
expression: {
19963
type: 'Literal',
19964
value: 'use strict',
19965
raw: '"use strict"',
19966
range: [0, 12],
19967
loc: {
19968
start: { line: 1, column: 0 },
19969
end: { line: 1, column: 12 }
19970
}
19971
},
19972
range: [0, 13],
19973
loc: {
19974
start: { line: 1, column: 0 },
19975
end: { line: 1, column: 13 }
19976
}
19977
}, {
19978
type: 'TryStatement',
19979
block: {
19980
type: 'BlockStatement',
19981
body: [],
19982
range: [18, 20],
19983
loc: {
19984
start: { line: 1, column: 18 },
19985
end: { line: 1, column: 20 }
19986
}
19987
},
19988
guardedHandlers: [],
19989
handlers: [{
19990
type: 'CatchClause',
19991
param: {
19992
type: 'Identifier',
19993
name: 'eval',
19994
range: [28, 32],
19995
loc: {
19996
start: { line: 1, column: 28 },
19997
end: { line: 1, column: 32 }
19998
}
19999
},
20000
body: {
20001
type: 'BlockStatement',
20002
body: [],
20003
range: [34, 36],
20004
loc: {
20005
start: { line: 1, column: 34 },
20006
end: { line: 1, column: 36 }
20007
}
20008
},
20009
range: [21, 36],
20010
loc: {
20011
start: { line: 1, column: 21 },
20012
end: { line: 1, column: 36 }
20013
}
20014
}],
20015
finalizer: null,
20016
range: [14, 36],
20017
loc: {
20018
start: { line: 1, column: 14 },
20019
end: { line: 1, column: 36 }
20020
}
20021
}],
20022
range: [0, 36],
20023
loc: {
20024
start: { line: 1, column: 0 },
20025
end: { line: 1, column: 36 }
20026
},
20027
errors: [{
20028
index: 32,
20029
lineNumber: 1,
20030
column: 33,
20031
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20032
}]
20033
},
20034
20035
'"use strict"; try {} catch (arguments) {}': {
20036
type: 'Program',
20037
body: [{
20038
type: 'ExpressionStatement',
20039
expression: {
20040
type: 'Literal',
20041
value: 'use strict',
20042
raw: '"use strict"',
20043
range: [0, 12],
20044
loc: {
20045
start: { line: 1, column: 0 },
20046
end: { line: 1, column: 12 }
20047
}
20048
},
20049
range: [0, 13],
20050
loc: {
20051
start: { line: 1, column: 0 },
20052
end: { line: 1, column: 13 }
20053
}
20054
}, {
20055
type: 'TryStatement',
20056
block: {
20057
type: 'BlockStatement',
20058
body: [],
20059
range: [18, 20],
20060
loc: {
20061
start: { line: 1, column: 18 },
20062
end: { line: 1, column: 20 }
20063
}
20064
},
20065
guardedHandlers: [],
20066
handlers: [{
20067
type: 'CatchClause',
20068
param: {
20069
type: 'Identifier',
20070
name: 'arguments',
20071
range: [28, 37],
20072
loc: {
20073
start: { line: 1, column: 28 },
20074
end: { line: 1, column: 37 }
20075
}
20076
},
20077
body: {
20078
type: 'BlockStatement',
20079
body: [],
20080
range: [39, 41],
20081
loc: {
20082
start: { line: 1, column: 39 },
20083
end: { line: 1, column: 41 }
20084
}
20085
},
20086
range: [21, 41],
20087
loc: {
20088
start: { line: 1, column: 21 },
20089
end: { line: 1, column: 41 }
20090
}
20091
}],
20092
finalizer: null,
20093
range: [14, 41],
20094
loc: {
20095
start: { line: 1, column: 14 },
20096
end: { line: 1, column: 41 }
20097
}
20098
}],
20099
range: [0, 41],
20100
loc: {
20101
start: { line: 1, column: 0 },
20102
end: { line: 1, column: 41 }
20103
},
20104
errors: [{
20105
index: 37,
20106
lineNumber: 1,
20107
column: 38,
20108
message: 'Error: Line 1: Catch variable may not be eval or arguments in strict mode'
20109
}]
20110
},
20111
20112
'"use strict"; var eval;': {
20113
type: 'Program',
20114
body: [{
20115
type: 'ExpressionStatement',
20116
expression: {
20117
type: 'Literal',
20118
value: 'use strict',
20119
raw: '"use strict"',
20120
range: [0, 12],
20121
loc: {
20122
start: { line: 1, column: 0 },
20123
end: { line: 1, column: 12 }
20124
}
20125
},
20126
range: [0, 13],
20127
loc: {
20128
start: { line: 1, column: 0 },
20129
end: { line: 1, column: 13 }
20130
}
20131
}, {
20132
type: 'VariableDeclaration',
20133
declarations: [{
20134
type: 'VariableDeclarator',
20135
id: {
20136
type: 'Identifier',
20137
name: 'eval',
20138
range: [18, 22],
20139
loc: {
20140
start: { line: 1, column: 18 },
20141
end: { line: 1, column: 22 }
20142
}
20143
},
20144
init: null,
20145
range: [18, 22],
20146
loc: {
20147
start: { line: 1, column: 18 },
20148
end: { line: 1, column: 22 }
20149
}
20150
}],
20151
kind: 'var',
20152
range: [14, 23],
20153
loc: {
20154
start: { line: 1, column: 14 },
20155
end: { line: 1, column: 23 }
20156
}
20157
}],
20158
range: [0, 23],
20159
loc: {
20160
start: { line: 1, column: 0 },
20161
end: { line: 1, column: 23 }
20162
},
20163
errors: [{
20164
index: 22,
20165
lineNumber: 1,
20166
column: 23,
20167
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20168
}]
20169
},
20170
20171
'"use strict"; var arguments;': {
20172
type: 'Program',
20173
body: [{
20174
type: 'ExpressionStatement',
20175
expression: {
20176
type: 'Literal',
20177
value: 'use strict',
20178
raw: '"use strict"',
20179
range: [0, 12],
20180
loc: {
20181
start: { line: 1, column: 0 },
20182
end: { line: 1, column: 12 }
20183
}
20184
},
20185
range: [0, 13],
20186
loc: {
20187
start: { line: 1, column: 0 },
20188
end: { line: 1, column: 13 }
20189
}
20190
}, {
20191
type: 'VariableDeclaration',
20192
declarations: [{
20193
type: 'VariableDeclarator',
20194
id: {
20195
type: 'Identifier',
20196
name: 'arguments',
20197
range: [18, 27],
20198
loc: {
20199
start: { line: 1, column: 18 },
20200
end: { line: 1, column: 27 }
20201
}
20202
},
20203
init: null,
20204
range: [18, 27],
20205
loc: {
20206
start: { line: 1, column: 18 },
20207
end: { line: 1, column: 27 }
20208
}
20209
}],
20210
kind: 'var',
20211
range: [14, 28],
20212
loc: {
20213
start: { line: 1, column: 14 },
20214
end: { line: 1, column: 28 }
20215
}
20216
}],
20217
range: [0, 28],
20218
loc: {
20219
start: { line: 1, column: 0 },
20220
end: { line: 1, column: 28 }
20221
},
20222
errors: [{
20223
index: 27,
20224
lineNumber: 1,
20225
column: 28,
20226
message: 'Error: Line 1: Variable name may not be eval or arguments in strict mode'
20227
}]
20228
},
20229
20230
'"use strict"; eval = 0;': {
20231
type: 'Program',
20232
body: [{
20233
type: 'ExpressionStatement',
20234
expression: {
20235
type: 'Literal',
20236
value: 'use strict',
20237
raw: '"use strict"',
20238
range: [0, 12],
20239
loc: {
20240
start: { line: 1, column: 0 },
20241
end: { line: 1, column: 12 }
20242
}
20243
},
20244
range: [0, 13],
20245
loc: {
20246
start: { line: 1, column: 0 },
20247
end: { line: 1, column: 13 }
20248
}
20249
}, {
20250
type: 'ExpressionStatement',
20251
expression: {
20252
type: 'AssignmentExpression',
20253
operator: '=',
20254
left: {
20255
type: 'Identifier',
20256
name: 'eval',
20257
range: [14, 18],
20258
loc: {
20259
start: { line: 1, column: 14 },
20260
end: { line: 1, column: 18 }
20261
}
20262
},
20263
right: {
20264
type: 'Literal',
20265
value: 0,
20266
raw: '0',
20267
range: [21, 22],
20268
loc: {
20269
start: { line: 1, column: 21 },
20270
end: { line: 1, column: 22 }
20271
}
20272
},
20273
range: [14, 22],
20274
loc: {
20275
start: { line: 1, column: 14 },
20276
end: { line: 1, column: 22 }
20277
}
20278
},
20279
range: [14, 23],
20280
loc: {
20281
start: { line: 1, column: 14 },
20282
end: { line: 1, column: 23 }
20283
}
20284
}],
20285
range: [0, 23],
20286
loc: {
20287
start: { line: 1, column: 0 },
20288
end: { line: 1, column: 23 }
20289
},
20290
errors: [{
20291
index: 14,
20292
lineNumber: 1,
20293
column: 15,
20294
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20295
}]
20296
},
20297
20298
'"use strict"; eval++;': {
20299
type: 'Program',
20300
body: [{
20301
type: 'ExpressionStatement',
20302
expression: {
20303
type: 'Literal',
20304
value: 'use strict',
20305
raw: '"use strict"',
20306
range: [0, 12],
20307
loc: {
20308
start: { line: 1, column: 0 },
20309
end: { line: 1, column: 12 }
20310
}
20311
},
20312
range: [0, 13],
20313
loc: {
20314
start: { line: 1, column: 0 },
20315
end: { line: 1, column: 13 }
20316
}
20317
}, {
20318
type: 'ExpressionStatement',
20319
expression: {
20320
type: 'UpdateExpression',
20321
operator: '++',
20322
argument: {
20323
type: 'Identifier',
20324
name: 'eval',
20325
range: [14, 18],
20326
loc: {
20327
start: { line: 1, column: 14 },
20328
end: { line: 1, column: 18 }
20329
}
20330
},
20331
prefix: false,
20332
range: [14, 20],
20333
loc: {
20334
start: { line: 1, column: 14 },
20335
end: { line: 1, column: 20 }
20336
}
20337
},
20338
range: [14, 21],
20339
loc: {
20340
start: { line: 1, column: 14 },
20341
end: { line: 1, column: 21 }
20342
}
20343
}],
20344
range: [0, 21],
20345
loc: {
20346
start: { line: 1, column: 0 },
20347
end: { line: 1, column: 21 }
20348
},
20349
errors: [{
20350
index: 18,
20351
lineNumber: 1,
20352
column: 19,
20353
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20354
}]
20355
},
20356
20357
'"use strict"; --eval;': {
20358
type: 'Program',
20359
body: [{
20360
type: 'ExpressionStatement',
20361
expression: {
20362
type: 'Literal',
20363
value: 'use strict',
20364
raw: '"use strict"',
20365
range: [0, 12],
20366
loc: {
20367
start: { line: 1, column: 0 },
20368
end: { line: 1, column: 12 }
20369
}
20370
},
20371
range: [0, 13],
20372
loc: {
20373
start: { line: 1, column: 0 },
20374
end: { line: 1, column: 13 }
20375
}
20376
}, {
20377
type: 'ExpressionStatement',
20378
expression: {
20379
type: 'UpdateExpression',
20380
operator: '--',
20381
argument: {
20382
type: 'Identifier',
20383
name: 'eval',
20384
range: [16, 20],
20385
loc: {
20386
start: { line: 1, column: 16 },
20387
end: { line: 1, column: 20 }
20388
}
20389
},
20390
prefix: true,
20391
range: [14, 20],
20392
loc: {
20393
start: { line: 1, column: 14 },
20394
end: { line: 1, column: 20 }
20395
}
20396
},
20397
range: [14, 21],
20398
loc: {
20399
start: { line: 1, column: 14 },
20400
end: { line: 1, column: 21 }
20401
}
20402
}],
20403
range: [0, 21],
20404
loc: {
20405
start: { line: 1, column: 0 },
20406
end: { line: 1, column: 21 }
20407
},
20408
errors: [{
20409
index: 20,
20410
lineNumber: 1,
20411
column: 21,
20412
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20413
}]
20414
},
20415
20416
'"use strict"; arguments = 0;': {
20417
type: 'Program',
20418
body: [{
20419
type: 'ExpressionStatement',
20420
expression: {
20421
type: 'Literal',
20422
value: 'use strict',
20423
raw: '"use strict"',
20424
range: [0, 12],
20425
loc: {
20426
start: { line: 1, column: 0 },
20427
end: { line: 1, column: 12 }
20428
}
20429
},
20430
range: [0, 13],
20431
loc: {
20432
start: { line: 1, column: 0 },
20433
end: { line: 1, column: 13 }
20434
}
20435
}, {
20436
type: 'ExpressionStatement',
20437
expression: {
20438
type: 'AssignmentExpression',
20439
operator: '=',
20440
left: {
20441
type: 'Identifier',
20442
name: 'arguments',
20443
range: [14, 23],
20444
loc: {
20445
start: { line: 1, column: 14 },
20446
end: { line: 1, column: 23 }
20447
}
20448
},
20449
right: {
20450
type: 'Literal',
20451
value: 0,
20452
raw: '0',
20453
range: [26, 27],
20454
loc: {
20455
start: { line: 1, column: 26 },
20456
end: { line: 1, column: 27 }
20457
}
20458
},
20459
range: [14, 27],
20460
loc: {
20461
start: { line: 1, column: 14 },
20462
end: { line: 1, column: 27 }
20463
}
20464
},
20465
range: [14, 28],
20466
loc: {
20467
start: { line: 1, column: 14 },
20468
end: { line: 1, column: 28 }
20469
}
20470
}],
20471
range: [0, 28],
20472
loc: {
20473
start: { line: 1, column: 0 },
20474
end: { line: 1, column: 28 }
20475
},
20476
errors: [{
20477
index: 14,
20478
lineNumber: 1,
20479
column: 15,
20480
message: 'Error: Line 1: Assignment to eval or arguments is not allowed in strict mode'
20481
}]
20482
},
20483
20484
'"use strict"; arguments--;': {
20485
type: 'Program',
20486
body: [{
20487
type: 'ExpressionStatement',
20488
expression: {
20489
type: 'Literal',
20490
value: 'use strict',
20491
raw: '"use strict"',
20492
range: [0, 12],
20493
loc: {
20494
start: { line: 1, column: 0 },
20495
end: { line: 1, column: 12 }
20496
}
20497
},
20498
range: [0, 13],
20499
loc: {
20500
start: { line: 1, column: 0 },
20501
end: { line: 1, column: 13 }
20502
}
20503
}, {
20504
type: 'ExpressionStatement',
20505
expression: {
20506
type: 'UpdateExpression',
20507
operator: '--',
20508
argument: {
20509
type: 'Identifier',
20510
name: 'arguments',
20511
range: [14, 23],
20512
loc: {
20513
start: { line: 1, column: 14 },
20514
end: { line: 1, column: 23 }
20515
}
20516
},
20517
prefix: false,
20518
range: [14, 25],
20519
loc: {
20520
start: { line: 1, column: 14 },
20521
end: { line: 1, column: 25 }
20522
}
20523
},
20524
range: [14, 26],
20525
loc: {
20526
start: { line: 1, column: 14 },
20527
end: { line: 1, column: 26 }
20528
}
20529
}],
20530
range: [0, 26],
20531
loc: {
20532
start: { line: 1, column: 0 },
20533
end: { line: 1, column: 26 }
20534
},
20535
errors: [{
20536
index: 23,
20537
lineNumber: 1,
20538
column: 24,
20539
message: 'Error: Line 1: Postfix increment/decrement may not have eval or arguments operand in strict mode'
20540
}]
20541
},
20542
20543
'"use strict"; ++arguments;': {
20544
type: 'Program',
20545
body: [{
20546
type: 'ExpressionStatement',
20547
expression: {
20548
type: 'Literal',
20549
value: 'use strict',
20550
raw: '"use strict"',
20551
range: [0, 12],
20552
loc: {
20553
start: { line: 1, column: 0 },
20554
end: { line: 1, column: 12 }
20555
}
20556
},
20557
range: [0, 13],
20558
loc: {
20559
start: { line: 1, column: 0 },
20560
end: { line: 1, column: 13 }
20561
}
20562
}, {
20563
type: 'ExpressionStatement',
20564
expression: {
20565
type: 'UpdateExpression',
20566
operator: '++',
20567
argument: {
20568
type: 'Identifier',
20569
name: 'arguments',
20570
range: [16, 25],
20571
loc: {
20572
start: { line: 1, column: 16 },
20573
end: { line: 1, column: 25 }
20574
}
20575
},
20576
prefix: true,
20577
range: [14, 25],
20578
loc: {
20579
start: { line: 1, column: 14 },
20580
end: { line: 1, column: 25 }
20581
}
20582
},
20583
range: [14, 26],
20584
loc: {
20585
start: { line: 1, column: 14 },
20586
end: { line: 1, column: 26 }
20587
}
20588
}],
20589
range: [0, 26],
20590
loc: {
20591
start: { line: 1, column: 0 },
20592
end: { line: 1, column: 26 }
20593
},
20594
errors: [{
20595
index: 25,
20596
lineNumber: 1,
20597
column: 26,
20598
message: 'Error: Line 1: Prefix increment/decrement may not have eval or arguments operand in strict mode'
20599
}]
20600
},
20601
20602
20603
'"use strict";x={y:1,y:1}': {
20604
type: 'Program',
20605
body: [{
20606
type: 'ExpressionStatement',
20607
expression: {
20608
type: 'Literal',
20609
value: 'use strict',
20610
raw: '"use strict"',
20611
range: [0, 12],
20612
loc: {
20613
start: { line: 1, column: 0 },
20614
end: { line: 1, column: 12 }
20615
}
20616
},
20617
range: [0, 13],
20618
loc: {
20619
start: { line: 1, column: 0 },
20620
end: { line: 1, column: 13 }
20621
}
20622
}, {
20623
type: 'ExpressionStatement',
20624
expression: {
20625
type: 'AssignmentExpression',
20626
operator: '=',
20627
left: {
20628
type: 'Identifier',
20629
name: 'x',
20630
range: [13, 14],
20631
loc: {
20632
start: { line: 1, column: 13 },
20633
end: { line: 1, column: 14 }
20634
}
20635
},
20636
right: {
20637
type: 'ObjectExpression',
20638
properties: [{
20639
type: 'Property',
20640
key: {
20641
type: 'Identifier',
20642
name: 'y',
20643
range: [16, 17],
20644
loc: {
20645
start: { line: 1, column: 16 },
20646
end: { line: 1, column: 17 }
20647
}
20648
},
20649
value: {
20650
type: 'Literal',
20651
value: 1,
20652
raw: '1',
20653
range: [18, 19],
20654
loc: {
20655
start: { line: 1, column: 18 },
20656
end: { line: 1, column: 19 }
20657
}
20658
},
20659
kind: 'init',
20660
method: false,
20661
shorthand: false,
20662
computed: false,
20663
range: [16, 19],
20664
loc: {
20665
start: { line: 1, column: 16 },
20666
end: { line: 1, column: 19 }
20667
}
20668
}, {
20669
type: 'Property',
20670
key: {
20671
type: 'Identifier',
20672
name: 'y',
20673
range: [20, 21],
20674
loc: {
20675
start: { line: 1, column: 20 },
20676
end: { line: 1, column: 21 }
20677
}
20678
},
20679
value: {
20680
type: 'Literal',
20681
value: 1,
20682
raw: '1',
20683
range: [22, 23],
20684
loc: {
20685
start: { line: 1, column: 22 },
20686
end: { line: 1, column: 23 }
20687
}
20688
},
20689
kind: 'init',
20690
method: false,
20691
shorthand: false,
20692
computed: false,
20693
range: [20, 23],
20694
loc: {
20695
start: { line: 1, column: 20 },
20696
end: { line: 1, column: 23 }
20697
}
20698
}],
20699
range: [15, 24],
20700
loc: {
20701
start: { line: 1, column: 15 },
20702
end: { line: 1, column: 24 }
20703
}
20704
},
20705
range: [13, 24],
20706
loc: {
20707
start: { line: 1, column: 13 },
20708
end: { line: 1, column: 24 }
20709
}
20710
},
20711
range: [13, 24],
20712
loc: {
20713
start: { line: 1, column: 13 },
20714
end: { line: 1, column: 24 }
20715
}
20716
}],
20717
range: [0, 24],
20718
loc: {
20719
start: { line: 1, column: 0 },
20720
end: { line: 1, column: 24 }
20721
},
20722
errors: [{
20723
index: 23,
20724
lineNumber: 1,
20725
column: 24,
20726
message: 'Error: Line 1: Duplicate data property in object literal not allowed in strict mode'
20727
}]
20728
},
20729
20730
'"use strict"; function eval() {};': {
20731
type: 'Program',
20732
body: [{
20733
type: 'ExpressionStatement',
20734
expression: {
20735
type: 'Literal',
20736
value: 'use strict',
20737
raw: '"use strict"',
20738
range: [0, 12],
20739
loc: {
20740
start: { line: 1, column: 0 },
20741
end: { line: 1, column: 12 }
20742
}
20743
},
20744
range: [0, 13],
20745
loc: {
20746
start: { line: 1, column: 0 },
20747
end: { line: 1, column: 13 }
20748
}
20749
}, {
20750
type: 'FunctionDeclaration',
20751
id: {
20752
type: 'Identifier',
20753
name: 'eval',
20754
range: [23, 27],
20755
loc: {
20756
start: { line: 1, column: 23 },
20757
end: { line: 1, column: 27 }
20758
}
20759
},
20760
params: [],
20761
defaults: [],
20762
body: {
20763
type: 'BlockStatement',
20764
body: [],
20765
range: [30, 32],
20766
loc: {
20767
start: { line: 1, column: 30 },
20768
end: { line: 1, column: 32 }
20769
}
20770
},
20771
rest: null,
20772
generator: false,
20773
expression: false,
20774
range: [14, 32],
20775
loc: {
20776
start: { line: 1, column: 14 },
20777
end: { line: 1, column: 32 }
20778
}
20779
}, {
20780
type: 'EmptyStatement',
20781
range: [32, 33],
20782
loc: {
20783
start: { line: 1, column: 32 },
20784
end: { line: 1, column: 33 }
20785
}
20786
}],
20787
range: [0, 33],
20788
loc: {
20789
start: { line: 1, column: 0 },
20790
end: { line: 1, column: 33 }
20791
},
20792
errors: [{
20793
index: 23,
20794
lineNumber: 1,
20795
column: 24,
20796
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20797
}]
20798
},
20799
20800
'"use strict"; function arguments() {};': {
20801
type: 'Program',
20802
body: [{
20803
type: 'ExpressionStatement',
20804
expression: {
20805
type: 'Literal',
20806
value: 'use strict',
20807
raw: '"use strict"',
20808
range: [0, 12],
20809
loc: {
20810
start: { line: 1, column: 0 },
20811
end: { line: 1, column: 12 }
20812
}
20813
},
20814
range: [0, 13],
20815
loc: {
20816
start: { line: 1, column: 0 },
20817
end: { line: 1, column: 13 }
20818
}
20819
}, {
20820
type: 'FunctionDeclaration',
20821
id: {
20822
type: 'Identifier',
20823
name: 'arguments',
20824
range: [23, 32],
20825
loc: {
20826
start: { line: 1, column: 23 },
20827
end: { line: 1, column: 32 }
20828
}
20829
},
20830
params: [],
20831
defaults: [],
20832
body: {
20833
type: 'BlockStatement',
20834
body: [],
20835
range: [35, 37],
20836
loc: {
20837
start: { line: 1, column: 35 },
20838
end: { line: 1, column: 37 }
20839
}
20840
},
20841
rest: null,
20842
generator: false,
20843
expression: false,
20844
range: [14, 37],
20845
loc: {
20846
start: { line: 1, column: 14 },
20847
end: { line: 1, column: 37 }
20848
}
20849
}, {
20850
type: 'EmptyStatement',
20851
range: [37, 38],
20852
loc: {
20853
start: { line: 1, column: 37 },
20854
end: { line: 1, column: 38 }
20855
}
20856
}],
20857
range: [0, 38],
20858
loc: {
20859
start: { line: 1, column: 0 },
20860
end: { line: 1, column: 38 }
20861
},
20862
errors: [{
20863
index: 23,
20864
lineNumber: 1,
20865
column: 24,
20866
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
20867
}]
20868
},
20869
20870
'"use strict"; function interface() {};': {
20871
type: 'Program',
20872
body: [{
20873
type: 'ExpressionStatement',
20874
expression: {
20875
type: 'Literal',
20876
value: 'use strict',
20877
raw: '"use strict"',
20878
range: [0, 12],
20879
loc: {
20880
start: { line: 1, column: 0 },
20881
end: { line: 1, column: 12 }
20882
}
20883
},
20884
range: [0, 13],
20885
loc: {
20886
start: { line: 1, column: 0 },
20887
end: { line: 1, column: 13 }
20888
}
20889
}, {
20890
type: 'FunctionDeclaration',
20891
id: {
20892
type: 'Identifier',
20893
name: 'interface',
20894
range: [23, 32],
20895
loc: {
20896
start: { line: 1, column: 23 },
20897
end: { line: 1, column: 32 }
20898
}
20899
},
20900
params: [],
20901
defaults: [],
20902
body: {
20903
type: 'BlockStatement',
20904
body: [],
20905
range: [35, 37],
20906
loc: {
20907
start: { line: 1, column: 35 },
20908
end: { line: 1, column: 37 }
20909
}
20910
},
20911
rest: null,
20912
generator: false,
20913
expression: false,
20914
range: [14, 37],
20915
loc: {
20916
start: { line: 1, column: 14 },
20917
end: { line: 1, column: 37 }
20918
}
20919
}, {
20920
type: 'EmptyStatement',
20921
range: [37, 38],
20922
loc: {
20923
start: { line: 1, column: 37 },
20924
end: { line: 1, column: 38 }
20925
}
20926
}],
20927
range: [0, 38],
20928
loc: {
20929
start: { line: 1, column: 0 },
20930
end: { line: 1, column: 38 }
20931
},
20932
errors: [{
20933
index: 23,
20934
lineNumber: 1,
20935
column: 24,
20936
message: 'Error: Line 1: Use of future reserved word in strict mode'
20937
}]
20938
},
20939
20940
'"use strict"; (function eval() {});': {
20941
type: 'Program',
20942
body: [{
20943
type: 'ExpressionStatement',
20944
expression: {
20945
type: 'Literal',
20946
value: 'use strict',
20947
raw: '"use strict"',
20948
range: [0, 12],
20949
loc: {
20950
start: { line: 1, column: 0 },
20951
end: { line: 1, column: 12 }
20952
}
20953
},
20954
range: [0, 13],
20955
loc: {
20956
start: { line: 1, column: 0 },
20957
end: { line: 1, column: 13 }
20958
}
20959
}, {
20960
type: 'ExpressionStatement',
20961
expression: {
20962
type: 'FunctionExpression',
20963
id: {
20964
type: 'Identifier',
20965
name: 'eval',
20966
range: [24, 28],
20967
loc: {
20968
start: { line: 1, column: 24 },
20969
end: { line: 1, column: 28 }
20970
}
20971
},
20972
params: [],
20973
defaults: [],
20974
body: {
20975
type: 'BlockStatement',
20976
body: [],
20977
range: [31, 33],
20978
loc: {
20979
start: { line: 1, column: 31 },
20980
end: { line: 1, column: 33 }
20981
}
20982
},
20983
rest: null,
20984
generator: false,
20985
expression: false,
20986
range: [15, 33],
20987
loc: {
20988
start: { line: 1, column: 15 },
20989
end: { line: 1, column: 33 }
20990
}
20991
},
20992
range: [14, 35],
20993
loc: {
20994
start: { line: 1, column: 14 },
20995
end: { line: 1, column: 35 }
20996
}
20997
}],
20998
range: [0, 35],
20999
loc: {
21000
start: { line: 1, column: 0 },
21001
end: { line: 1, column: 35 }
21002
},
21003
errors: [{
21004
index: 24,
21005
lineNumber: 1,
21006
column: 25,
21007
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21008
}]
21009
},
21010
21011
'"use strict"; (function arguments() {});': {
21012
type: 'Program',
21013
body: [{
21014
type: 'ExpressionStatement',
21015
expression: {
21016
type: 'Literal',
21017
value: 'use strict',
21018
raw: '"use strict"',
21019
range: [0, 12],
21020
loc: {
21021
start: { line: 1, column: 0 },
21022
end: { line: 1, column: 12 }
21023
}
21024
},
21025
range: [0, 13],
21026
loc: {
21027
start: { line: 1, column: 0 },
21028
end: { line: 1, column: 13 }
21029
}
21030
}, {
21031
type: 'ExpressionStatement',
21032
expression: {
21033
type: 'FunctionExpression',
21034
id: {
21035
type: 'Identifier',
21036
name: 'arguments',
21037
range: [24, 33],
21038
loc: {
21039
start: { line: 1, column: 24 },
21040
end: { line: 1, column: 33 }
21041
}
21042
},
21043
params: [],
21044
defaults: [],
21045
body: {
21046
type: 'BlockStatement',
21047
body: [],
21048
range: [36, 38],
21049
loc: {
21050
start: { line: 1, column: 36 },
21051
end: { line: 1, column: 38 }
21052
}
21053
},
21054
rest: null,
21055
generator: false,
21056
expression: false,
21057
range: [15, 38],
21058
loc: {
21059
start: { line: 1, column: 15 },
21060
end: { line: 1, column: 38 }
21061
}
21062
},
21063
range: [14, 40],
21064
loc: {
21065
start: { line: 1, column: 14 },
21066
end: { line: 1, column: 40 }
21067
}
21068
}],
21069
range: [0, 40],
21070
loc: {
21071
start: { line: 1, column: 0 },
21072
end: { line: 1, column: 40 }
21073
},
21074
errors: [{
21075
index: 24,
21076
lineNumber: 1,
21077
column: 25,
21078
message: 'Error: Line 1: Function name may not be eval or arguments in strict mode'
21079
}]
21080
},
21081
21082
'"use strict"; (function interface() {});': {
21083
type: 'Program',
21084
body: [{
21085
type: 'ExpressionStatement',
21086
expression: {
21087
type: 'Literal',
21088
value: 'use strict',
21089
raw: '"use strict"',
21090
range: [0, 12],
21091
loc: {
21092
start: { line: 1, column: 0 },
21093
end: { line: 1, column: 12 }
21094
}
21095
},
21096
range: [0, 13],
21097
loc: {
21098
start: { line: 1, column: 0 },
21099
end: { line: 1, column: 13 }
21100
}
21101
}, {
21102
type: 'ExpressionStatement',
21103
expression: {
21104
type: 'FunctionExpression',
21105
id: {
21106
type: 'Identifier',
21107
name: 'interface',
21108
range: [24, 33],
21109
loc: {
21110
start: { line: 1, column: 24 },
21111
end: { line: 1, column: 33 }
21112
}
21113
},
21114
params: [],
21115
defaults: [],
21116
body: {
21117
type: 'BlockStatement',
21118
body: [],
21119
range: [36, 38],
21120
loc: {
21121
start: { line: 1, column: 36 },
21122
end: { line: 1, column: 38 }
21123
}
21124
},
21125
rest: null,
21126
generator: false,
21127
expression: false,
21128
range: [15, 38],
21129
loc: {
21130
start: { line: 1, column: 15 },
21131
end: { line: 1, column: 38 }
21132
}
21133
},
21134
range: [14, 40],
21135
loc: {
21136
start: { line: 1, column: 14 },
21137
end: { line: 1, column: 40 }
21138
}
21139
}],
21140
range: [0, 40],
21141
loc: {
21142
start: { line: 1, column: 0 },
21143
end: { line: 1, column: 40 }
21144
},
21145
errors: [{
21146
index: 24,
21147
lineNumber: 1,
21148
column: 25,
21149
message: 'Error: Line 1: Use of future reserved word in strict mode'
21150
}]
21151
},
21152
21153
'"use strict"; function f(eval) {};': {
21154
type: 'Program',
21155
body: [{
21156
type: 'ExpressionStatement',
21157
expression: {
21158
type: 'Literal',
21159
value: 'use strict',
21160
raw: '"use strict"',
21161
range: [0, 12],
21162
loc: {
21163
start: { line: 1, column: 0 },
21164
end: { line: 1, column: 12 }
21165
}
21166
},
21167
range: [0, 13],
21168
loc: {
21169
start: { line: 1, column: 0 },
21170
end: { line: 1, column: 13 }
21171
}
21172
}, {
21173
type: 'FunctionDeclaration',
21174
id: {
21175
type: 'Identifier',
21176
name: 'f',
21177
range: [23, 24],
21178
loc: {
21179
start: { line: 1, column: 23 },
21180
end: { line: 1, column: 24 }
21181
}
21182
},
21183
params: [{
21184
type: 'Identifier',
21185
name: 'eval',
21186
range: [25, 29],
21187
loc: {
21188
start: { line: 1, column: 25 },
21189
end: { line: 1, column: 29 }
21190
}
21191
}],
21192
defaults: [],
21193
body: {
21194
type: 'BlockStatement',
21195
body: [],
21196
range: [31, 33],
21197
loc: {
21198
start: { line: 1, column: 31 },
21199
end: { line: 1, column: 33 }
21200
}
21201
},
21202
rest: null,
21203
generator: false,
21204
expression: false,
21205
range: [14, 33],
21206
loc: {
21207
start: { line: 1, column: 14 },
21208
end: { line: 1, column: 33 }
21209
}
21210
}, {
21211
type: 'EmptyStatement',
21212
range: [33, 34],
21213
loc: {
21214
start: { line: 1, column: 33 },
21215
end: { line: 1, column: 34 }
21216
}
21217
}],
21218
range: [0, 34],
21219
loc: {
21220
start: { line: 1, column: 0 },
21221
end: { line: 1, column: 34 }
21222
},
21223
errors: [{
21224
index: 25,
21225
lineNumber: 1,
21226
column: 26,
21227
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21228
}]
21229
},
21230
21231
'"use strict"; function f(arguments) {};': {
21232
type: 'Program',
21233
body: [{
21234
type: 'ExpressionStatement',
21235
expression: {
21236
type: 'Literal',
21237
value: 'use strict',
21238
raw: '"use strict"',
21239
range: [0, 12],
21240
loc: {
21241
start: { line: 1, column: 0 },
21242
end: { line: 1, column: 12 }
21243
}
21244
},
21245
range: [0, 13],
21246
loc: {
21247
start: { line: 1, column: 0 },
21248
end: { line: 1, column: 13 }
21249
}
21250
}, {
21251
type: 'FunctionDeclaration',
21252
id: {
21253
type: 'Identifier',
21254
name: 'f',
21255
range: [23, 24],
21256
loc: {
21257
start: { line: 1, column: 23 },
21258
end: { line: 1, column: 24 }
21259
}
21260
},
21261
params: [{
21262
type: 'Identifier',
21263
name: 'arguments',
21264
range: [25, 34],
21265
loc: {
21266
start: { line: 1, column: 25 },
21267
end: { line: 1, column: 34 }
21268
}
21269
}],
21270
defaults: [],
21271
body: {
21272
type: 'BlockStatement',
21273
body: [],
21274
range: [36, 38],
21275
loc: {
21276
start: { line: 1, column: 36 },
21277
end: { line: 1, column: 38 }
21278
}
21279
},
21280
rest: null,
21281
generator: false,
21282
expression: false,
21283
range: [14, 38],
21284
loc: {
21285
start: { line: 1, column: 14 },
21286
end: { line: 1, column: 38 }
21287
}
21288
}, {
21289
type: 'EmptyStatement',
21290
range: [38, 39],
21291
loc: {
21292
start: { line: 1, column: 38 },
21293
end: { line: 1, column: 39 }
21294
}
21295
}],
21296
range: [0, 39],
21297
loc: {
21298
start: { line: 1, column: 0 },
21299
end: { line: 1, column: 39 }
21300
},
21301
errors: [{
21302
index: 25,
21303
lineNumber: 1,
21304
column: 26,
21305
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21306
}]
21307
},
21308
21309
'"use strict"; function f(foo, foo) {};': {
21310
type: 'Program',
21311
body: [{
21312
type: 'ExpressionStatement',
21313
expression: {
21314
type: 'Literal',
21315
value: 'use strict',
21316
raw: '"use strict"',
21317
range: [0, 12],
21318
loc: {
21319
start: { line: 1, column: 0 },
21320
end: { line: 1, column: 12 }
21321
}
21322
},
21323
range: [0, 13],
21324
loc: {
21325
start: { line: 1, column: 0 },
21326
end: { line: 1, column: 13 }
21327
}
21328
}, {
21329
type: 'FunctionDeclaration',
21330
id: {
21331
type: 'Identifier',
21332
name: 'f',
21333
range: [23, 24],
21334
loc: {
21335
start: { line: 1, column: 23 },
21336
end: { line: 1, column: 24 }
21337
}
21338
},
21339
params: [{
21340
type: 'Identifier',
21341
name: 'foo',
21342
range: [25, 28],
21343
loc: {
21344
start: { line: 1, column: 25 },
21345
end: { line: 1, column: 28 }
21346
}
21347
}, {
21348
type: 'Identifier',
21349
name: 'foo',
21350
range: [31, 34],
21351
loc: {
21352
start: { line: 1, column: 31 },
21353
end: { line: 1, column: 34 }
21354
}
21355
}],
21356
defaults: [],
21357
body: {
21358
type: 'BlockStatement',
21359
body: [],
21360
range: [36, 38],
21361
loc: {
21362
start: { line: 1, column: 36 },
21363
end: { line: 1, column: 38 }
21364
}
21365
},
21366
rest: null,
21367
generator: false,
21368
expression: false,
21369
range: [14, 38],
21370
loc: {
21371
start: { line: 1, column: 14 },
21372
end: { line: 1, column: 38 }
21373
}
21374
}, {
21375
type: 'EmptyStatement',
21376
range: [38, 39],
21377
loc: {
21378
start: { line: 1, column: 38 },
21379
end: { line: 1, column: 39 }
21380
}
21381
}],
21382
range: [0, 39],
21383
loc: {
21384
start: { line: 1, column: 0 },
21385
end: { line: 1, column: 39 }
21386
},
21387
errors: [{
21388
index: 31,
21389
lineNumber: 1,
21390
column: 32,
21391
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
21392
}]
21393
},
21394
21395
'"use strict"; (function f(eval) {});': {
21396
type: 'Program',
21397
body: [{
21398
type: 'ExpressionStatement',
21399
expression: {
21400
type: 'Literal',
21401
value: 'use strict',
21402
raw: '"use strict"',
21403
range: [0, 12],
21404
loc: {
21405
start: { line: 1, column: 0 },
21406
end: { line: 1, column: 12 }
21407
}
21408
},
21409
range: [0, 13],
21410
loc: {
21411
start: { line: 1, column: 0 },
21412
end: { line: 1, column: 13 }
21413
}
21414
}, {
21415
type: 'ExpressionStatement',
21416
expression: {
21417
type: 'FunctionExpression',
21418
id: {
21419
type: 'Identifier',
21420
name: 'f',
21421
range: [24, 25],
21422
loc: {
21423
start: { line: 1, column: 24 },
21424
end: { line: 1, column: 25 }
21425
}
21426
},
21427
params: [{
21428
type: 'Identifier',
21429
name: 'eval',
21430
range: [26, 30],
21431
loc: {
21432
start: { line: 1, column: 26 },
21433
end: { line: 1, column: 30 }
21434
}
21435
}],
21436
defaults: [],
21437
body: {
21438
type: 'BlockStatement',
21439
body: [],
21440
range: [32, 34],
21441
loc: {
21442
start: { line: 1, column: 32 },
21443
end: { line: 1, column: 34 }
21444
}
21445
},
21446
rest: null,
21447
generator: false,
21448
expression: false,
21449
range: [15, 34],
21450
loc: {
21451
start: { line: 1, column: 15 },
21452
end: { line: 1, column: 34 }
21453
}
21454
},
21455
range: [14, 36],
21456
loc: {
21457
start: { line: 1, column: 14 },
21458
end: { line: 1, column: 36 }
21459
}
21460
}],
21461
range: [0, 36],
21462
loc: {
21463
start: { line: 1, column: 0 },
21464
end: { line: 1, column: 36 }
21465
},
21466
errors: [{
21467
index: 26,
21468
lineNumber: 1,
21469
column: 27,
21470
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21471
}]
21472
},
21473
21474
21475
'"use strict"; (function f(arguments) {});': {
21476
type: 'Program',
21477
body: [{
21478
type: 'ExpressionStatement',
21479
expression: {
21480
type: 'Literal',
21481
value: 'use strict',
21482
raw: '"use strict"',
21483
range: [0, 12],
21484
loc: {
21485
start: { line: 1, column: 0 },
21486
end: { line: 1, column: 12 }
21487
}
21488
},
21489
range: [0, 13],
21490
loc: {
21491
start: { line: 1, column: 0 },
21492
end: { line: 1, column: 13 }
21493
}
21494
}, {
21495
type: 'ExpressionStatement',
21496
expression: {
21497
type: 'FunctionExpression',
21498
id: {
21499
type: 'Identifier',
21500
name: 'f',
21501
range: [24, 25],
21502
loc: {
21503
start: { line: 1, column: 24 },
21504
end: { line: 1, column: 25 }
21505
}
21506
},
21507
params: [{
21508
type: 'Identifier',
21509
name: 'arguments',
21510
range: [26, 35],
21511
loc: {
21512
start: { line: 1, column: 26 },
21513
end: { line: 1, column: 35 }
21514
}
21515
}],
21516
defaults: [],
21517
body: {
21518
type: 'BlockStatement',
21519
body: [],
21520
range: [37, 39],
21521
loc: {
21522
start: { line: 1, column: 37 },
21523
end: { line: 1, column: 39 }
21524
}
21525
},
21526
rest: null,
21527
generator: false,
21528
expression: false,
21529
range: [15, 39],
21530
loc: {
21531
start: { line: 1, column: 15 },
21532
end: { line: 1, column: 39 }
21533
}
21534
},
21535
range: [14, 41],
21536
loc: {
21537
start: { line: 1, column: 14 },
21538
end: { line: 1, column: 41 }
21539
}
21540
}],
21541
range: [0, 41],
21542
loc: {
21543
start: { line: 1, column: 0 },
21544
end: { line: 1, column: 41 }
21545
},
21546
errors: [{
21547
index: 26,
21548
lineNumber: 1,
21549
column: 27,
21550
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21551
}]
21552
},
21553
21554
'"use strict"; (function f(foo, foo) {});': {
21555
type: 'Program',
21556
body: [{
21557
type: 'ExpressionStatement',
21558
expression: {
21559
type: 'Literal',
21560
value: 'use strict',
21561
raw: '"use strict"',
21562
range: [0, 12],
21563
loc: {
21564
start: { line: 1, column: 0 },
21565
end: { line: 1, column: 12 }
21566
}
21567
},
21568
range: [0, 13],
21569
loc: {
21570
start: { line: 1, column: 0 },
21571
end: { line: 1, column: 13 }
21572
}
21573
}, {
21574
type: 'ExpressionStatement',
21575
expression: {
21576
type: 'FunctionExpression',
21577
id: {
21578
type: 'Identifier',
21579
name: 'f',
21580
range: [24, 25],
21581
loc: {
21582
start: { line: 1, column: 24 },
21583
end: { line: 1, column: 25 }
21584
}
21585
},
21586
params: [{
21587
type: 'Identifier',
21588
name: 'foo',
21589
range: [26, 29],
21590
loc: {
21591
start: { line: 1, column: 26 },
21592
end: { line: 1, column: 29 }
21593
}
21594
}, {
21595
type: 'Identifier',
21596
name: 'foo',
21597
range: [32, 35],
21598
loc: {
21599
start: { line: 1, column: 32 },
21600
end: { line: 1, column: 35 }
21601
}
21602
}],
21603
defaults: [],
21604
body: {
21605
type: 'BlockStatement',
21606
body: [],
21607
range: [37, 39],
21608
loc: {
21609
start: { line: 1, column: 37 },
21610
end: { line: 1, column: 39 }
21611
}
21612
},
21613
rest: null,
21614
generator: false,
21615
expression: false,
21616
range: [15, 39],
21617
loc: {
21618
start: { line: 1, column: 15 },
21619
end: { line: 1, column: 39 }
21620
}
21621
},
21622
range: [14, 41],
21623
loc: {
21624
start: { line: 1, column: 14 },
21625
end: { line: 1, column: 41 }
21626
}
21627
}],
21628
range: [0, 41],
21629
loc: {
21630
start: { line: 1, column: 0 },
21631
end: { line: 1, column: 41 }
21632
},
21633
errors: [{
21634
index: 32,
21635
lineNumber: 1,
21636
column: 33,
21637
message: 'Error: Line 1: Strict mode function may not have duplicate parameter names'
21638
}]
21639
},
21640
21641
'"use strict"; x = { set f(eval) {} }' : {
21642
type: 'Program',
21643
body: [{
21644
type: 'ExpressionStatement',
21645
expression: {
21646
type: 'Literal',
21647
value: 'use strict',
21648
raw: '"use strict"',
21649
range: [0, 12],
21650
loc: {
21651
start: { line: 1, column: 0 },
21652
end: { line: 1, column: 12 }
21653
}
21654
},
21655
range: [0, 13],
21656
loc: {
21657
start: { line: 1, column: 0 },
21658
end: { line: 1, column: 13 }
21659
}
21660
}, {
21661
type: 'ExpressionStatement',
21662
expression: {
21663
type: 'AssignmentExpression',
21664
operator: '=',
21665
left: {
21666
type: 'Identifier',
21667
name: 'x',
21668
range: [14, 15],
21669
loc: {
21670
start: { line: 1, column: 14 },
21671
end: { line: 1, column: 15 }
21672
}
21673
},
21674
right: {
21675
type: 'ObjectExpression',
21676
properties: [{
21677
type: 'Property',
21678
key: {
21679
type: 'Identifier',
21680
name: 'f',
21681
range: [24, 25],
21682
loc: {
21683
start: { line: 1, column: 24 },
21684
end: { line: 1, column: 25 }
21685
}
21686
},
21687
value : {
21688
type: 'FunctionExpression',
21689
id: null,
21690
params: [{
21691
type: 'Identifier',
21692
name: 'eval',
21693
range: [26, 30],
21694
loc: {
21695
start: { line: 1, column: 26 },
21696
end: { line: 1, column: 30 }
21697
}
21698
}],
21699
defaults: [],
21700
body: {
21701
type: 'BlockStatement',
21702
body: [],
21703
range: [32, 34],
21704
loc: {
21705
start: { line: 1, column: 32 },
21706
end: { line: 1, column: 34 }
21707
}
21708
},
21709
rest: null,
21710
generator: false,
21711
expression: false,
21712
range: [32, 34],
21713
loc: {
21714
start: { line: 1, column: 32 },
21715
end: { line: 1, column: 34 }
21716
}
21717
},
21718
kind: 'set',
21719
method: false,
21720
shorthand: false,
21721
computed: false,
21722
range: [20, 34],
21723
loc: {
21724
start: { line: 1, column: 20 },
21725
end: { line: 1, column: 34 }
21726
}
21727
}],
21728
range: [18, 36],
21729
loc: {
21730
start: { line: 1, column: 18 },
21731
end: { line: 1, column: 36 }
21732
}
21733
},
21734
range: [14, 36],
21735
loc: {
21736
start: { line: 1, column: 14 },
21737
end: { line: 1, column: 36 }
21738
}
21739
},
21740
range: [14, 36],
21741
loc: {
21742
start: { line: 1, column: 14 },
21743
end: { line: 1, column: 36 }
21744
}
21745
}],
21746
range: [0, 36],
21747
loc: {
21748
start: { line: 1, column: 0 },
21749
end: { line: 1, column: 36 }
21750
},
21751
errors: [{
21752
index: 26,
21753
lineNumber: 1,
21754
column: 27,
21755
message: 'Error: Line 1: Parameter name eval or arguments is not allowed in strict mode'
21756
}]
21757
},
21758
21759
'function hello() { "octal directive\\1"; "use strict"; }': {
21760
type: 'Program',
21761
body: [{
21762
type: 'FunctionDeclaration',
21763
id: {
21764
type: 'Identifier',
21765
name: 'hello',
21766
range: [9, 14],
21767
loc: {
21768
start: { line: 1, column: 9 },
21769
end: { line: 1, column: 14 }
21770
}
21771
},
21772
params: [],
21773
defaults: [],
21774
body: {
21775
type: 'BlockStatement',
21776
body: [{
21777
type: 'ExpressionStatement',
21778
expression: {
21779
type: 'Literal',
21780
value: 'octal directive\u0001',
21781
raw: '"octal directive\\1"',
21782
range: [19, 38],
21783
loc: {
21784
start: { line: 1, column: 19 },
21785
end: { line: 1, column: 38 }
21786
}
21787
},
21788
range: [19, 39],
21789
loc: {
21790
start: { line: 1, column: 19 },
21791
end: { line: 1, column: 39 }
21792
}
21793
}, {
21794
type: 'ExpressionStatement',
21795
expression: {
21796
type: 'Literal',
21797
value: 'use strict',
21798
raw: '"use strict"',
21799
range: [40, 52],
21800
loc: {
21801
start: { line: 1, column: 40 },
21802
end: { line: 1, column: 52 }
21803
}
21804
},
21805
range: [40, 53],
21806
loc: {
21807
start: { line: 1, column: 40 },
21808
end: { line: 1, column: 53 }
21809
}
21810
}],
21811
range: [17, 55],
21812
loc: {
21813
start: { line: 1, column: 17 },
21814
end: { line: 1, column: 55 }
21815
}
21816
},
21817
rest: null,
21818
generator: false,
21819
expression: false,
21820
range: [0, 55],
21821
loc: {
21822
start: { line: 1, column: 0 },
21823
end: { line: 1, column: 55 }
21824
}
21825
}],
21826
range: [0, 55],
21827
loc: {
21828
start: { line: 1, column: 0 },
21829
end: { line: 1, column: 55 }
21830
},
21831
errors: [{
21832
index: 19,
21833
lineNumber: 1,
21834
column: 20,
21835
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
21836
}]
21837
},
21838
21839
'"\\1"; \'use strict\';': {
21840
type: 'Program',
21841
body: [{
21842
type: 'ExpressionStatement',
21843
expression: {
21844
type: 'Literal',
21845
value: '\u0001',
21846
raw: '"\\1"',
21847
range: [0, 4],
21848
loc: {
21849
start: { line: 1, column: 0 },
21850
end: { line: 1, column: 4 }
21851
}
21852
},
21853
range: [0, 5],
21854
loc: {
21855
start: { line: 1, column: 0 },
21856
end: { line: 1, column: 5 }
21857
}
21858
}, {
21859
type: 'ExpressionStatement',
21860
expression: {
21861
type: 'Literal',
21862
value: 'use strict',
21863
raw: '\'use strict\'',
21864
range: [6, 18],
21865
loc: {
21866
start: { line: 1, column: 6 },
21867
end: { line: 1, column: 18 }
21868
}
21869
},
21870
range: [6, 19],
21871
loc: {
21872
start: { line: 1, column: 6 },
21873
end: { line: 1, column: 19 }
21874
}
21875
}],
21876
range: [0, 19],
21877
loc: {
21878
start: { line: 1, column: 0 },
21879
end: { line: 1, column: 19 }
21880
},
21881
errors: [{
21882
index: 0,
21883
lineNumber: 1,
21884
column: 1,
21885
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
21886
}]
21887
},
21888
21889
'"use strict"; var x = { 014: 3}': {
21890
type: 'Program',
21891
body: [{
21892
type: 'ExpressionStatement',
21893
expression: {
21894
type: 'Literal',
21895
value: 'use strict',
21896
raw: '"use strict"',
21897
range: [0, 12],
21898
loc: {
21899
start: { line: 1, column: 0 },
21900
end: { line: 1, column: 12 }
21901
}
21902
},
21903
range: [0, 13],
21904
loc: {
21905
start: { line: 1, column: 0 },
21906
end: { line: 1, column: 13 }
21907
}
21908
}, {
21909
type: 'VariableDeclaration',
21910
declarations: [{
21911
type: 'VariableDeclarator',
21912
id: {
21913
type: 'Identifier',
21914
name: 'x',
21915
range: [18, 19],
21916
loc: {
21917
start: { line: 1, column: 18 },
21918
end: { line: 1, column: 19 }
21919
}
21920
},
21921
init: {
21922
type: 'ObjectExpression',
21923
properties: [{
21924
type: 'Property',
21925
key: {
21926
type: 'Literal',
21927
value: 12,
21928
raw: '014',
21929
range: [24, 27],
21930
loc: {
21931
start: { line: 1, column: 24 },
21932
end: { line: 1, column: 27 }
21933
}
21934
},
21935
value: {
21936
type: 'Literal',
21937
value: 3,
21938
raw: '3',
21939
range: [29, 30],
21940
loc: {
21941
start: { line: 1, column: 29 },
21942
end: { line: 1, column: 30 }
21943
}
21944
},
21945
kind: 'init',
21946
method: false,
21947
shorthand: false,
21948
computed: false,
21949
range: [24, 30],
21950
loc: {
21951
start: { line: 1, column: 24 },
21952
end: { line: 1, column: 30 }
21953
}
21954
}],
21955
range: [22, 31],
21956
loc: {
21957
start: { line: 1, column: 22 },
21958
end: { line: 1, column: 31 }
21959
}
21960
},
21961
range: [18, 31],
21962
loc: {
21963
start: { line: 1, column: 18 },
21964
end: { line: 1, column: 31 }
21965
}
21966
}],
21967
kind: 'var',
21968
range: [14, 31],
21969
loc: {
21970
start: { line: 1, column: 14 },
21971
end: { line: 1, column: 31 }
21972
}
21973
}],
21974
range: [0, 31],
21975
loc: {
21976
start: { line: 1, column: 0 },
21977
end: { line: 1, column: 31 }
21978
},
21979
errors: [{
21980
index: 24,
21981
lineNumber: 1,
21982
column: 25,
21983
message: 'Error: Line 1: Octal literals are not allowed in strict mode.'
21984
}]
21985
},
21986
21987
'"use strict"; var x = { get i() {}, get i() {} }': {
21988
type: 'Program',
21989
body: [{
21990
type: 'ExpressionStatement',
21991
expression: {
21992
type: 'Literal',
21993
value: 'use strict',
21994
raw: '"use strict"',
21995
range: [0, 12],
21996
loc: {
21997
start: { line: 1, column: 0 },
21998
end: { line: 1, column: 12 }
21999
}
22000
},
22001
range: [0, 13],
22002
loc: {
22003
start: { line: 1, column: 0 },
22004
end: { line: 1, column: 13 }
22005
}
22006
}, {
22007
type: 'VariableDeclaration',
22008
declarations: [{
22009
type: 'VariableDeclarator',
22010
id: {
22011
type: 'Identifier',
22012
name: 'x',
22013
range: [18, 19],
22014
loc: {
22015
start: { line: 1, column: 18 },
22016
end: { line: 1, column: 19 }
22017
}
22018
},
22019
init: {
22020
type: 'ObjectExpression',
22021
properties: [{
22022
type: 'Property',
22023
key: {
22024
type: 'Identifier',
22025
name: 'i',
22026
range: [28, 29],
22027
loc: {
22028
start: { line: 1, column: 28 },
22029
end: { line: 1, column: 29 }
22030
}
22031
},
22032
value: {
22033
type: 'FunctionExpression',
22034
id: null,
22035
params: [],
22036
defaults: [],
22037
body: {
22038
type: 'BlockStatement',
22039
body: [],
22040
range: [32, 34],
22041
loc: {
22042
start: { line: 1, column: 32 },
22043
end: { line: 1, column: 34 }
22044
}
22045
},
22046
rest: null,
22047
generator: false,
22048
expression: false,
22049
range: [32, 34],
22050
loc: {
22051
start: { line: 1, column: 32 },
22052
end: { line: 1, column: 34 }
22053
}
22054
},
22055
kind: 'get',
22056
method: false,
22057
shorthand: false,
22058
computed: false,
22059
range: [24, 34],
22060
loc: {
22061
start: { line: 1, column: 24 },
22062
end: { line: 1, column: 34 }
22063
}
22064
}, {
22065
type: 'Property',
22066
key: {
22067
type: 'Identifier',
22068
name: 'i',
22069
range: [40, 41],
22070
loc: {
22071
start: { line: 1, column: 40 },
22072
end: { line: 1, column: 41 }
22073
}
22074
},
22075
value: {
22076
type: 'FunctionExpression',
22077
id: null,
22078
params: [],
22079
defaults: [],
22080
body: {
22081
type: 'BlockStatement',
22082
body: [],
22083
range: [44, 46],
22084
loc: {
22085
start: { line: 1, column: 44 },
22086
end: { line: 1, column: 46 }
22087
}
22088
},
22089
rest: null,
22090
generator: false,
22091
expression: false,
22092
range: [44, 46],
22093
loc: {
22094
start: { line: 1, column: 44 },
22095
end: { line: 1, column: 46 }
22096
}
22097
},
22098
kind: 'get',
22099
method: false,
22100
shorthand: false,
22101
computed: false,
22102
range: [36, 46],
22103
loc: {
22104
start: { line: 1, column: 36 },
22105
end: { line: 1, column: 46 }
22106
}
22107
}],
22108
range: [22, 48],
22109
loc: {
22110
start: { line: 1, column: 22 },
22111
end: { line: 1, column: 48 }
22112
}
22113
},
22114
range: [18, 48],
22115
loc: {
22116
start: { line: 1, column: 18 },
22117
end: { line: 1, column: 48 }
22118
}
22119
}],
22120
kind: 'var',
22121
range: [14, 48],
22122
loc: {
22123
start: { line: 1, column: 14 },
22124
end: { line: 1, column: 48 }
22125
}
22126
}],
22127
range: [0, 48],
22128
loc: {
22129
start: { line: 1, column: 0 },
22130
end: { line: 1, column: 48 }
22131
},
22132
errors: [{
22133
index: 46,
22134
lineNumber: 1,
22135
column: 47,
22136
message: 'Error: Line 1: Object literal may not have multiple get/set accessors with the same name'
22137
}]
22138
},
22139
22140
'"use strict"; var x = { i: 42, get i() {} }': {
22141
type: 'Program',
22142
body: [{
22143
type: 'ExpressionStatement',
22144
expression: {
22145
type: 'Literal',
22146
value: 'use strict',
22147
raw: '"use strict"',
22148
range: [0, 12],
22149
loc: {
22150
start: { line: 1, column: 0 },
22151
end: { line: 1, column: 12 }
22152
}
22153
},
22154
range: [0, 13],
22155
loc: {
22156
start: { line: 1, column: 0 },
22157
end: { line: 1, column: 13 }
22158
}
22159
}, {
22160
type: 'VariableDeclaration',
22161
declarations: [{
22162
type: 'VariableDeclarator',
22163
id: {
22164
type: 'Identifier',
22165
name: 'x',
22166
range: [18, 19],
22167
loc: {
22168
start: { line: 1, column: 18 },
22169
end: { line: 1, column: 19 }
22170
}
22171
},
22172
init: {
22173
type: 'ObjectExpression',
22174
properties: [{
22175
type: 'Property',
22176
key: {
22177
type: 'Identifier',
22178
name: 'i',
22179
range: [24, 25],
22180
loc: {
22181
start: { line: 1, column: 24 },
22182
end: { line: 1, column: 25 }
22183
}
22184
},
22185
value: {
22186
type: 'Literal',
22187
value: 42,
22188
raw: '42',
22189
range: [27, 29],
22190
loc: {
22191
start: { line: 1, column: 27 },
22192
end: { line: 1, column: 29 }
22193
}
22194
},
22195
kind: 'init',
22196
method: false,
22197
shorthand: false,
22198
computed: false,
22199
range: [24, 29],
22200
loc: {
22201
start: { line: 1, column: 24 },
22202
end: { line: 1, column: 29 }
22203
}
22204
}, {
22205
type: 'Property',
22206
key: {
22207
type: 'Identifier',
22208
name: 'i',
22209
range: [35, 36],
22210
loc: {
22211
start: { line: 1, column: 35 },
22212
end: { line: 1, column: 36 }
22213
}
22214
},
22215
value: {
22216
type: 'FunctionExpression',
22217
id: null,
22218
params: [],
22219
defaults: [],
22220
body: {
22221
type: 'BlockStatement',
22222
body: [],
22223
range: [39, 41],
22224
loc: {
22225
start: { line: 1, column: 39 },
22226
end: { line: 1, column: 41 }
22227
}
22228
},
22229
rest: null,
22230
generator: false,
22231
expression: false,
22232
range: [39, 41],
22233
loc: {
22234
start: { line: 1, column: 39 },
22235
end: { line: 1, column: 41 }
22236
}
22237
},
22238
kind: 'get',
22239
method: false,
22240
shorthand: false,
22241
computed: false,
22242
range: [31, 41],
22243
loc: {
22244
start: { line: 1, column: 31 },
22245
end: { line: 1, column: 41 }
22246
}
22247
}],
22248
range: [22, 43],
22249
loc: {
22250
start: { line: 1, column: 22 },
22251
end: { line: 1, column: 43 }
22252
}
22253
},
22254
range: [18, 43],
22255
loc: {
22256
start: { line: 1, column: 18 },
22257
end: { line: 1, column: 43 }
22258
}
22259
}],
22260
kind: 'var',
22261
range: [14, 43],
22262
loc: {
22263
start: { line: 1, column: 14 },
22264
end: { line: 1, column: 43 }
22265
}
22266
}],
22267
range: [0, 43],
22268
loc: {
22269
start: { line: 1, column: 0 },
22270
end: { line: 1, column: 43 }
22271
},
22272
errors: [{
22273
index: 41,
22274
lineNumber: 1,
22275
column: 42,
22276
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22277
}]
22278
},
22279
22280
'"use strict"; var x = { set i(x) {}, i: 42 }': {
22281
type: 'Program',
22282
body: [{
22283
type: 'ExpressionStatement',
22284
expression: {
22285
type: 'Literal',
22286
value: 'use strict',
22287
raw: '"use strict"',
22288
range: [0, 12],
22289
loc: {
22290
start: { line: 1, column: 0 },
22291
end: { line: 1, column: 12 }
22292
}
22293
},
22294
range: [0, 13],
22295
loc: {
22296
start: { line: 1, column: 0 },
22297
end: { line: 1, column: 13 }
22298
}
22299
}, {
22300
type: 'VariableDeclaration',
22301
declarations: [{
22302
type: 'VariableDeclarator',
22303
id: {
22304
type: 'Identifier',
22305
name: 'x',
22306
range: [18, 19],
22307
loc: {
22308
start: { line: 1, column: 18 },
22309
end: { line: 1, column: 19 }
22310
}
22311
},
22312
init: {
22313
type: 'ObjectExpression',
22314
properties: [{
22315
type: 'Property',
22316
key: {
22317
type: 'Identifier',
22318
name: 'i',
22319
range: [28, 29],
22320
loc: {
22321
start: { line: 1, column: 28 },
22322
end: { line: 1, column: 29 }
22323
}
22324
},
22325
value: {
22326
type: 'FunctionExpression',
22327
id: null,
22328
params: [{
22329
type: 'Identifier',
22330
name: 'x',
22331
range: [30, 31],
22332
loc: {
22333
start: { line: 1, column: 30 },
22334
end: { line: 1, column: 31 }
22335
}
22336
}],
22337
defaults: [],
22338
body: {
22339
type: 'BlockStatement',
22340
body: [],
22341
range: [33, 35],
22342
loc: {
22343
start: { line: 1, column: 33 },
22344
end: { line: 1, column: 35 }
22345
}
22346
},
22347
rest: null,
22348
generator: false,
22349
expression: false,
22350
range: [33, 35],
22351
loc: {
22352
start: { line: 1, column: 33 },
22353
end: { line: 1, column: 35 }
22354
}
22355
},
22356
kind: 'set',
22357
method: false,
22358
shorthand: false,
22359
computed: false,
22360
range: [24, 35],
22361
loc: {
22362
start: { line: 1, column: 24 },
22363
end: { line: 1, column: 35 }
22364
}
22365
}, {
22366
type: 'Property',
22367
key: {
22368
type: 'Identifier',
22369
name: 'i',
22370
range: [37, 38],
22371
loc: {
22372
start: { line: 1, column: 37 },
22373
end: { line: 1, column: 38 }
22374
}
22375
},
22376
value: {
22377
type: 'Literal',
22378
value: 42,
22379
raw: '42',
22380
range: [40, 42],
22381
loc: {
22382
start: { line: 1, column: 40 },
22383
end: { line: 1, column: 42 }
22384
}
22385
},
22386
kind: 'init',
22387
method: false,
22388
shorthand: false,
22389
computed: false,
22390
range: [37, 42],
22391
loc: {
22392
start: { line: 1, column: 37 },
22393
end: { line: 1, column: 42 }
22394
}
22395
}],
22396
range: [22, 44],
22397
loc: {
22398
start: { line: 1, column: 22 },
22399
end: { line: 1, column: 44 }
22400
}
22401
},
22402
range: [18, 44],
22403
loc: {
22404
start: { line: 1, column: 18 },
22405
end: { line: 1, column: 44 }
22406
}
22407
}],
22408
kind: 'var',
22409
range: [14, 44],
22410
loc: {
22411
start: { line: 1, column: 14 },
22412
end: { line: 1, column: 44 }
22413
}
22414
}],
22415
range: [0, 44],
22416
loc: {
22417
start: { line: 1, column: 0 },
22418
end: { line: 1, column: 44 }
22419
},
22420
errors: [{
22421
index: 42,
22422
lineNumber: 1,
22423
column: 43,
22424
message: 'Error: Line 1: Object literal may not have data and accessor property with the same name'
22425
}]
22426
22427
22428
}
22429
22430
22431
},
22432
};
22433
22434