| Index: third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc b/third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc
|
| index d2039403e9760492990c9356225c5573a652fb15..b80d413901ac132d0800084a0dc1f720a85d4662 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc
|
| @@ -79,10 +79,11 @@ void SetMessageVariables(const FieldDescriptor* descriptor,
|
| int messageBitIndex,
|
| int builderBitIndex,
|
| const FieldGeneratorInfo* info,
|
| - ClassNameResolver* name_resolver,
|
| + Context* context,
|
| map<string, string>* variables) {
|
| SetCommonFieldVariables(descriptor, info, variables);
|
|
|
| + ClassNameResolver* name_resolver = context->GetNameResolver();
|
| (*variables)["type"] =
|
| name_resolver->GetImmutableClassName(descriptor->message_type());
|
| const FieldDescriptor* key = KeyField(descriptor);
|
| @@ -123,8 +124,6 @@ void SetMessageVariables(const FieldDescriptor* descriptor,
|
| // by the proto compiler
|
| (*variables)["deprecation"] = descriptor->options().deprecated()
|
| ? "@java.lang.Deprecated " : "";
|
| - (*variables)["on_changed"] =
|
| - HasDescriptorMethods(descriptor->containing_type()) ? "onChanged();" : "";
|
|
|
| (*variables)["default_entry"] = (*variables)["capitalized_name"] +
|
| "DefaultEntryHolder.defaultEntry";
|
| @@ -142,7 +141,7 @@ ImmutableMapFieldLiteGenerator(const FieldDescriptor* descriptor,
|
| : descriptor_(descriptor), name_resolver_(context->GetNameResolver()) {
|
| SetMessageVariables(descriptor, messageBitIndex, builderBitIndex,
|
| context->GetFieldGeneratorInfo(descriptor),
|
| - name_resolver_, &variables_);
|
| + context, &variables_);
|
| }
|
|
|
| ImmutableMapFieldLiteGenerator::
|
| @@ -375,10 +374,10 @@ GenerateInitializationCode(io::Printer* printer) const {
|
| }
|
|
|
| void ImmutableMapFieldLiteGenerator::
|
| -GenerateMergingCode(io::Printer* printer) const {
|
| +GenerateVisitCode(io::Printer* printer) const {
|
| printer->Print(
|
| variables_,
|
| - "internalGetMutable$capitalized_name$().mergeFrom(\n"
|
| + "$name$_ = visitor.visitMap(internalGetMutable$capitalized_name$(),\n"
|
| " other.internalGet$capitalized_name$());\n");
|
| }
|
|
|
| @@ -404,7 +403,7 @@ GenerateParsingCode(io::Printer* printer) const {
|
| "$name$ = $default_entry$.getParserForType().parseFrom(bytes);\n");
|
| printer->Print(
|
| variables_,
|
| - "if ($value_enum_type$.valueOf($name$.getValue()) == null) {\n"
|
| + "if ($value_enum_type$.forNumber($name$.getValue()) == null) {\n"
|
| " super.mergeLengthDelimitedField($number$, bytes);\n"
|
| "} else {\n"
|
| " $name$_.getMutableMap().put($name$.getKey(), $name$.getValue());\n"
|
|
|