From 24b13c5e4914f6107169f30da9ca31f63f746aa5 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 15 Apr 2015 15:13:12 -0700 Subject: [PATCH] remove unnecessary csp makePredicate - fixes #1267 --- src/acorn/src/identifier.js | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/src/acorn/src/identifier.js b/src/acorn/src/identifier.js index ad2fe03935..11713b05d6 100755 --- a/src/acorn/src/identifier.js +++ b/src/acorn/src/identifier.js @@ -9,41 +9,9 @@ function makePredicate(words) { words = words.split(" ") - let f = "", cats = [] - out: for (let i = 0; i < words.length; ++i) { - for (let j = 0; j < cats.length; ++j) - if (cats[j][0].length == words[i].length) { - cats[j].push(words[i]) - continue out - } - cats.push([words[i]]) + return function(str) { + return words.indexOf(str) >= 0 } - function compareTo(arr) { - if (arr.length == 1) return f += "return str === " + JSON.stringify(arr[0]) + ";" - f += "switch(str){" - for (let i = 0; i < arr.length; ++i) f += "case " + JSON.stringify(arr[i]) + ":" - f += "return true}return false;" - } - - // When there are more than three length categories, an outer - // switch first dispatches on the lengths, to save on comparisons. - - if (cats.length > 3) { - cats.sort((a, b) => b.length - a.length) - f += "switch(str.length){" - for (let i = 0; i < cats.length; ++i) { - let cat = cats[i] - f += "case " + cat[0].length + ":" - compareTo(cat) - } - f += "}" - - // Otherwise, simply generate a flat `switch` statement. - - } else { - compareTo(words) - } - return new Function("str", f) } // Reserved word lists for various dialects of the language