|
@@ -184,18 +184,18 @@ MessageGenerator::MessageGenerator(const string& root_classname,
|
|
|
GetOptionalDeprecatedAttribute(descriptor, descriptor->file(), false, true)) {
|
|
|
|
|
|
for (int i = 0; i < descriptor_->extension_count(); i++) {
|
|
|
- extension_generators_.push_back(
|
|
|
+ extension_generators_.emplace_back(
|
|
|
new ExtensionGenerator(class_name_, descriptor_->extension(i)));
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < descriptor_->oneof_decl_count(); i++) {
|
|
|
OneofGenerator* generator = new OneofGenerator(descriptor_->oneof_decl(i));
|
|
|
- oneof_generators_.push_back(generator);
|
|
|
+ oneof_generators_.emplace_back(generator);
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < descriptor_->enum_type_count(); i++) {
|
|
|
EnumGenerator* generator = new EnumGenerator(descriptor_->enum_type(i));
|
|
|
- enum_generators_.push_back(generator);
|
|
|
+ enum_generators_.emplace_back(generator);
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < descriptor_->nested_type_count(); i++) {
|
|
@@ -203,32 +203,20 @@ MessageGenerator::MessageGenerator(const string& root_classname,
|
|
|
new MessageGenerator(root_classname_,
|
|
|
descriptor_->nested_type(i),
|
|
|
options);
|
|
|
- nested_message_generators_.push_back(generator);
|
|
|
+ nested_message_generators_.emplace_back(generator);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-MessageGenerator::~MessageGenerator() {
|
|
|
- STLDeleteContainerPointers(extension_generators_.begin(),
|
|
|
- extension_generators_.end());
|
|
|
- STLDeleteContainerPointers(enum_generators_.begin(), enum_generators_.end());
|
|
|
- STLDeleteContainerPointers(nested_message_generators_.begin(),
|
|
|
- nested_message_generators_.end());
|
|
|
- STLDeleteContainerPointers(oneof_generators_.begin(),
|
|
|
- oneof_generators_.end());
|
|
|
-}
|
|
|
+MessageGenerator::~MessageGenerator() {}
|
|
|
|
|
|
void MessageGenerator::GenerateStaticVariablesInitialization(
|
|
|
io::Printer* printer) {
|
|
|
- for (std::vector<ExtensionGenerator*>::iterator iter =
|
|
|
- extension_generators_.begin();
|
|
|
- iter != extension_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateStaticVariablesInitialization(printer);
|
|
|
+ for (const auto& generator : extension_generators_) {
|
|
|
+ generator->GenerateStaticVariablesInitialization(printer);
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateStaticVariablesInitialization(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateStaticVariablesInitialization(printer);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -241,10 +229,8 @@ void MessageGenerator::DetermineForwardDeclarations(std::set<string>* fwd_decls)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->DetermineForwardDeclarations(fwd_decls);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->DetermineForwardDeclarations(fwd_decls);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -253,10 +239,8 @@ bool MessageGenerator::IncludesOneOfDefinition() const {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::const_iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- if ((*iter)->IncludesOneOfDefinition()) {
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ if (generator->IncludesOneOfDefinition()) {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
@@ -265,40 +249,31 @@ bool MessageGenerator::IncludesOneOfDefinition() const {
|
|
|
}
|
|
|
|
|
|
void MessageGenerator::GenerateEnumHeader(io::Printer* printer) {
|
|
|
- for (std::vector<EnumGenerator*>::iterator iter = enum_generators_.begin();
|
|
|
- iter != enum_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateHeader(printer);
|
|
|
+ for (const auto& generator : enum_generators_) {
|
|
|
+ generator->GenerateHeader(printer);
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateEnumHeader(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateEnumHeader(printer);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void MessageGenerator::GenerateExtensionRegistrationSource(
|
|
|
io::Printer* printer) {
|
|
|
- for (std::vector<ExtensionGenerator*>::iterator iter =
|
|
|
- extension_generators_.begin();
|
|
|
- iter != extension_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateRegistrationSource(printer);
|
|
|
+ for (const auto& generator : extension_generators_) {
|
|
|
+ generator->GenerateRegistrationSource(printer);
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateExtensionRegistrationSource(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateExtensionRegistrationSource(printer);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void MessageGenerator::GenerateMessageHeader(io::Printer* printer) {
|
|
|
// This a a map entry message, just recurse and do nothing directly.
|
|
|
if (IsMapEntryMessage(descriptor_)) {
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateMessageHeader(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateMessageHeader(printer);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -325,9 +300,8 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) {
|
|
|
printer->Print("};\n\n");
|
|
|
}
|
|
|
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateCaseEnum(printer);
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ generator->GenerateCaseEnum(printer);
|
|
|
}
|
|
|
|
|
|
string message_comments;
|
|
@@ -366,9 +340,8 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) {
|
|
|
}
|
|
|
|
|
|
if (!oneof_generators_.empty()) {
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateClearFunctionDeclaration(printer);
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ generator->GenerateClearFunctionDeclaration(printer);
|
|
|
}
|
|
|
printer->Print("\n");
|
|
|
}
|
|
@@ -376,18 +349,14 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) {
|
|
|
if (descriptor_->extension_count() > 0) {
|
|
|
printer->Print("@interface $classname$ (DynamicMethods)\n\n",
|
|
|
"classname", class_name_);
|
|
|
- for (std::vector<ExtensionGenerator*>::iterator iter =
|
|
|
- extension_generators_.begin();
|
|
|
- iter != extension_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateMembersHeader(printer);
|
|
|
+ for (const auto& generator : extension_generators_) {
|
|
|
+ generator->GenerateMembersHeader(printer);
|
|
|
}
|
|
|
printer->Print("@end\n\n");
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateMessageHeader(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateMessageHeader(printer);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -409,9 +378,8 @@ void MessageGenerator::GenerateSource(io::Printer* printer) {
|
|
|
printer->Print("@implementation $classname$\n\n",
|
|
|
"classname", class_name_);
|
|
|
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- (*iter)->GeneratePropertyImplementation(printer);
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ generator->GeneratePropertyImplementation(printer);
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < descriptor_->field_count(); i++) {
|
|
@@ -447,9 +415,8 @@ void MessageGenerator::GenerateSource(io::Printer* printer) {
|
|
|
sizeof_has_storage = 1;
|
|
|
}
|
|
|
// Tell all the fields the oneof base.
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- (*iter)->SetOneofIndexBase(sizeof_has_storage);
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ generator->SetOneofIndexBase(sizeof_has_storage);
|
|
|
}
|
|
|
field_generators_.SetOneofIndexBase(sizeof_has_storage);
|
|
|
// sizeof_has_storage needs enough bits for the single fields that aren't in
|
|
@@ -547,11 +514,9 @@ void MessageGenerator::GenerateSource(io::Printer* printer) {
|
|
|
if (oneof_generators_.size() != 0) {
|
|
|
printer->Print(
|
|
|
" static const char *oneofs[] = {\n");
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- printer->Print(
|
|
|
- " \"$name$\",\n",
|
|
|
- "name", (*iter)->DescriptorName());
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ printer->Print(" \"$name$\",\n", "name",
|
|
|
+ generator->DescriptorName());
|
|
|
}
|
|
|
printer->Print(
|
|
|
" };\n"
|
|
@@ -624,21 +589,17 @@ void MessageGenerator::GenerateSource(io::Printer* printer) {
|
|
|
.GenerateCFunctionImplementations(printer);
|
|
|
}
|
|
|
|
|
|
- for (std::vector<OneofGenerator*>::iterator iter = oneof_generators_.begin();
|
|
|
- iter != oneof_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateClearFunctionImplementation(printer);
|
|
|
+ for (const auto& generator : oneof_generators_) {
|
|
|
+ generator->GenerateClearFunctionImplementation(printer);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for (std::vector<EnumGenerator*>::iterator iter = enum_generators_.begin();
|
|
|
- iter != enum_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateSource(printer);
|
|
|
+ for (const auto& generator : enum_generators_) {
|
|
|
+ generator->GenerateSource(printer);
|
|
|
}
|
|
|
|
|
|
- for (std::vector<MessageGenerator*>::iterator iter =
|
|
|
- nested_message_generators_.begin();
|
|
|
- iter != nested_message_generators_.end(); ++iter) {
|
|
|
- (*iter)->GenerateSource(printer);
|
|
|
+ for (const auto& generator : nested_message_generators_) {
|
|
|
+ generator->GenerateSource(printer);
|
|
|
}
|
|
|
}
|
|
|
|