diff --git a/CHANGELOG.md b/CHANGELOG.md index e999f7c1ee..e8eed872d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ _Note: Gaps between patch versions are faulty, broken or test releases._ See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog. +## 5.6.19 + + * Removed do expressions. + ## 5.6.17 * **Bug Fix** diff --git a/src/acorn/src/expression.js b/src/acorn/src/expression.js index ba94cd5249..1c45840f95 100755 --- a/src/acorn/src/expression.js +++ b/src/acorn/src/expression.js @@ -281,20 +281,6 @@ pp.parseExprAtom = function(refShorthandDefaultPos) { case tt._yield: if (this.inGenerator) this.unexpected() - case tt._do: - if (this.options.features["es7.doExpressions"]) { - let node = this.startNode() - this.next() - var oldInFunction = this.inFunction - var oldLabels = this.labels - this.labels = [] - this.inFunction = false - node.body = this.parseBlock() - this.inFunction = oldInFunction - this.labels = oldLabels - return this.finishNode(node, "DoExpression") - } - case tt.name: let start = this.markPosition() node = this.startNode() diff --git a/src/babel/transformation/transformers/es7/do-expressions.js b/src/babel/transformation/transformers/es7/do-expressions.js deleted file mode 100644 index 823389ae0e..0000000000 --- a/src/babel/transformation/transformers/es7/do-expressions.js +++ /dev/null @@ -1,26 +0,0 @@ -import * as t from "../../../types"; - -export var metadata = { - optional: true, - stage: 0 -}; - -/** - * [Please add a description.] - */ - -export var visitor = { - - /** - * [Please add a description.] - */ - - DoExpression(node) { - var body = node.body.body; - if (body.length) { - return body; - } else { - return t.identifier("undefined"); - } - } -}; diff --git a/src/babel/transformation/transformers/index.js b/src/babel/transformation/transformers/index.js index 9dacb52d1e..6b0bd0d2d0 100644 --- a/src/babel/transformation/transformers/index.js +++ b/src/babel/transformation/transformers/index.js @@ -48,7 +48,6 @@ export default { "es6.constants": require("./es6/constants"), "es7.exportExtensions": require("./es7/export-extensions"), "spec.protoToAssign": require("babel-plugin-proto-to-assign"), - "es7.doExpressions": require("./es7/do-expressions"), "es6.spec.symbols": require("./es6/spec.symbols"), "es7.functionBind": require("./es7/function-bind"), "spec.undefinedToVoid": require("babel-plugin-undefined-to-void"), diff --git a/src/babel/types/alias-keys.json b/src/babel/types/alias-keys.json index 7c1d27be6d..242d2cf1c1 100644 --- a/src/babel/types/alias-keys.json +++ b/src/babel/types/alias-keys.json @@ -64,7 +64,6 @@ "CallExpression": ["Expression"], "ComprehensionExpression": ["Expression", "Scopable"], "ConditionalExpression": ["Expression"], - "DoExpression": ["Expression"], "Identifier": ["Expression"], "Literal": ["Expression", "Pure"], "MemberExpression": ["Expression"], diff --git a/src/babel/types/visitor-keys.json b/src/babel/types/visitor-keys.json index 8d99ae7918..596367ee3a 100644 --- a/src/babel/types/visitor-keys.json +++ b/src/babel/types/visitor-keys.json @@ -21,7 +21,6 @@ "Decorator": ["expression"], "DebuggerStatement": [], "DoWhileStatement": ["body", "test"], - "DoExpression": ["body"], "EmptyStatement": [], "ExpressionStatement": ["expression"], "File": ["program"], diff --git a/test/core/fixtures/transformation/es7.do-expressions/do-while.js b/test/core/fixtures/transformation/es7.do-expressions/do-while.js deleted file mode 100644 index e53fac45bb..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/do-while.js +++ /dev/null @@ -1,5 +0,0 @@ -assert.equal(do { - var i = 5; - do { i--; } while(i > 3); - i; -}, 3); diff --git a/test/core/fixtures/transformation/es7.do-expressions/empty.js b/test/core/fixtures/transformation/es7.do-expressions/empty.js deleted file mode 100644 index 906776c43b..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/empty.js +++ /dev/null @@ -1 +0,0 @@ -assert.equal(do {}, undefined); diff --git a/test/core/fixtures/transformation/es7.do-expressions/for-in.js b/test/core/fixtures/transformation/es7.do-expressions/for-in.js deleted file mode 100644 index 9945600d55..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/for-in.js +++ /dev/null @@ -1,6 +0,0 @@ -assert.equal(do { - var obj = { foo: "bar", bar: "foo" }; - for (var key in obj) { - obj[key]; - } -}, "foo"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/for.js b/test/core/fixtures/transformation/es7.do-expressions/for.js deleted file mode 100644 index 2dd68d55fe..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/for.js +++ /dev/null @@ -1,5 +0,0 @@ -assert.equal(do { - for (var i = 0; i < 5; i++) { - i; - } -}, 4); diff --git a/test/core/fixtures/transformation/es7.do-expressions/if-else-if.js b/test/core/fixtures/transformation/es7.do-expressions/if-else-if.js deleted file mode 100644 index ce324555ac..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/if-else-if.js +++ /dev/null @@ -1,7 +0,0 @@ -assert.equal(do { - if (false) { - "foo"; - } else if (true) { - "bar"; - } -}, "bar"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/if-else.js b/test/core/fixtures/transformation/es7.do-expressions/if-else.js deleted file mode 100644 index 7f29ff878a..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/if-else.js +++ /dev/null @@ -1,7 +0,0 @@ -assert.equal(do { - if (false) { - "foo"; - } else { - "bar"; - } -}, "bar"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/if.js b/test/core/fixtures/transformation/es7.do-expressions/if.js deleted file mode 100644 index 1db4e45884..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/if.js +++ /dev/null @@ -1,5 +0,0 @@ -assert.equal(do { - if (true) { - "bar"; - } -}, "bar"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/options.json b/test/core/fixtures/transformation/es7.do-expressions/options.json deleted file mode 100644 index 560a4cc08d..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "optional": ["es7.doExpressions"] -} diff --git a/test/core/fixtures/transformation/es7.do-expressions/single-expression.js b/test/core/fixtures/transformation/es7.do-expressions/single-expression.js deleted file mode 100644 index c528da6f0f..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/single-expression.js +++ /dev/null @@ -1,3 +0,0 @@ -assert.equal(do { - "foo"; -}, "foo"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-end.js b/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-end.js deleted file mode 100644 index 8001c7af88..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-end.js +++ /dev/null @@ -1,3 +0,0 @@ -assert.equal(do { - var bar = "foo"; -}, undefined); diff --git a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-start.js b/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-start.js deleted file mode 100644 index 2dad90a410..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-start.js +++ /dev/null @@ -1,4 +0,0 @@ -assert.equal(do { - var bar = "foo"; - bar; -}, "foo"); diff --git a/test/core/fixtures/transformation/es7.do-expressions/while.js b/test/core/fixtures/transformation/es7.do-expressions/while.js deleted file mode 100644 index f902109ca4..0000000000 --- a/test/core/fixtures/transformation/es7.do-expressions/while.js +++ /dev/null @@ -1,5 +0,0 @@ -assert.equal(do { - var i = 5; - while (i > 3) i--; - i; -}, 3);