fix redefined variables

This commit is contained in:
Sebastian McKenzie 2015-01-02 00:45:01 +11:00
parent 78d2c4fa8d
commit edd5a3878a

View File

@ -3,8 +3,11 @@ var t = require("../../types");
exports.ObjectExpression = function (node, parent, file) { exports.ObjectExpression = function (node, parent, file) {
var hasComputed = false; var hasComputed = false;
var prop;
var key;
var i;
for (var i in node.properties) { for (i in node.properties) {
hasComputed = t.isProperty(node.properties[i], { computed: true }); hasComputed = t.isProperty(node.properties[i], { computed: true });
if (hasComputed) break; if (hasComputed) break;
} }
@ -22,8 +25,8 @@ exports.ObjectExpression = function (node, parent, file) {
// normalise key // normalise key
for (i in props) { for (i in props) {
var prop = props[i]; prop = props[i];
var key = prop.key; key = prop.key;
if (!prop.computed && t.isIdentifier(key)) { if (!prop.computed && t.isIdentifier(key)) {
prop.key = t.literal(key.name); prop.key = t.literal(key.name);
@ -36,7 +39,7 @@ exports.ObjectExpression = function (node, parent, file) {
var broken = false; var broken = false;
for (i in props) { for (i in props) {
var prop = props[i]; prop = props[i];
if (prop.computed) { if (prop.computed) {
broken = true; broken = true;
@ -52,10 +55,10 @@ exports.ObjectExpression = function (node, parent, file) {
// otherwise use Object.defineProperty // otherwise use Object.defineProperty
for (i in props) { for (i in props) {
var prop = props[i]; prop = props[i];
if (!prop) continue; if (!prop) continue;
var key = prop.key; key = prop.key;
var bodyNode; var bodyNode;
if (prop.computed && t.isMemberExpression(key) && t.isIdentifier(key.object, { name: "Symbol" })) { if (prop.computed && t.isMemberExpression(key) && t.isIdentifier(key.object, { name: "Symbol" })) {