use t.buildMatchMemberExpression in selfContained transformer

This commit is contained in:
Sebastian McKenzie 2015-02-14 19:07:46 +11:00
parent 3649fad485
commit 1adc9bfc70

View File

@ -1,10 +1,12 @@
"use strict"; "use strict";
var includes = require("lodash/collection/includes");
var util = require("../../../util"); var util = require("../../../util");
var core = require("core-js/library"); var core = require("core-js/library");
var t = require("../../../types");
var has = require("lodash/object/has"); var has = require("lodash/object/has");
var includes = require("lodash/collection/includes"); var t = require("../../../types");
var isSymboliterator = t.buildMatchMemberExpression("Symbol.iterator");
var coreHas = function (node) { var coreHas = function (node) {
return node.name !== "_" && has(core, node.name); return node.name !== "_" && has(core, node.name);
@ -47,8 +49,7 @@ var astVisitor = {
if (!callee.computed) return false; if (!callee.computed) return false;
prop = callee.property; prop = callee.property;
if (!t.isIdentifier(prop.object, { name: "Symbol" })) return false; if (!isSymboliterator(prop)) return false;
if (!t.isIdentifier(prop.property, { name: "iterator" })) return false;
return util.template("corejs-iterator", { return util.template("corejs-iterator", {
CORE_ID: file.get("coreIdentifier"), CORE_ID: file.get("coreIdentifier"),
@ -60,9 +61,7 @@ var astVisitor = {
if (node.operator !== "in") return; if (node.operator !== "in") return;
var left = node.left; var left = node.left;
if (!t.isMemberExpression(left)) return; if (!isSymboliterator(left)) return;
if (!t.isIdentifier(left.object, { name: "Symbol" })) return;
if (!t.isIdentifier(left.property, { name: "iterator" })) return;
return util.template("corejs-is-iterator", { return util.template("corejs-is-iterator", {
CORE_ID: file.get("coreIdentifier"), CORE_ID: file.get("coreIdentifier"),