Make sure we update the cache in all the right places
This commit is contained in:
parent
29ef158204
commit
5367d5d151
@ -39,7 +39,8 @@ traverse.explode = visitors.explode;
|
||||
|
||||
traverse.NodePath = require("./path");
|
||||
traverse.Scope = require("./scope");
|
||||
traverse.Hub = require("./hub");
|
||||
traverse.Hub = require("./hub")
|
||||
traverse.cache = require("./path/cache");
|
||||
|
||||
traverse.cheap = function (node, enter) {
|
||||
if (!node) return;
|
||||
@ -88,6 +89,8 @@ traverse.clearNode = function (node) {
|
||||
if (key[0] === "_" && node[key] != null) node[key] = undefined;
|
||||
}
|
||||
|
||||
traverse.cache.delete(node);
|
||||
|
||||
let syms: Array<Symbol> = Object.getOwnPropertySymbols(node);
|
||||
for (let sym of syms) {
|
||||
node[sym] = null;
|
||||
|
||||
@ -373,6 +373,12 @@ function _inheritComments(key, child, parent) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Can't use import because of cyclic dependency between babel-traverse
|
||||
// and this module (babel-types). This require needs to appear after
|
||||
// we export the TYPES constant.
|
||||
const traverse = require("babel-traverse").default;
|
||||
|
||||
/**
|
||||
* Inherit all contextual properties from `parent` node to `child` node.
|
||||
*/
|
||||
@ -399,6 +405,9 @@ export function inherits(child, parent) {
|
||||
|
||||
t.inheritsComments(child, parent);
|
||||
|
||||
if (traverse.cache.has(parent)) {
|
||||
traverse.cache.set(child, traverse.cache.get(parent));
|
||||
}
|
||||
return child;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user