Skip to content

Commit 9fff6ed

Browse files
committed
Support class field declarations.
Fixes: estools#443
1 parent 899cfdf commit 9fff6ed

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

escodegen.js

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

2164+
PrivateIdentifier: function(expr, precedence, flags) {
2165+
return toSourceNodeWhenNeeded('#' + expr.name, expr);
2166+
},
2167+
21642168
Property: function (expr, precedence, flags) {
21652169
if (expr.kind === 'get' || expr.kind === 'set') {
21662170
return [
@@ -2192,6 +2196,22 @@
21922196
];
21932197
},
21942198

2199+
PropertyDefinition: function(expr, precedence, flags) {
2200+
var keywords = [];
2201+
if (expr.static) {
2202+
keywords.push('static');
2203+
}
2204+
2205+
return join(keywords, [
2206+
this.generatePropertyKey(expr.key, expr.computed),
2207+
space,
2208+
'=',
2209+
space,
2210+
this.generateExpression(expr.value, Precedence.Assignment, E_TTT),
2211+
this.semicolon(flags),
2212+
]);
2213+
},
2214+
21952215
ObjectExpression: function (expr, precedence, flags) {
21962216
var multiline, result, fragment, that = this;
21972217

@@ -2513,6 +2533,9 @@
25132533
return generateVerbatim(expr, precedence);
25142534
}
25152535

2536+
if (!(type in this)) {
2537+
throw new Error('Unknown node type: ' + type);
2538+
}
25162539
result = this[type](expr, precedence, flags);
25172540

25182541

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"source-map": "~0.6.1"
3939
},
4040
"devDependencies": {
41-
"acorn": "^8.0.4",
41+
"acorn": "^8.2.0",
4242
"bluebird": "^3.4.7",
4343
"bower-registry-client": "^1.0.0",
4444
"chai": "^4.2.0",

0 commit comments

Comments
 (0)