in library/scripts/find_movable_strings.py [0:0]
def generate_java(string_pack_ids):
if len(string_pack_ids) <= MAX_IDS_PER_METHOD:
# No need for sub-methods, just create the whole array in the main method
return generate_java_internal(string_pack_ids, "getStringPacksMapping")
result = []
result += " " * 2 + "private static int[] getStringPacksMapping() {\n"
result += (
" " * 6 + "final int[] result = new int[" + str(len(string_pack_ids)) + "];\n"
)
result += " " * 6 + "int[] part;\n"
parts = math.ceil(len(string_pack_ids) / MAX_IDS_PER_METHOD)
for i in range(0, parts):
result += " " * 6 + "part = getStringPacksMappingPart" + str(i) + "();\n"
result += (
" " * 6
+ "System.arraycopy(part, 0, result, "
+ str(MAX_IDS_PER_METHOD * i)
+ ", part.length);\n"
)
result += " " * 6 + "return result;\n"
result += " " * 2 + "}\n"
result += "\n"
# Create submethods
for i in range(0, parts):
start = i * MAX_IDS_PER_METHOD
end = start + MAX_IDS_PER_METHOD
result += generate_java_internal(
string_pack_ids[start:end], "getStringPacksMappingPart%s" % i
)
return result