Commit 8a4b2c57 authored by Feng Xiao's avatar Feng Xiao Committed by GitHub

Merge pull request #2353 from guptasu/master

MessageOptions should handle both proto2 and google.protobuf package names.
parents df56736d fce8b6b9
......@@ -1024,8 +1024,11 @@ bool ProtoStreamObjectSource::IsMap(
// TODO(xiaofeng): Unify option names.
return field.kind() == google::protobuf::Field_Kind_TYPE_MESSAGE &&
(GetBoolOptionOrDefault(field_type->options(),
"google.protobuf.MessageOptions.map_entry", false) ||
GetBoolOptionOrDefault(field_type->options(), "map_entry", false));
"google.protobuf.MessageOptions.map_entry",
false) ||
GetBoolOptionOrDefault(field_type->options(), "map_entry", false) ||
GetBoolOptionOrDefault(field_type->options(),
"proto2.MessageOptions.map_entry", false));
}
std::pair<int64, int32> ProtoStreamObjectSource::ReadSecondsAndNanos(
......@@ -1119,3 +1122,4 @@ const string FormatNanos(uint32 nanos) {
} // namespace util
} // namespace protobuf
} // namespace google
......@@ -1240,8 +1240,11 @@ bool ProtoStreamObjectWriter::IsMap(const google::protobuf::Field& field) {
// TODO(xiaofeng): Unify option names.
return GetBoolOptionOrDefault(field_type->options(),
"google.protobuf.MessageOptions.map_entry", false) ||
GetBoolOptionOrDefault(field_type->options(), "map_entry", false);
"google.protobuf.MessageOptions.map_entry",
false) ||
GetBoolOptionOrDefault(field_type->options(), "map_entry", false) ||
GetBoolOptionOrDefault(field_type->options(),
"proto2.MessageOptions.map_entry", false);
}
bool ProtoStreamObjectWriter::IsAny(const google::protobuf::Field& field) {
......@@ -1266,3 +1269,4 @@ bool ProtoStreamObjectWriter::IsStructListValue(
} // namespace util
} // namespace protobuf
} // namespace google
......@@ -356,15 +356,23 @@ bool IsValidBoolString(const string& bool_string) {
bool IsMap(const google::protobuf::Field& field,
const google::protobuf::Type& type) {
return (field.cardinality() ==
return (
field.cardinality() ==
google::protobuf::Field_Cardinality_CARDINALITY_REPEATED &&
GetBoolOptionOrDefault(type.options(),
"google.protobuf.MessageOptions.map_entry", false));
(GetBoolOptionOrDefault(
type.options(), "google.protobuf.MessageOptions.map_entry", false) ||
GetBoolOptionOrDefault(type.options(), "proto2.MessageOptions.map_entry",
false)));
}
bool IsMessageSetWireFormat(const google::protobuf::Type& type) {
return GetBoolOptionOrDefault(
type.options(), "google.protobuf.MessageOptions.message_set_wire_format", false);
return (
GetBoolOptionOrDefault(
type.options(),
"google.protobuf.MessageOptions.message_set_wire_format", false) ||
GetBoolOptionOrDefault(type.options(),
"proto2.MessageOptions.message_set_wire_format",
false));
}
string DoubleAsString(double value) {
......@@ -404,3 +412,4 @@ bool SafeStrToFloat(StringPiece str, float* value) {
} // namespace util
} // namespace protobuf
} // namespace google
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment