Skip to content

Commit

Permalink
Add support Class field declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
shenlibo committed Jan 6, 2021
1 parent 2e4b6bf commit 3e49b49
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 6 deletions.
8 changes: 4 additions & 4 deletions escodegen.js
Original file line number Diff line number Diff line change
Expand Up @@ -2163,22 +2163,22 @@

FieldDefinition: function(expr, precedence, flags) {
var result;
if (expr.static) {
result = [`static${space}`];
if (expr['static']) {
result = ['static' + space];
}
else {
result = [];
}
var fragment = [
this.generatePropertyKey(expr.key, expr.computed),
`${space}=${space}`,
space + '=' +space,
this.generateExpression(expr.value, Precedence.Assignment, E_TTT)
];
return join(result, fragment);
},

PrivateName: function(expr, precedence, flags) {
return toSourceNodeWhenNeeded(`#${expr.name}`, expr);
return toSourceNodeWhenNeeded('#' + expr.name, expr);
},

Property: function (expr, precedence, flags) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class FieldDeclarations{
a = 1
}
class PrivateFields{
#a = 1
}

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
class FieldDeclarations{a=1}class PrivateFields{#a=1}
2 changes: 0 additions & 2 deletions test/compare-acorn-es2019/class-field-declarations.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
class FieldDeclarations{
a = 1
b = function () {}
}
class PrivateFields{
#a = 1
#b = function () {}
}

0 comments on commit 3e49b49

Please sign in to comment.