From 8558505b65d388cbe58c75d51f7b3bd7fe5e1f98 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 21 Jan 2015 22:40:26 +1100 Subject: [PATCH] merge comprehension transformers --- ...comprehension.js => es7-comprehensions.js} | 24 +++++++++++++------ .../es7-generator-comprehension.js | 20 ---------------- 2 files changed, 17 insertions(+), 27 deletions(-) rename lib/6to5/transformation/transformers/{es7-array-comprehension.js => es7-comprehensions.js} (73%) delete mode 100644 lib/6to5/transformation/transformers/es7-generator-comprehension.js diff --git a/lib/6to5/transformation/transformers/es7-array-comprehension.js b/lib/6to5/transformation/transformers/es7-comprehensions.js similarity index 73% rename from lib/6to5/transformation/transformers/es7-array-comprehension.js rename to lib/6to5/transformation/transformers/es7-comprehensions.js index 46b537f5f9..0dd9661dfd 100644 --- a/lib/6to5/transformation/transformers/es7-array-comprehension.js +++ b/lib/6to5/transformation/transformers/es7-comprehensions.js @@ -7,7 +7,23 @@ var t = require("../../types"); exports.experimental = true; -var build = function (node, parent, scope, context, file) { +exports.ComprehensionExpression = function (node) { + if (!node.generator) return; + + var body = []; + var container = t.functionExpression(null, [], t.blockStatement(body), true); + container._aliasFunction = true; + + body.push(buildComprehension(node, function () { + return t.expressionStatement(t.yieldExpression(node.body)); + })); + + return t.callExpression(container, []); +}; + +exports.ComprehensionExpression = function (node, parent, scope, context, file) { + if (node.generator) return; + var uid = scope.generateUidBasedOnNode(parent, file); var container = util.template("array-comprehension-container", { @@ -35,9 +51,3 @@ var build = function (node, parent, scope, context, file) { return container; }; - -exports.ComprehensionExpression = function (node, parent, scope, context, file) { - if (node.generator) return; - - return build(node, parent, scope, context, file); -}; diff --git a/lib/6to5/transformation/transformers/es7-generator-comprehension.js b/lib/6to5/transformation/transformers/es7-generator-comprehension.js deleted file mode 100644 index cd229e5eb3..0000000000 --- a/lib/6to5/transformation/transformers/es7-generator-comprehension.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -var buildComprehension = require("../helpers/build-comprehension"); -var t = require("../../types"); - -exports.experimental = true; - -exports.ComprehensionExpression = function (node) { - if (!node.generator) return; - - var body = []; - var container = t.functionExpression(null, [], t.blockStatement(body), true); - container._aliasFunction = true; - - body.push(buildComprehension(node, function () { - return t.expressionStatement(t.yieldExpression(node.body)); - })); - - return t.callExpression(container, []); -};