Merge branch 'external-regenerator-runtime' into scoped-es6-runtime

This commit is contained in:
Aluísio Augusto Silva Gonçalves
2015-01-18 20:02:48 -02:00
5 changed files with 36 additions and 2 deletions

View File

@@ -80,13 +80,12 @@ _.each({
constants: require("./transformers/es6-constants"),
letScoping: require("./transformers/es6-let-scoping"),
_blockHoist: require("./transformers/_block-hoist"),
generators: require("./transformers/es6-generators"),
restParameters: require("./transformers/es6-rest-parameters"),
protoToAssign: require("./transformers/optional-proto-to-assign"),
_blockHoist: require("./transformers/_block-hoist"),
_declarations: require("./transformers/_declarations"),
// wrap up
@@ -97,6 +96,7 @@ _.each({
typeofSymbol: require("./transformers/optional-typeof-symbol"),
externalRuntime: require("./transformers/optional-external-runtime"),
coreAliasing: require("./transformers/optional-core-aliasing"),
externalRegenerator: require("./transformers/optional-external-regenerator-runtime"),
undefinedToVoid: require("./transformers/optional-undefined-to-void"),
// spec

View File

@@ -0,0 +1,16 @@
var t = require("../../types");
exports.optional = true;
exports.ast = {
enter: function (ast, file) {
file._regeneratorId = file.addImport("regenerator/runtime-module", "regeneratorRuntime");
}
};
exports.MemberExpression = function (node, parent, scope, context, file) {
var obj = node.object;
var prop = node.property;
if (!t.isReferenced(node, parent) || !t.isReferenced(obj, node)) return;
if (obj.name === "regeneratorRuntime") return t.memberExpression(file._regeneratorId, prop);
};