diff --git a/src/parser/statement.js b/src/parser/statement.js index ab7ae36f1c..1d5f112ab9 100644 --- a/src/parser/statement.js +++ b/src/parser/statement.js @@ -595,7 +595,7 @@ pp.parseClass = function (node, isStatement, optionalId) { }; pp.isClassProperty = function () { - return this.match(tt.eq) || this.match(tt.semi) || this.canInsertSemicolon(); + return this.match(tt.eq) || this.isLineTerminator(); }; pp.parseClassBody = function (node) { @@ -747,9 +747,7 @@ pp.parseClassProperty = function (node) { } else { node.value = null; } - if (!this.eat(tt.semi)) { - this.raise(this.state.start, "A semicolon is required after a class property"); - } + this.semicolon(); return this.finishNode(node, "ClassProperty"); }; diff --git a/test/fixtures/experimental/class-properties/semicolons-required-with-value/actual.js b/test/fixtures/experimental/class-properties/semicolons-required-with-value/actual.js deleted file mode 100644 index 51ecdbb104..0000000000 --- a/test/fixtures/experimental/class-properties/semicolons-required-with-value/actual.js +++ /dev/null @@ -1,3 +0,0 @@ -class A { - asdf = 1 -} diff --git a/test/fixtures/experimental/class-properties/semicolons-required-with-value/options.json b/test/fixtures/experimental/class-properties/semicolons-required-with-value/options.json deleted file mode 100644 index 4bf955cfec..0000000000 --- a/test/fixtures/experimental/class-properties/semicolons-required-with-value/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "throws": "A semicolon is required after a class property (3:0)", - "plugins": ["classProperties"] -} diff --git a/test/fixtures/experimental/class-properties/semicolons-required-without-value/actual.js b/test/fixtures/experimental/class-properties/semicolons-required-without-value/actual.js deleted file mode 100644 index caa1ecf226..0000000000 --- a/test/fixtures/experimental/class-properties/semicolons-required-without-value/actual.js +++ /dev/null @@ -1,3 +0,0 @@ -class A { - asdf -} diff --git a/test/fixtures/experimental/class-properties/semicolons-required-without-value/options.json b/test/fixtures/experimental/class-properties/semicolons-required-without-value/options.json deleted file mode 100644 index 4bf955cfec..0000000000 --- a/test/fixtures/experimental/class-properties/semicolons-required-without-value/options.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "throws": "A semicolon is required after a class property (3:0)", - "plugins": ["classProperties"] -}