From fce977f1d73390eab0922e1cc7efa5cd91fba23b Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sun, 7 Jun 2015 23:38:39 +0100 Subject: [PATCH] update TraversalContext#shouldVisit to check for existence of visitor keys --- src/babel/traversal/context.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/babel/traversal/context.js b/src/babel/traversal/context.js index 9ed3481b5f..436b2c8aa1 100644 --- a/src/babel/traversal/context.js +++ b/src/babel/traversal/context.js @@ -10,8 +10,19 @@ export default class TraversalContext { } shouldVisit(node) { + var opts = this.opts; + if (opts.enter || opts.exit) return true; + + if (opts[node.type]) return true; + var keys = t.VISITOR_KEYS[node.type]; - return !!(this.opts.enter || this.opts.exit || this.opts[node.type] || (keys && keys.length)); + if (!keys || !keys.length) return false; + + for (var key of (keys: Array)) { + if (node[key]) return true; + } + + return false; } create(node, obj, key, containerKey) {