bundles/org.eclipse.orion.client.javascript/web/eslint/lib/utils/traverser.js
function Traverser() {

		var controller = Object.create(new estraverse.Controller()),
			originalTraverse = controller.traverse;

		// intercept call to traverse() and add the fallback key to the visitor
		controller.traverse = function(node, visitor) {
			visitor.fallback = Traverser.getKeys;
			return originalTraverse.call(this, node, visitor);
		};

		return controller;
	}
function Traverser() {

		var controller = Object.create(new estraverse.Controller()),
			originalTraverse = controller.traverse;

		// intercept call to traverse() and add the fallback key to the visitor
		controller.traverse = function(node, visitor) {
			visitor.fallback = Traverser.getKeys;
			return originalTraverse.call(this, node, visitor);
		};

		return controller;
	}
function Traverser ( ) { var controller = Object . create ( new estraverse . Controller ( ) ) , originalTraverse = controller . traverse ; // intercept call to traverse() and add the fallback key to the visitor controller . traverse = function ( node , visitor ) { visitor . fallback = Traverser . getKeys ; return originalTraverse . call ( this , node , visitor ) ; } ; return controller ; }
Wrapper around an estraverse controller that ensures the correct keys
are visited.
@constructor
Wrapper around an estraverse controller that ensures the correct keys are visited .