diff options
Diffstat (limited to 'node_modules/babel-traverse/lib/path/evaluation.js')
-rw-r--r-- | node_modules/babel-traverse/lib/path/evaluation.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/node_modules/babel-traverse/lib/path/evaluation.js b/node_modules/babel-traverse/lib/path/evaluation.js index 724d4728e..86aac21b5 100644 --- a/node_modules/babel-traverse/lib/path/evaluation.js +++ b/node_modules/babel-traverse/lib/path/evaluation.js @@ -156,15 +156,19 @@ function evaluate() { return deopt(binding.path); } + if (binding && path.node.start < binding.path.node.end) { + return deopt(binding.path); + } + if (binding && binding.hasValue) { return binding.value; } else { if (node.name === "undefined") { - return undefined; + return binding ? deopt(binding.path) : undefined; } else if (node.name === "Infinity") { - return Infinity; + return binding ? deopt(binding.path) : Infinity; } else if (node.name === "NaN") { - return NaN; + return binding ? deopt(binding.path) : NaN; } var resolved = path.resolve(); |