Mangle character sets taken from options (#3436).
This commit is contained in:
parent
0d97291ba2
commit
2d95c1f5b7
15
lib/scope.js
15
lib/scope.js
|
|
@ -552,21 +552,20 @@ AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options) {
|
|||
});
|
||||
|
||||
var nameGenerator = (function() {
|
||||
var freq = Object.create(null);
|
||||
function init(chars) {
|
||||
var array = [];
|
||||
for (var i = 0; i < chars.length; i++) {
|
||||
var ch = chars[i];
|
||||
array.push(ch);
|
||||
freq[ch] = -1e-2 * i;
|
||||
frequency[ch] = -1e-2 * i;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
var trailing = init("0123456789");
|
||||
var leading = init("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_");
|
||||
var chars, frequency;
|
||||
var chars, frequency, trailing, leading;
|
||||
function reset(options) {
|
||||
frequency = Object.create(freq);
|
||||
frequency = Object.create(null);
|
||||
trailing = init(options.trailing_character_set);
|
||||
leading = init(options.leading_character_set);
|
||||
}
|
||||
nameGenerator.consider = function(str, delta) {
|
||||
for (var i = str.length; --i >= 0;) {
|
||||
|
|
@ -581,13 +580,13 @@ var nameGenerator = (function() {
|
|||
};
|
||||
nameGenerator.reset = reset;
|
||||
function nameGenerator(num) {
|
||||
var ret = "", base = 54;
|
||||
var ret = "", base = leading.length;
|
||||
num++;
|
||||
do {
|
||||
num--;
|
||||
ret += chars[num % base];
|
||||
num = Math.floor(num / base);
|
||||
base = 64;
|
||||
base = leading.length + trailing.length;
|
||||
} while (num > 0);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user