Skip to content

Commit 4bcf773

Browse files
karenwuzcopybara-github
authored andcommitted
Creating generic MaybeAddError helper function
PiperOrigin-RevId: 864953327
1 parent 008e336 commit 4bcf773

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

src/google/protobuf/descriptor.cc

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5005,9 +5005,9 @@ class DescriptorBuilder {
50055005
const DescriptorProto::ExtensionRange& proto) {}
50065006
void ValidateExtensionRangeOptions(const DescriptorProto& proto,
50075007
const Descriptor& message);
5008-
void MaybeAddFeatureSupportError(const absl::Status& feature_support_status,
5009-
const Message& proto,
5010-
absl::string_view full_name);
5008+
void MaybeAddError(const absl::Status& status, absl::string_view full_name,
5009+
const Message& descriptor,
5010+
DescriptorPool::ErrorCollector::ErrorLocation location);
50115011
void ValidateExtensionDeclaration(
50125012
absl::string_view full_name,
50135013
const RepeatedPtrField<ExtensionRangeOptions_Declaration>& declarations,
@@ -6342,10 +6342,9 @@ FileDescriptor* DescriptorBuilder::BuildFileImpl(
63426342

63436343
absl::StatusOr<FeatureResolver> feature_resolver =
63446344
FeatureResolver::Create(file_->edition_, defaults);
6345-
if (!feature_resolver.ok()) {
6346-
AddError(proto.name(), proto, DescriptorPool::ErrorCollector::EDITIONS,
6347-
[&] { return std::string(feature_resolver.status().message()); });
6348-
} else {
6345+
MaybeAddError(feature_resolver.status(), proto.name(), proto,
6346+
DescriptorPool::ErrorCollector::EDITIONS);
6347+
if (feature_resolver.ok()) {
63496348
feature_resolver_.emplace(std::move(feature_resolver).value());
63506349
}
63516350

@@ -8496,15 +8495,15 @@ void DescriptorBuilder::ValidateOptions(const OneofDescriptor* /*oneof*/,
84968495
}
84978496

84988497

8499-
void DescriptorBuilder::MaybeAddFeatureSupportError(
8500-
const absl::Status& feature_support_status, const Message& proto,
8501-
absl::string_view full_name) {
8502-
if (feature_support_status.ok()) {
8498+
void DescriptorBuilder::MaybeAddError(
8499+
const absl::Status& status, absl::string_view full_name,
8500+
const Message& descriptor,
8501+
DescriptorPool::ErrorCollector::ErrorLocation location) {
8502+
if (status.ok()) {
85038503
return;
85048504
}
8505-
std::string feature_support_error(feature_support_status.message());
8506-
AddError(full_name, proto, DescriptorPool::ErrorCollector::OPTION_NAME,
8507-
feature_support_error.c_str());
8505+
std::string error(status.message());
8506+
AddError(full_name, descriptor, location, error.c_str());
85088507
}
85098508

85108509
void DescriptorBuilder::ValidateOptions(const FieldDescriptor* field,
@@ -8515,8 +8514,8 @@ void DescriptorBuilder::ValidateOptions(const FieldDescriptor* field,
85158514
if (pool_->enforce_feature_support_validation_) {
85168515
absl::Status feature_support_status =
85178516
FeatureResolver::ValidateFieldFeatureSupport(*field);
8518-
MaybeAddFeatureSupportError(feature_support_status, proto,
8519-
field->full_name());
8517+
MaybeAddError(feature_support_status, field->full_name(), proto,
8518+
DescriptorPool::ErrorCollector::OPTION_NAME);
85208519
}
85218520

85228521
ValidateFieldFeatures(field, proto);
@@ -8858,8 +8857,8 @@ void DescriptorBuilder::ValidateOptions(const EnumValueDescriptor* enum_value,
88588857
absl::Status feature_support_result =
88598858
FeatureResolver::ValidateFeatureSupport(
88608859
enum_value->options().feature_support(), enum_value->full_name());
8861-
MaybeAddFeatureSupportError(feature_support_result, proto,
8862-
enum_value->full_name());
8860+
MaybeAddError(feature_support_result, enum_value->full_name(), proto,
8861+
DescriptorPool::ErrorCollector::OPTION_NAME);
88638862
}
88648863
}
88658864

0 commit comments

Comments
 (0)