forked from babel/babel
/
exec.js
56 lines (43 loc) 路 1.07 KB
/
exec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var log = [];
function push(x) { log.push(x); return x; }
function logDecoratorRun(a, b, c) {
push(a);
return function (el, { addInitializer }) {
push(b);
addInitializer(function () { push(c); });
return el;
};
}
@logDecoratorRun(0, 35, 45)
@logDecoratorRun(1, 34, 44)
class A {
@logDecoratorRun(2, 27, 47)
@logDecoratorRun(3, 26, 46)
a() {};
@logDecoratorRun(4, 19, 37)
@logDecoratorRun(5, 18, 36)
static b() {};
@logDecoratorRun(6, 21, 39)
@logDecoratorRun(7, 20, 38)
static #c() {};
@logDecoratorRun(8, 29, 49)
@logDecoratorRun(9, 28, 48)
#d() {};
@logDecoratorRun(10, 31, 51)
@logDecoratorRun(11, 30, 50)
accessor e;
@logDecoratorRun(12, 23, 41)
@logDecoratorRun(13, 22, 40)
static accessor f;
@logDecoratorRun(14, 25, 43)
@logDecoratorRun(15, 24, 42)
static accessor #g;
@logDecoratorRun(16, 33, 53)
@logDecoratorRun(17, 32, 52)
accessor #h;
}
var nums = Array.from({ length: 46 }, (_, i) => i);
expect(log).toEqual(nums);
new A();
var nums = Array.from({ length: 54 }, (_, i) => i);
expect(log).toEqual(nums);