Use Printer::Emit formatting to remove optional args from GetOptionalDeprecatedAttribute.

PiperOrigin-RevId: 547303540
pull/13270/head
Thomas Van Lenten 2 years ago committed by Copybara-Service
parent 0196d1e138
commit d8b1a626dd
  1. 9
      src/google/protobuf/compiler/objectivec/helpers.h
  2. 10
      src/google/protobuf/compiler/objectivec/message.cc

@ -136,10 +136,8 @@ void EmitCommentsString(io::Printer* printer, const TDescriptor* descriptor,
}
template <class TDescriptor>
std::string GetOptionalDeprecatedAttribute(const TDescriptor* descriptor,
const FileDescriptor* file = nullptr,
bool preSpace = true,
bool postNewline = false) {
std::string GetOptionalDeprecatedAttribute(
const TDescriptor* descriptor, const FileDescriptor* file = nullptr) {
bool isDeprecated = descriptor->options().deprecated();
// The file is only passed when checking Messages & Enums, so those types
// get tagged. At the moment, it doesn't seem to make sense to tag every
@ -159,8 +157,7 @@ std::string GetOptionalDeprecatedAttribute(const TDescriptor* descriptor,
sourceFile->name(), ").");
}
return absl::StrCat(preSpace ? " " : "", "GPB_DEPRECATED_MSG(\"", message,
"\")", postNewline ? "\n" : "");
return absl::StrCat("GPB_DEPRECATED_MSG(\"", message, "\")");
} else {
return "";
}

@ -219,8 +219,8 @@ MessageGenerator::MessageGenerator(const std::string& file_description_name,
descriptor_(descriptor),
field_generators_(descriptor),
class_name_(ClassName(descriptor_)),
deprecated_attribute_(GetOptionalDeprecatedAttribute(
descriptor, descriptor->file(), false, true)) {
deprecated_attribute_(
GetOptionalDeprecatedAttribute(descriptor, descriptor->file())) {
for (int i = 0; i < descriptor_->real_oneof_decl_count(); i++) {
oneof_generators_.push_back(
std::make_unique<OneofGenerator>(descriptor_->oneof_decl(i)));
@ -304,7 +304,8 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) const {
auto vars = printer->WithVars({{"classname", class_name_}});
printer->Emit(
{{"deprecated_attribute", deprecated_attribute_},
{io::Printer::Sub("deprecated_attribute", deprecated_attribute_)
.WithSuffix(";"),
{"message_comments",
[&] {
EmitCommentsString(printer, descriptor_,
@ -358,7 +359,8 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) const {
$message_fieldnum_enum$
$oneof_enums$
$message_comments$
$deprecated_attribute$GPB_FINAL @interface $classname$ : GPBMessage
$deprecated_attribute$;
GPB_FINAL @interface $classname$ : GPBMessage
$message_properties$
@end

Loading…
Cancel
Save