Skip to content

Commit 60529cb

Browse files
committed
Class static block support
1 parent 40cafb8 commit 60529cb

File tree

6 files changed

+32
-8
lines changed

6 files changed

+32
-8
lines changed

escodegen.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,6 +1506,13 @@
15061506
return result;
15071507
},
15081508

1509+
StaticBlock: function (stmt, flags) {
1510+
return [
1511+
'static' + space,
1512+
this.BlockStatement(stmt, flags)
1513+
];
1514+
},
1515+
15091516
ThrowStatement: function (stmt, flags) {
15101517
return [join(
15111518
'throw',

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"escodegen.js",
1111
"package.json"
1212
],
13-
"version": "2.2.2",
13+
"version": "2.3.0",
1414
"engines": {
1515
"node": ">=6.0"
1616
},
@@ -40,7 +40,7 @@
4040
"source-map": "~0.6.1"
4141
},
4242
"devDependencies": {
43-
"acorn": "^8.2.2",
43+
"acorn": "^8.7.0",
4444
"bluebird": "^3.4.7",
4545
"bower-registry-client": "^1.0.0",
4646
"chai": "^4.2.0",

test/compare-acorn-es2022/class-features.expected.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,18 @@ class C13 {
4444
}
4545
class C14 {
4646
#𩸽;
47+
}
48+
class C15 {
49+
static aaa;
50+
static {
51+
C15.aaa = 1;
52+
}
53+
}
54+
class C16 {
55+
static {
56+
C15.aaa = 1;
57+
}
58+
static {
59+
C15.bbb = 2;
60+
}
4761
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
class C1{aaa;}class C2{A;}class C3{'0';}class C4{100;}class C5{[0];}class C6{aaa=bbb;}class C7{aaa=()=>0;}class C8{static aaa;}class C9{static aaa=bbb;}class C10{static aaa=1;bbb=2;}class C11{get;set;static;async;}class C12{#aaa;#bbb=this.#aaa;}class C13{#A;}class C14{#𩸽;}
1+
class C1{aaa;}class C2{A;}class C3{'0';}class C4{100;}class C5{[0];}class C6{aaa=bbb;}class C7{aaa=()=>0;}class C8{static aaa;}class C9{static aaa=bbb;}class C10{static aaa=1;bbb=2;}class C11{get;set;static;async;}class C12{#aaa;#bbb=this.#aaa;}class C13{#A;}class C14{#𩸽;}class C15{static aaa;static{C15.aaa=1}}class C16{static{C15.aaa=1}static{C15.bbb=2}}

test/compare-acorn-es2022/class-features.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ class C11 { get; set; static; async }
1212

1313
class C12 { #aaa; #bbb = this.#aaa; }
1414
class C13 { #\u0041; }
15-
class C14 { #𩸽; }
15+
class C14 { #𩸽; }
16+
17+
class C15 { static aaa; static { C15.aaa = 1; } }
18+
class C16 { static { C15.aaa = 1; } static { C15.bbb = 2; } }

0 commit comments

Comments
 (0)