From 6601a6f737aeea15683a90326be1f7eed5f50847 Mon Sep 17 00:00:00 2001 From: Amjad Masad Date: Mon, 7 Dec 2015 11:55:21 -0800 Subject: [PATCH 1/2] Support unary expression in isPure check --- packages/babel-traverse/src/scope/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/babel-traverse/src/scope/index.js b/packages/babel-traverse/src/scope/index.js index 02a4122337..cd5bd880c3 100644 --- a/packages/babel-traverse/src/scope/index.js +++ b/packages/babel-traverse/src/scope/index.js @@ -596,6 +596,8 @@ export default class Scope { } else if (t.isClassProperty(node)) { if (node.computed && !this.isPure(node.key, constantsOnly)) return false; return this.isPure(node.value, constantsOnly); + } else if (t.isUnaryExpression(node)) { + return this.isPure(node.argument); } else { return t.isPureish(node); } From 14bad622f252f4697223527584a452fd98f60ea0 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Mon, 7 Dec 2015 15:20:30 -0500 Subject: [PATCH 2/2] add second param --- packages/babel-traverse/src/scope/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-traverse/src/scope/index.js b/packages/babel-traverse/src/scope/index.js index cd5bd880c3..ce3303bbaf 100644 --- a/packages/babel-traverse/src/scope/index.js +++ b/packages/babel-traverse/src/scope/index.js @@ -597,7 +597,7 @@ export default class Scope { if (node.computed && !this.isPure(node.key, constantsOnly)) return false; return this.isPure(node.value, constantsOnly); } else if (t.isUnaryExpression(node)) { - return this.isPure(node.argument); + return this.isPure(node.argument, constantsOnly); } else { return t.isPureish(node); }