JS: reduce the probability of colliding local variable name with a keyword

This commit is contained in:
Alexey Andreev 2019-06-22 23:56:32 +03:00
parent 62b3c68a5b
commit 2c6068b36a

View File

@ -142,14 +142,17 @@ public final class RenderingUtil {
} }
public static String indexToId(int index, String startChars) { public static String indexToId(int index, String startChars) {
StringBuilder sb = new StringBuilder(); if (index >= startChars.length()) {
sb.append(startChars.charAt(index % startChars.length())); index -= startChars.length() - VARIABLE_PART_CHARS.length();
index /= startChars.length(); StringBuilder sb = new StringBuilder();
while (index > 0) { while (index >= startChars.length()) {
sb.append(VARIABLE_PART_CHARS.charAt(index % VARIABLE_PART_CHARS.length())); sb.append(VARIABLE_PART_CHARS.charAt(index % VARIABLE_PART_CHARS.length()));
index /= VARIABLE_PART_CHARS.length(); index /= VARIABLE_PART_CHARS.length();
}
return sb.append(startChars.charAt(index % startChars.length())).reverse().toString();
} else {
return String.valueOf(startChars.charAt(index));
} }
return sb.toString();
} }
public static String indexToId(int index) { public static String indexToId(int index) {