Skip to content

Commit 90a9884

Browse files
author
shenlibo
committed
Add support Class field declarations
1 parent 7a48a21 commit 90a9884

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

escodegen.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2161,6 +2161,26 @@
21612161
return join(result, fragment);
21622162
},
21632163

2164+
FieldDefinition: function(expr, precedence, flags) {
2165+
let result;
2166+
if (expr.static) {
2167+
result = [`static${space}`];
2168+
}
2169+
else {
2170+
result = [];
2171+
}
2172+
const fragment = [
2173+
this.generatePropertyKey(expr.key, expr.computed),
2174+
`${space}=${space}`,
2175+
this.generateExpression(expr.value, Precedence.Assignment, E_TTT)
2176+
];
2177+
return join(result, fragment);
2178+
},
2179+
2180+
PrivateName: function(expr, precedence, flags) {
2181+
return toSourceNodeWhenNeeded(`#${expr.name}`, expr);
2182+
},
2183+
21642184
Property: function (expr, precedence, flags) {
21652185
if (expr.kind === 'get' || expr.kind === 'set') {
21662186
return [
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class FieldDeclarations{
2+
a = 1
3+
b = function () {}
4+
}
5+
class PrivateFields{
6+
#a = 1
7+
#b = function () {}
8+
}
9+

0 commit comments

Comments
 (0)