rename traverser to visitor

This commit is contained in:
Sebastian McKenzie
2015-01-22 00:28:20 +11:00
parent ac373a9e1c
commit ccdb480d44
17 changed files with 57 additions and 57 deletions

View File

@@ -4,7 +4,7 @@ var traverse = require("../../traverse");
var util = require("../../util");
var t = require("../../types");
var traverser = {
var visitor = {
enter: function (node, parent, scope, context, state) {
// check if this node is an identifier that matches the same as our function id
if (!t.isIdentifier(node, { name: state.id })) return;
@@ -35,7 +35,7 @@ exports.property = function (node, file, scope) {
outerDeclar: scope.get(id, true),
};
traverse(node, traverser, scope, state);
traverse(node, visitor, scope, state);
if (state.selfReference) {
// todo: support generators

View File

@@ -3,7 +3,7 @@
var traverse = require("../../traverse");
var t = require("../../types");
var traverser = {
var visitor = {
enter: function (node, parent, scope, context) {
if (t.isFunction(node)) context.skip();
@@ -17,7 +17,7 @@ module.exports = function (node, callId, scope) {
node.async = false;
node.generator = true;
traverse(node, traverser, scope);
traverse(node, visitor, scope);
var call = t.callExpression(callId, [node]);

View File

@@ -105,7 +105,7 @@ ReplaceSupers.prototype.replace = function () {
this.traverseLevel(this.methodNode.value, true);
};
var traverser = {
var visitor = {
enter: function (node, parent, scope, context, state) {
var topLevel = state.topLevel;
var self = state.self;
@@ -142,7 +142,7 @@ var traverser = {
ReplaceSupers.prototype.traverseLevel = function (node, topLevel) {
var state = { self: this, topLevel: topLevel };
traverse(node, traverser, this.scope, state);
traverse(node, visitor, this.scope, state);
};
/**

View File

@@ -18,7 +18,7 @@ function DefaultFormatter(file) {
//this.checkCollisions();
}
var exportsTraverser = {
var exportsVisitor = {
enter: function (node, parent, scope, context, localExports) {
var declar = node && node.declaration;
if (t.isExportDeclaration(node) && declar && t.isStatement(declar)) {
@@ -29,11 +29,11 @@ var exportsTraverser = {
DefaultFormatter.prototype.getLocalExports = function () {
var localExports = {};
traverse(this.file.ast, exportsTraverser, this.file.scope, localExports);
traverse(this.file.ast, exportsVisitor, this.file.scope, localExports);
return localExports;
};
var importsTraverser = {
var importsVisitor = {
enter: function (node, parent, scope, context, localImports) {
if (t.isImportDeclaration(node)) {
_.extend(localImports, t.getIds(node, true));
@@ -43,7 +43,7 @@ var importsTraverser = {
DefaultFormatter.prototype.getLocalImports = function () {
var localImports = {};
traverse(this.file.ast, importsTraverser, this.file.scope, localImports);
traverse(this.file.ast, importsVisitor, this.file.scope, localImports);
return localImports;
};
@@ -59,7 +59,7 @@ DefaultFormatter.prototype.checkLocalReference = function (node) {
}
};
var collissionsTraverser = {
var collissionsVisitor = {
enter: function (node, parent, scope, context, state) {
var self = state.self;
if (t.isAssignmentExpression(node)) {
@@ -79,7 +79,7 @@ var collissionsTraverser = {
DefaultFormatter.prototype.checkCollisions = function () {
// todo: all check export collissions
var state = { self: this };
traverse(this.file.ast, collissionsTraverser, null, state);
traverse(this.file.ast, collissionsVisitor, null, state);
};
DefaultFormatter.prototype.remapExportAssignment = function (node) {
@@ -100,7 +100,7 @@ DefaultFormatter.prototype.isLocalReference = function (node, scope) {
return t.isIdentifier(node) && localExports[name] && localExports[name] === scope.get(name, true);
};
var remapTraverser = {
var remapVisitor = {
enter: function (node, parent, scope, context, state) {
var self = state.self;
if (t.isUpdateExpression(node) && self.isLocalReference(node.argument, scope)) {
@@ -140,7 +140,7 @@ var remapTraverser = {
DefaultFormatter.prototype.remapAssignments = function () {
var state = { self: this };
traverse(this.file.ast, remapTraverser, this.file.scope, state);
traverse(this.file.ast, remapVisitor, this.file.scope, state);
};
DefaultFormatter.prototype.getModuleName = function () {

View File

@@ -8,7 +8,7 @@ var util = require("../../util");
var t = require("../../types");
var _ = require("lodash");
var traverser = {
var visitor = {
enter: function (node, parent, scope, context, state) {
if (t.isExportDeclaration(node) && !node.default) state.hasNonDefaultExports = true;
}
@@ -18,7 +18,7 @@ function CommonJSFormatter(file) {
DefaultFormatter.apply(this, arguments);
var state = { hasNonDefaultExports: false };
traverse(file.ast, traverser, file.scope, state);
traverse(file.ast, visitor, file.scope, state);
this.hasNonDefaultExports = state.hasNonDefaultExports;
}

View File

@@ -63,7 +63,7 @@ SystemFormatter.prototype.importSpecifier = function (specifier, node, nodes) {
this._addImportSource(_.last(nodes), node);
};
var runnerSettersTraverser = {
var runnerSettersVisitor = {
enter: function (node, parent, scope, context, state) {
if (node._importSource === state.source) {
if (t.isVariableDeclaration(node)) {
@@ -92,13 +92,13 @@ SystemFormatter.prototype.buildRunnerSetters = function (block, hoistDeclarators
hoistDeclarators: hoistDeclarators
};
traverse(block, runnerSettersTraverser, scope, state);
traverse(block, runnerSettersVisitor, scope, state);
return t.functionExpression(null, [uid], t.blockStatement(state.nodes));
}));
};
var hoistVariablesTraverser = {
var hoistVariablesVisitor = {
enter: function (node, parent, scope, context, hoistDeclarators) {
if (t.isFunction(node)) {
// nothing inside is accessible
@@ -139,7 +139,7 @@ var hoistVariablesTraverser = {
}
};
var hoistFunctionsTraverser = {
var hoistFunctionsVisitor = {
enter: function (node, parent, scope, context, handlerBody) {
if (t.isFunction(node)) context.skip();
@@ -173,7 +173,7 @@ SystemFormatter.prototype.transform = function (ast) {
var returnStatement = handlerBody.pop();
// hoist up all variable declarations
traverse(block, hoistVariablesTraverser, this.file.scope, hoistDeclarators);
traverse(block, hoistVariablesVisitor, this.file.scope, hoistDeclarators);
if (hoistDeclarators.length) {
var hoistDeclar = t.variableDeclaration("var", hoistDeclarators);
@@ -182,7 +182,7 @@ SystemFormatter.prototype.transform = function (ast) {
}
// hoist up function declarations for circular references
traverse(block, hoistFunctionsTraverser, this.file.scope, handlerBody);
traverse(block, hoistFunctionsVisitor, this.file.scope, handlerBody);
handlerBody.push(returnStatement);

View File

@@ -58,7 +58,7 @@ Transformer.prototype.astRun = function (file, key) {
}
};
var transformTraverser = {
var transformVisitor = {
enter: function (node, parent, scope, context, state) {
var fns = state.transformer[node.type];
if (!fns) return;
@@ -76,7 +76,7 @@ Transformer.prototype.transform = function (file) {
this.astRun(file, "before");
var state = { file: file, transformer: this.transformer };
traverse(file.ast, transformTraverser, file.scope, state);
traverse(file.ast, transformVisitor, file.scope, state);
this.astRun(file, "after");
};

View File

@@ -3,7 +3,7 @@
var traverse = require("../../traverse");
var t = require("../../types");
var functionChildrenTraverser = {
var functionChildrenVisitor = {
enter: function (node, parent, scope, context, state) {
if (t.isFunction(node) && !node._aliasFunction) {
return context.skip();
@@ -25,7 +25,7 @@ var functionChildrenTraverser = {
}
};
var functionTraverser = {
var functionVisitor = {
enter: function (node, parent, scope, context, state) {
if (!node._aliasFunction) {
if (t.isFunction(node)) {
@@ -37,7 +37,7 @@ var functionTraverser = {
}
// traverse all child nodes of this function and find `arguments` and `this`
traverse(node, functionChildrenTraverser, scope, state);
traverse(node, functionChildrenVisitor, scope, state);
return context.skip();
}
@@ -58,7 +58,7 @@ var go = function (getBody, node, scope) {
// traverse the function and find all alias functions so we can alias
// `arguments` and `this` if necessary
traverse(node, functionTraverser, scope, state);
traverse(node, functionVisitor, scope, state);
var body;

View File

@@ -128,13 +128,13 @@ function replace(node, parent, scope, context, remaps) {
}
}
var replaceTraverser = {
var replaceVisitor = {
enter: replace
};
function traverseReplace(node, parent, scope, remaps) {
replace(node, parent, scope, null, remaps);
traverse(node, replaceTraverser, scope, remaps);
traverse(node, replaceVisitor, scope, remaps);
}
/**
@@ -181,7 +181,7 @@ LetScoping.prototype.remap = function () {
traverseReplace(loopParent.update, loopParent, scope, remaps);
}
traverse(this.block, replaceTraverser, scope, remaps);
traverse(this.block, replaceVisitor, scope, remaps);
};
/**
@@ -221,7 +221,7 @@ LetScoping.prototype.needsClosure = function () {
this.build(ret, call);
};
var letReferenceFunctionTraverser = {
var letReferenceFunctionVisitor = {
enter: function (node, parent, scope, context, state) {
// not a direct reference
if (!t.isReferencedIdentifier(node, parent)) return;
@@ -237,10 +237,10 @@ var letReferenceFunctionTraverser = {
}
};
var letReferenceBlockTraverser = {
var letReferenceBlockVisitor = {
enter: function (node, parent, scope, context, state) {
if (t.isFunction(node)) {
traverse(node, letReferenceFunctionTraverser, scope, state);
traverse(node, letReferenceFunctionVisitor, scope, state);
return context.skip();
}
}
@@ -293,12 +293,12 @@ LetScoping.prototype.getLetReferences = function () {
// traverse through this block, stopping on functions and checking if they
// contain any local let references
traverse(this.block, letReferenceBlockTraverser, this.scope, state);
traverse(this.block, letReferenceBlockVisitor, this.scope, state);
return state.closurify;
};
var loopTraverser = {
var loopVisitor = {
enter: function (node, parent, scope, context, state) {
var replace;
@@ -345,11 +345,11 @@ LetScoping.prototype.checkLoop = function () {
hasBreak: false,
};
traverse(this.block, loopTraverser, this.scope, state);
traverse(this.block, loopVisitor, this.scope, state);
return state;
};
var hoistVarDeclarationsTraverser = {
var hoistVarDeclarationsVisitor = {
enter: function (node, parent, scope, context, self) {
if (t.isForStatement(node)) {
if (isVar(node.init, node)) {
@@ -373,7 +373,7 @@ var hoistVarDeclarationsTraverser = {
*/
LetScoping.prototype.hoistVarDeclarations = function () {
traverse(this.block, hoistVarDeclarationsTraverser, this.scope, this);
traverse(this.block, hoistVarDeclarationsVisitor, this.scope, this);
};
/**

View File

@@ -4,7 +4,7 @@ var traverse = require("../../../traverse");
var t = require("../../../types");
var _ = require("lodash");
var traverser = {
var visitor = {
enter: function (child, parent, scope, context, state) {
if (child._ignoreConstant) return;
if (t.isVariableDeclaration(child)) return;
@@ -83,5 +83,5 @@ exports.ForStatement = function (node, parent, scope, context, file) {
if (!hasConstants) return;
var state = { check: check, getIds: getIds };
traverse(node, traverser, scope, state);
traverse(node, visitor, scope, state);
};

View File

@@ -16,7 +16,7 @@ function checkTDZ(node, parent, scope, context, state) {
}
}
var checkTDZTraverser = {
var checkTDZVisitor = {
enter: checkTDZ
};
@@ -50,7 +50,7 @@ exports.Function = function (node, parent, scope, context, file) {
checkTDZ(def, node, scope, context, state);
if (!t.isPattern(param)) {
traverse(def, checkTDZTraverser, scope, state);
traverse(def, checkTDZVisitor, scope, state);
}
}

View File

@@ -1,7 +1,7 @@
var traverse = require("../../../traverse");
var t = require("../../../types");
var traverser = {
var visitor = {
enter: function (node, parent, scope, context, state) {
if (!t.isReferencedIdentifier(node, parent)) return;
@@ -44,5 +44,5 @@ exports.BlockStatement = function (node, parent, scope, context, file) {
file: file
};
traverse(node, traverser, scope, state);
traverse(node, visitor, scope, state);
};

View File

@@ -19,7 +19,7 @@ var ALIASABLE_CONSTRUCTORS = [
"WeakSet"
];
var astTraverser = {
var astVisitor = {
enter: function (node, parent, scope, context, file) {
var prop;
@@ -68,7 +68,7 @@ exports.ast = {
},
exit: function (ast, file) {
traverse(ast, astTraverser, null, file);
traverse(ast, astVisitor, null, file);
}
};

View File

@@ -3,7 +3,7 @@
var traverse = require("../../../traverse");
var t = require("../../../types");
var traverser = {
var visitor = {
enter: function (node, parent, scope, context, state) {
if (t.isFunction(node)) return;
@@ -36,5 +36,5 @@ exports.MethodDefinition = function (node, parent, scope, context, file) {
file: file
};
traverse(value, traverser, scope, state);
traverse(value, visitor, scope, state);
};

View File

@@ -202,7 +202,7 @@ function clearNode(node) {
clearComments(node.leadingComments);
}
var clearTraverser = { enter: clearNode };
var clearVisitor = { enter: clearNode };
function clearComments(comments) {
for (var i = 0; i < comments.length; i++)
@@ -211,7 +211,7 @@ function clearComments(comments) {
traverse.removeProperties = function (tree) {
clearNode(tree);
traverse(tree, clearTraverser);
traverse(tree, clearVisitor);
return tree;
};

View File

@@ -139,7 +139,7 @@ Scope.prototype.generateTempBasedOnNode = function (node) {
return id;
};
var functionVariableTraverser = {
var functionVariableVisitor = {
enter: function (node, parent, scope, context, state) {
if (t.isFor(node)) {
_.each(FOR_KEYS, function (key) {
@@ -167,7 +167,7 @@ var functionVariableTraverser = {
}
};
var blockVariableTraverser = {
var blockVariableVisitor = {
enter: function (node, parent, scope, context, add) {
if (t.isScope(node)) {
return context.skip();
@@ -214,7 +214,7 @@ Scope.prototype.getInfo = function () {
// Program, BlockStatement - let variables
if (t.isBlockStatement(block) || t.isProgram(block)) {
traverse(block, blockVariableTraverser, this, add);
traverse(block, blockVariableVisitor, this, add);
}
// CatchClause - param
@@ -232,7 +232,7 @@ Scope.prototype.getInfo = function () {
// Program, Function - var variables
if (t.isProgram(block) || t.isFunction(block)) {
traverse(block, functionVariableTraverser, this, {
traverse(block, functionVariableVisitor, this, {
blockId: block.id,
add: add
});

View File

@@ -131,7 +131,7 @@ exports.buildDefineProperties = function (mutatorMap) {
return objExpr;
};
var templateTraverser = {
var templateVisitor = {
enter: function (node, parent, scope, context, nodes) {
if (t.isIdentifier(node) && _.has(nodes, node.name)) {
return nodes[node.name];
@@ -151,7 +151,7 @@ exports.template = function (name, nodes, keepExpression) {
template = _.cloneDeep(template);
if (!_.isEmpty(nodes)) {
traverse(template, templateTraverser, null, nodes);
traverse(template, templateVisitor, null, nodes);
}
var node = template.body[0];