rename fast mode to loose #465

This commit is contained in:
Sebastian McKenzie
2015-01-14 00:24:34 +11:00
parent f25ed0b5de
commit 8afec8b12a
30 changed files with 25 additions and 25 deletions

View File

@@ -63,7 +63,7 @@ File.normaliseOptions = function (opts) {
filename: "unknown",
modules: "common",
runtime: false,
fast: [],
loose: [],
code: true,
ast: true
});
@@ -74,7 +74,7 @@ File.normaliseOptions = function (opts) {
opts.blacklist = util.arrayify(opts.blacklist);
opts.whitelist = util.arrayify(opts.whitelist);
opts.optional = util.arrayify(opts.optional);
opts.fast = util.arrayify(opts.fast);
opts.loose = util.arrayify(opts.loose);
// todo: remove in 3.0.0
_.each({
@@ -83,7 +83,7 @@ File.normaliseOptions = function (opts) {
}, function (newTransformer, oldTransformer) {
if (_.contains(opts.optional, oldTransformer)) {
_.pull(opts.optional, oldTransformer);
opts.fast.push(newTransformer);
opts.loose.push(newTransformer);
}
});
@@ -115,13 +115,13 @@ File.normaliseOptions = function (opts) {
transform._ensureTransformerNames("blacklist", opts.blacklist);
transform._ensureTransformerNames("whitelist", opts.whitelist);
transform._ensureTransformerNames("optional", opts.optional);
transform._ensureTransformerNames("fast", opts.fast);
transform._ensureTransformerNames("loose", opts.loose);
return opts;
};
File.prototype.isFast = function (key) {
return _.contains(this.opts.fast, key);
File.prototype.isLoose = function (key) {
return _.contains(this.opts.loose, key);
};
File.prototype.getTransformers = function () {

View File

@@ -33,7 +33,7 @@ function Class(node, file, scope, isStatement) {
this.hasConstructor = false;
this.className = node.id || file.generateUidIdentifier("class", scope);
this.superName = node.superClass;
this.isFast = file.isFast("classes");
this.isLoose = file.isLoose("classes");
}
/**
@@ -138,7 +138,7 @@ Class.prototype.buildBody = function () {
// we have no constructor, we have a super, and the super doesn't appear to be falsy
if (!this.hasConstructor && superName && !t.isFalsyExpression(superName)) {
var defaultConstructorTemplate = "class-super-constructor-call";
if (this.isFast) defaultConstructorTemplate += "-fast";
if (this.isLoose) defaultConstructorTemplate += "-loose";
constructor.body.body.push(util.template(defaultConstructorTemplate, {
CLASS_NAME: className,
@@ -188,8 +188,8 @@ Class.prototype.pushMethod = function (node) {
}
if (kind === "") {
if (this.isFast) {
// use assignments instead of define properties for fast classes
if (this.isLoose) {
// use assignments instead of define properties for loose classes
var className = this.className;
if (!node.static) className = t.memberExpression(className, t.identifier("prototype"));
@@ -246,7 +246,7 @@ Class.prototype.superProperty = function (property, isStatic, isComputed, thisEx
* @returns {Object}
*/
Class.prototype.fastSuperProperty = function (methodNode, id, parent) {
Class.prototype.looseSuperProperty = function (methodNode, id, parent) {
var methodName = methodNode.key;
var superName = this.superName || t.identifier("Function");
@@ -318,15 +318,15 @@ Class.prototype.replaceInstanceSuperReferences = function (methodNode) {
};
var callback = specHandle;
if (self.isFast) callback = fastHandle;
if (self.isLoose) callback = looseHandle;
return callback(getThisReference, node, parent);
}
});
}
function fastHandle(getThisReference, node, parent) {
function looseHandle(getThisReference, node, parent) {
if (t.isIdentifier(node, { name: "super" })) {
return self.fastSuperProperty(methodNode, node, parent);
return self.looseSuperProperty(methodNode, node, parent);
} else if (t.isCallExpression(node)) {
var callee = node.callee;
if (!t.isMemberExpression(callee)) return;

View File

@@ -3,7 +3,7 @@ var t = require("../../types");
exports.ForOfStatement = function (node, parent, file, scope) {
var callback = spec;
if (file.isFast("forOf")) callback = fast;
if (file.isLoose("forOf")) callback = loose;
var build = callback(node, parent, file, scope);
var declar = build.declar;
@@ -31,7 +31,7 @@ exports.ForOfStatement = function (node, parent, file, scope) {
return loop;
};
var fast = function (node, parent, file, scope) {
var loose = function (node, parent, file, scope) {
var left = node.left;
var declar, id;
@@ -48,7 +48,7 @@ var fast = function (node, parent, file, scope) {
throw file.errorWithNode(left, "Unknown node type " + left.type + " in ForOfStatement");
}
var loop = util.template("for-of-fast", {
var loop = util.template("for-of-loose", {
LOOP_OBJECT: file.generateUidIdentifier("iterator", scope),
IS_ARRAY: file.generateUidIdentifier("isArray", scope),
OBJECT: node.right,