|
|
|
@ -1010,16 +1010,28 @@ void GenerateAddFileToPool(const FileDescriptor* file, const Options& options, |
|
|
|
|
std::string files_data; |
|
|
|
|
files.SerializeToString(&files_data); |
|
|
|
|
|
|
|
|
|
printer->Print("$pool->internalAddGeneratedFile(hex2bin(\n"); |
|
|
|
|
printer->Print("$pool->internalAddGeneratedFile(\n"); |
|
|
|
|
Indent(printer); |
|
|
|
|
printer->Print("'"); |
|
|
|
|
|
|
|
|
|
for (auto ch : files_data) { |
|
|
|
|
switch (ch) { |
|
|
|
|
case '\\': |
|
|
|
|
printer->Print(R"(\\)"); |
|
|
|
|
break; |
|
|
|
|
case '\'': |
|
|
|
|
printer->Print(R"(\')"); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
printer->Print("^char^", "char", std::string(1, ch)); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
printer->Print( |
|
|
|
|
"\"^data^\"\n", |
|
|
|
|
"data", BinaryToHex(files_data)); |
|
|
|
|
|
|
|
|
|
printer->Print("'\n"); |
|
|
|
|
Outdent(printer); |
|
|
|
|
printer->Print( |
|
|
|
|
"), true);\n\n"); |
|
|
|
|
", true);\n\n"); |
|
|
|
|
} |
|
|
|
|
printer->Print( |
|
|
|
|
"static::$is_initialized = true;\n"); |
|
|
|
@ -1145,16 +1157,28 @@ void GenerateAddFilesToPool(const FileDescriptor* file, const Options& options, |
|
|
|
|
std::string files_data; |
|
|
|
|
sorted_file_set.SerializeToString(&files_data); |
|
|
|
|
|
|
|
|
|
printer->Print("$pool->internalAddGeneratedFile(hex2bin(\n"); |
|
|
|
|
printer->Print("$pool->internalAddGeneratedFile(\n"); |
|
|
|
|
Indent(printer); |
|
|
|
|
printer->Print("'"); |
|
|
|
|
|
|
|
|
|
printer->Print( |
|
|
|
|
"\"^data^\"\n", |
|
|
|
|
"data", BinaryToHex(files_data)); |
|
|
|
|
for (auto ch : files_data) { |
|
|
|
|
switch (ch) { |
|
|
|
|
case '\\': |
|
|
|
|
printer->Print(R"(\\)"); |
|
|
|
|
break; |
|
|
|
|
case '\'': |
|
|
|
|
printer->Print(R"(\')"); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
printer->Print("^char^", "char", std::string(1, ch)); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
printer->Print("'\n"); |
|
|
|
|
Outdent(printer); |
|
|
|
|
printer->Print( |
|
|
|
|
"), true);\n"); |
|
|
|
|
", true);\n"); |
|
|
|
|
|
|
|
|
|
printer->Print( |
|
|
|
|
"static::$is_initialized = true;\n"); |
|
|
|
|