readd "circuit breaker" for endless recurse calls in Defineplugin

This commit is contained in:
Tim Sebastian 2017-02-06 21:41:49 +11:00
parent 6e7ad248cf
commit 8159e844ea
1 changed files with 2 additions and 0 deletions

View File

@ -68,6 +68,7 @@ class DefinePlugin {
parser.plugin("can-rename " + key, ParserHelpers.approve);
parser.plugin("evaluate Identifier " + key, (expr) => {
if(recurse) return;
recurse = true;
const res = parser.evaluate(code);
recurse = false;
res.setRange(expr.range);
@ -78,6 +79,7 @@ class DefinePlugin {
const typeofCode = isTypeof ? code : "typeof (" + code + ")";
parser.plugin("evaluate typeof " + key, (expr) => {
if(recurseTypeof) return;
recurseTypeof = true;
const res = parser.evaluate(typeofCode);
recurseTypeof = false;
res.setRange(expr.range);