enable spec.functionName by default
This commit is contained in:
parent
8e06db8f7d
commit
002be9a05c
@ -1,53 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var util = require("../../util");
|
||||
var t = require("../../types");
|
||||
|
||||
var visitor = {
|
||||
enter: function (node, parent, scope, state) {
|
||||
// check if this node is an identifier that matches the same as our function id
|
||||
if (!t.isIdentifier(node, { name: state.id })) return;
|
||||
|
||||
// check if this node is the one referenced
|
||||
if (!t.isReferenced(node, parent)) return;
|
||||
|
||||
// check that we don't have a local variable declared as that removes the need
|
||||
// for the wrapper
|
||||
var localDeclar = scope.getBindingIdentifier(state.id);
|
||||
if (localDeclar !== state.outerDeclar) return;
|
||||
|
||||
state.selfReference = true;
|
||||
this.stop();
|
||||
}
|
||||
};
|
||||
|
||||
exports.property = function (node, file, scope) {
|
||||
var key = t.toComputedKey(node, node.key);
|
||||
if (!t.isLiteral(key)) return node; // we can't set a function id with this
|
||||
|
||||
var id = t.toIdentifier(key.value);
|
||||
key = t.identifier(id);
|
||||
|
||||
var state = {
|
||||
id: id,
|
||||
selfReference: false,
|
||||
outerDeclar: scope.getBindingIdentifier(id),
|
||||
};
|
||||
|
||||
scope.traverse(node, visitor, state);
|
||||
|
||||
var method = node.value;
|
||||
|
||||
if (state.selfReference) {
|
||||
var templateName = "property-method-assignment-wrapper";
|
||||
if (method.generator) templateName += "-generator";
|
||||
node.value = util.template(templateName, {
|
||||
FUNCTION: method,
|
||||
FUNCTION_ID: key,
|
||||
FUNCTION_KEY: scope.generateUidIdentifier(id),
|
||||
WRAPPER_KEY: scope.generateUidIdentifier(id + "Wrapper")
|
||||
});
|
||||
} else {
|
||||
method.id = key;
|
||||
}
|
||||
};
|
||||
@ -1,7 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var ReplaceSupers = require("../../helpers/replace-supers");
|
||||
var nameMethod = require("../../helpers/name-method");
|
||||
var defineMap = require("../../helpers/define-map");
|
||||
var messages = require("../../../messages");
|
||||
var util = require("../../../util");
|
||||
@ -217,8 +216,6 @@ ClassTransformer.prototype.pushMethod = function (node) {
|
||||
var kind = node.kind;
|
||||
|
||||
if (kind === "") {
|
||||
nameMethod.property(node, this.file, this.scope);
|
||||
|
||||
if (this.isLoose) {
|
||||
// use assignments instead of define properties for loose classes
|
||||
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var nameMethod = require("../../helpers/name-method");
|
||||
var t = require("../../../types");
|
||||
var clone = require("lodash/lang/clone");
|
||||
var clone = require("lodash/lang/clone");
|
||||
var t = require("../../../types");
|
||||
|
||||
exports.check = function (node) {
|
||||
return t.isProperty(node) && (node.method || node.shorthand);
|
||||
@ -11,7 +10,6 @@ exports.check = function (node) {
|
||||
exports.Property = function (node, parent, scope, file) {
|
||||
if (node.method) {
|
||||
node.method = false;
|
||||
nameMethod.property(node, file, scope);
|
||||
}
|
||||
|
||||
if (node.shorthand) {
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
module.exports = {
|
||||
useStrict: require("./other/use-strict"),
|
||||
|
||||
// this goes at the start so we only transform the original user code
|
||||
"spec.functionName": require("./spec/function-name"),
|
||||
|
||||
"validation.undeclaredVariableCheck": require("./validation/undeclared-variable-check"),
|
||||
"validation.noForInOfAssignment": require("./validation/no-for-in-of-assignment"),
|
||||
"validation.setters": require("./validation/setters"),
|
||||
@ -91,7 +94,6 @@ module.exports = {
|
||||
|
||||
"spec.typeofSymbol": require("./spec/typeof-symbol"),
|
||||
"spec.undefinedToVoid": require("./spec/undefined-to-void"),
|
||||
"spec.functionName": require("./spec/function-name"),
|
||||
|
||||
_moduleFormatter: require("./internal/module-formatter"),
|
||||
|
||||
|
||||
@ -1,53 +1,54 @@
|
||||
"use strict";
|
||||
|
||||
var util = require("../../../util");
|
||||
var t = require("../../../types");
|
||||
|
||||
var propertyFunctionVisitor = {
|
||||
enter: function (node, parent, scope, state) {
|
||||
if (t.isReferencedIdentifier(node, parent, { name: state.name }) && scope.getBindingIdentifier(node.name) === state.binding) {
|
||||
return state.getOuter();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports.FunctionExpression = function (node, parent, scope, file) {
|
||||
if (node.id) return;
|
||||
var id;
|
||||
if (t.isProperty(parent)) {
|
||||
id = parent.key;
|
||||
} else if (t.isVariableDeclarator(parent)) {
|
||||
id = parent.id;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
var binding = scope.getBindingIdentifier(id.name);
|
||||
var outerId, selfGlobalId;
|
||||
scope.traverse(node, propertyFunctionVisitor, {
|
||||
name: id.name,
|
||||
binding: binding,
|
||||
|
||||
getOuter: function () {
|
||||
if (!binding) {
|
||||
return t.memberExpression(
|
||||
selfGlobalId || (selfGlobalId = file.addHelper("self-global")),
|
||||
id
|
||||
);
|
||||
}
|
||||
return t.callExpression(
|
||||
outerId || (outerId = scope.generateUidIdentifier("getOuter")),
|
||||
[]
|
||||
);
|
||||
}
|
||||
});
|
||||
node.id = id;
|
||||
if (outerId) {
|
||||
return util.template("named-func", {
|
||||
GET_OUTER_ID: outerId,
|
||||
ID: id,
|
||||
FUNCTION: node
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
exports.optional = true;
|
||||
"use strict";
|
||||
|
||||
var t = require("../../../types");
|
||||
var util = require("../../../util");
|
||||
|
||||
var propertyFunctionVisitor = {
|
||||
enter: function (node, parent, scope, state, file) {
|
||||
if (t.isReferencedIdentifier(node, parent, { name: state.name }) && scope.getBindingIdentifier(node.name) === state.binding) {
|
||||
return state.getOuter();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//exports.ArrowFunctionExpression =
|
||||
exports.FunctionExpression = function (node, parent, scope, file) {
|
||||
// has an `id` so we don't need to infer one
|
||||
if (node.id) return;
|
||||
|
||||
var id;
|
||||
if (t.isProperty(parent) && parent.kind === "init" && !parent.computed) {
|
||||
// { foo: function () {} };
|
||||
id = parent.key;
|
||||
} else if (t.isVariableDeclarator(parent)) {
|
||||
// var foo = function () {};
|
||||
id = parent.id;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
var binding = scope.getBindingIdentifier(id.name);
|
||||
var outerId, selfGlobalId;
|
||||
|
||||
scope.traverse(node, propertyFunctionVisitor, {
|
||||
name: id.name,
|
||||
binding: binding,
|
||||
|
||||
getOuter: function () {
|
||||
return t.callExpression(
|
||||
outerId || (outerId = scope.generateUidIdentifier("getOuter")),
|
||||
[]
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
node.id = id;
|
||||
|
||||
if (outerId) {
|
||||
return util.template("named-func", {
|
||||
GET_OUTER_ID: outerId,
|
||||
FUNCTION: node,
|
||||
ID: id
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@ -15,7 +15,7 @@ function two() {
|
||||
return _arguments;
|
||||
};
|
||||
|
||||
var another = function () {
|
||||
var another = function another() {
|
||||
var _arguments2 = arguments;
|
||||
var inner2 = function () {
|
||||
return _arguments2;
|
||||
@ -54,7 +54,7 @@ five({ arguments: ["foo"] });
|
||||
|
||||
function six(obj) {
|
||||
var fn = function () {
|
||||
var fn2 = function () {
|
||||
var fn2 = function fn2() {
|
||||
return arguments[0];
|
||||
};
|
||||
return fn2("foobar");
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
init: function () {
|
||||
init: function init() {
|
||||
var _this = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
MongoClient.connect(config.mongodb, function (err, db) {
|
||||
|
||||
@ -19,7 +19,7 @@ function unpackObject(_ref) {
|
||||
|
||||
console.log(unpackObject({ title: "title", author: "author" }));
|
||||
|
||||
var unpackArray = function (_ref, _ref3) {
|
||||
var unpackArray = function unpackArray(_ref, _ref3) {
|
||||
var _ref2 = _slicedToArray(_ref, 3);
|
||||
|
||||
var a = _ref2[0];
|
||||
|
||||
@ -7,7 +7,7 @@ define(["exports"], function (exports) {
|
||||
var foo = exports.foo = 1;
|
||||
var foo = exports.foo = 1;
|
||||
var bar = exports.bar = 2;
|
||||
var foo2 = exports.foo2 = function () {};
|
||||
var foo2 = exports.foo2 = function foo2() {};
|
||||
var foo3 = exports.foo3 = undefined;
|
||||
var foo4 = exports.foo4 = 2;
|
||||
var foo5 = exports.foo5 = undefined;
|
||||
@ -20,4 +20,4 @@ define(["exports"], function (exports) {
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -6,7 +6,7 @@ exports.foo7 = foo7;
|
||||
var foo = exports.foo = 1;
|
||||
var foo = exports.foo = 1;
|
||||
var bar = exports.bar = 2;
|
||||
var foo2 = exports.foo2 = function () {};
|
||||
var foo2 = exports.foo2 = function foo2() {};
|
||||
var foo3 = exports.foo3 = undefined;
|
||||
var foo4 = exports.foo4 = 2;
|
||||
var foo5 = exports.foo5 = undefined;
|
||||
@ -18,4 +18,4 @@ var foo8 = exports.foo8 = function foo8() {
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
});
|
||||
|
||||
@ -5,7 +5,7 @@ var _classCallCheck = function (instance, Constructor) { if (!(instance instance
|
||||
var foo = 1;
|
||||
var foo = 1,
|
||||
bar = 2;
|
||||
var foo2 = function () {};
|
||||
var foo2 = function foo2() {};
|
||||
var foo3 = undefined;
|
||||
var foo4 = 2;
|
||||
var foo5 = undefined;
|
||||
@ -13,4 +13,4 @@ var foo6 = 3;
|
||||
function foo7() {}
|
||||
var foo8 = function foo8() {
|
||||
_classCallCheck(this, foo8);
|
||||
};
|
||||
};
|
||||
|
||||
@ -11,7 +11,7 @@ System.register([], function (_export) {
|
||||
_classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
|
||||
|
||||
foo = _export("foo", 1);
|
||||
foo2 = _export("foo2", function () {});
|
||||
foo2 = _export("foo2", function foo2() {});
|
||||
foo3 = _export("foo3", undefined);
|
||||
foo4 = _export("foo4", 2);
|
||||
foo5 = _export("foo5", undefined);
|
||||
@ -22,4 +22,4 @@ System.register([], function (_export) {
|
||||
_export("foo3", foo3 = 5);
|
||||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
var foo = exports.foo = 1;
|
||||
var foo = exports.foo = 1;
|
||||
var bar = exports.bar = 2;
|
||||
var foo2 = exports.foo2 = function () {};
|
||||
var foo2 = exports.foo2 = function foo2() {};
|
||||
var foo3 = exports.foo3 = undefined;
|
||||
var foo4 = exports.foo4 = 2;
|
||||
var foo5 = exports.foo5 = undefined;
|
||||
@ -26,4 +26,4 @@
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var t = function (f) {
|
||||
var t = function t(f) {
|
||||
for (var _len = arguments.length, items = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
items[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var foo = function () {
|
||||
var foo = function foo() {
|
||||
for (var _len = arguments.length, _ref = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
_ref[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var t = function () {
|
||||
var t = function t() {
|
||||
for (var _len = arguments.length, items = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
items[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ var fn = (_obj$foo3 = obj[foo()], _obj$foo3.method.bind(_obj$foo3));
|
||||
return _val2.toFixed(_args2[0]);
|
||||
}));
|
||||
|
||||
var get = function () {
|
||||
var get = function get() {
|
||||
return 2;
|
||||
};
|
||||
[1.1234, 23.53245, 3].map((_args3 = [get()], function (_val3) {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
var foo = function () {
|
||||
var foo = function foo() {
|
||||
var _this = this;
|
||||
return function () {
|
||||
return React.createElement(_this, null);
|
||||
};
|
||||
};
|
||||
|
||||
var bar = function () {
|
||||
var bar = function bar() {
|
||||
var _this = this;
|
||||
return function () {
|
||||
return React.createElement(_this.foo, null);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
var Component;
|
||||
Component = React.createClass({
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
var Component;
|
||||
Component = React.createClass({
|
||||
displayName: "Component",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
export default React.createClass({
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
module.exports = React.createClass({
|
||||
displayName: "actual",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
var Whateva = React.createClass({
|
||||
displayName: "Whatever",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
var Whateva = React.createClass({
|
||||
displayName: "Whatever",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
exports = {
|
||||
Component: React.createClass({
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
exports = {
|
||||
Component: React.createClass({
|
||||
displayName: "Component",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
exports.Component = React.createClass({
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
exports.Component = React.createClass({
|
||||
displayName: "Component",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
var Component = React.createClass({
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
var Component = React.createClass({
|
||||
displayName: "Component",
|
||||
render: function () {
|
||||
render: function render() {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user