| Index: third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc b/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc
|
| index 228c66f0b4b77162fa73d25570c0b95b35e81cb3..ed4fc6a3a25c23d9adefe78364cf23e62a80ff73 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc
|
| @@ -45,22 +45,23 @@ namespace protobuf {
|
| // This is also found in GPBBootstrap.h, and needs to be kept in sync. It
|
| // is the version check done to ensure generated code works with the current
|
| // runtime being used.
|
| -const int32 GOOGLE_PROTOBUF_OBJC_GEN_VERSION = 30000;
|
| +const int32 GOOGLE_PROTOBUF_OBJC_GEN_VERSION = 30001;
|
|
|
| namespace compiler {
|
| namespace objectivec {
|
|
|
| -FileGenerator::FileGenerator(const FileDescriptor *file)
|
| +FileGenerator::FileGenerator(const FileDescriptor *file, const Options& options)
|
| : file_(file),
|
| root_class_name_(FileClassName(file)),
|
| - is_public_dep_(false) {
|
| + is_public_dep_(false),
|
| + options_(options) {
|
| for (int i = 0; i < file_->enum_type_count(); i++) {
|
| EnumGenerator *generator = new EnumGenerator(file_->enum_type(i));
|
| enum_generators_.push_back(generator);
|
| }
|
| for (int i = 0; i < file_->message_type_count(); i++) {
|
| MessageGenerator *generator =
|
| - new MessageGenerator(root_class_name_, file_->message_type(i));
|
| + new MessageGenerator(root_class_name_, file_->message_type(i), options_);
|
| message_generators_.push_back(generator);
|
| }
|
| for (int i = 0; i < file_->extension_count(); i++) {
|
| @@ -114,6 +115,9 @@ void FileGenerator::GenerateHeader(io::Printer *printer) {
|
| printer->Print(
|
| "// @@protoc_insertion_point(imports)\n"
|
| "\n"
|
| + "#pragma clang diagnostic push\n"
|
| + "#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n"
|
| + "\n"
|
| "CF_EXTERN_C_BEGIN\n"
|
| "\n");
|
|
|
| @@ -150,13 +154,15 @@ void FileGenerator::GenerateHeader(io::Printer *printer) {
|
| printer->Print(
|
| "#pragma mark - $root_class_name$\n"
|
| "\n"
|
| + "/// Exposes the extension registry for this file.\n"
|
| + "///\n"
|
| + "/// The base class provides:\n"
|
| + "/// @code\n"
|
| + "/// + (GPBExtensionRegistry *)extensionRegistry;\n"
|
| + "/// @endcode\n"
|
| + "/// which is a @c GPBExtensionRegistry that includes all the extensions defined by\n"
|
| + "/// this file and all files that it depends on.\n"
|
| "@interface $root_class_name$ : GPBRootObject\n"
|
| - "\n"
|
| - "// The base class provides:\n"
|
| - "// + (GPBExtensionRegistry *)extensionRegistry;\n"
|
| - "// which is an GPBExtensionRegistry that includes all the extensions defined by\n"
|
| - "// this file and all files that it depends on.\n"
|
| - "\n"
|
| "@end\n"
|
| "\n",
|
| "root_class_name", root_class_name_);
|
| @@ -186,6 +192,8 @@ void FileGenerator::GenerateHeader(io::Printer *printer) {
|
| "\n"
|
| "CF_EXTERN_C_END\n"
|
| "\n"
|
| + "#pragma clang diagnostic pop\n"
|
| + "\n"
|
| "// @@protoc_insertion_point(global_scope)\n");
|
| }
|
|
|
| @@ -213,6 +221,9 @@ void FileGenerator::GenerateSource(io::Printer *printer) {
|
| }
|
| printer->Print(
|
| "// @@protoc_insertion_point(imports)\n"
|
| + "\n"
|
| + "#pragma clang diagnostic push\n"
|
| + "#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n"
|
| "\n");
|
|
|
| printer->Print(
|
| @@ -340,6 +351,8 @@ void FileGenerator::GenerateSource(io::Printer *printer) {
|
|
|
| printer->Print(
|
| "\n"
|
| + "#pragma clang diagnostic pop\n"
|
| + "\n"
|
| "// @@protoc_insertion_point(global_scope)\n");
|
| }
|
|
|
| @@ -352,7 +365,8 @@ const vector<FileGenerator *> &FileGenerator::DependencyGenerators() {
|
| public_import_names.insert(file_->public_dependency(i)->name());
|
| }
|
| for (int i = 0; i < file_->dependency_count(); i++) {
|
| - FileGenerator *generator = new FileGenerator(file_->dependency(i));
|
| + FileGenerator *generator =
|
| + new FileGenerator(file_->dependency(i), options_);
|
| const string& name = file_->dependency(i)->name();
|
| bool public_import = (public_import_names.count(name) != 0);
|
| generator->SetIsPublicDependency(public_import);
|
|
|