aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/message.cc
diff options
context:
space:
mode:
authorGravatar Feng Xiao <xfxyjwf@gmail.com>2014-11-14 11:50:31 -0800
committerGravatar Feng Xiao <xfxyjwf@gmail.com>2014-11-14 11:50:31 -0800
commitf157a5651c79a7a36e242af216a5d5b383ba8af2 (patch)
tree368bb0ca0e89ab7514302e4df00435a4ef461a28 /src/google/protobuf/message.cc
parentfaf581d20866ad5e586b3e515f6c547d2dcec2c1 (diff)
Down-integrate from internal code base (C++ maps support).
Diffstat (limited to 'src/google/protobuf/message.cc')
-rw-r--r--src/google/protobuf/message.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/google/protobuf/message.cc b/src/google/protobuf/message.cc
index aab00fdf..afe95461 100644
--- a/src/google/protobuf/message.cc
+++ b/src/google/protobuf/message.cc
@@ -430,7 +430,11 @@ const internal::RepeatedFieldAccessor* Reflection::RepeatedFieldAccessor(
}
break;
case FieldDescriptor::CPPTYPE_MESSAGE:
- return internal::Singleton<internal::RepeatedPtrFieldMessageAccessor>::get();
+ if (field->is_map()) {
+ return internal::Singleton<internal::MapFieldAccessor>::get();
+ } else {
+ return internal::Singleton<internal::RepeatedPtrFieldMessageAccessor>::get();
+ }
}
GOOGLE_LOG(FATAL) << "Should not reach here.";
return NULL;