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 523052cc9e934c6d3e85d691e8eae5682cf17b91..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 |
@@ -80,7 +80,7 @@ void SetMessageVariables(const FieldDescriptor* descriptor, |
int builderBitIndex, |
const FieldGeneratorInfo* info, |
Context* context, |
- std::map<string, string>* variables) { |
+ map<string, string>* variables) { |
SetCommonFieldVariables(descriptor, info, variables); |
ClassNameResolver* name_resolver = context->GetNameResolver(); |
@@ -88,18 +88,10 @@ void SetMessageVariables(const FieldDescriptor* descriptor, |
name_resolver->GetImmutableClassName(descriptor->message_type()); |
const FieldDescriptor* key = KeyField(descriptor); |
const FieldDescriptor* value = ValueField(descriptor); |
- const JavaType keyJavaType = GetJavaType(key); |
- const JavaType valueJavaType = GetJavaType(value); |
- |
(*variables)["key_type"] = TypeName(key, name_resolver, false); |
(*variables)["boxed_key_type"] = TypeName(key, name_resolver, true); |
(*variables)["key_wire_type"] = WireType(key); |
(*variables)["key_default_value"] = DefaultValue(key, true, name_resolver); |
- (*variables)["key_null_check"] = IsReferenceType(keyJavaType) ? |
- "if (key == null) { throw new java.lang.NullPointerException(); }" : ""; |
- (*variables)["value_null_check"] = IsReferenceType(valueJavaType) ? |
- "if (value == null) { throw new java.lang.NullPointerException(); }" : ""; |
- |
if (GetJavaType(value) == JAVATYPE_ENUM) { |
// We store enums as Integers internally. |
(*variables)["value_type"] = "int"; |
@@ -135,6 +127,8 @@ void SetMessageVariables(const FieldDescriptor* descriptor, |
(*variables)["default_entry"] = (*variables)["capitalized_name"] + |
"DefaultEntryHolder.defaultEntry"; |
+ (*variables)["lite"] = "Lite"; |
+ (*variables)["descriptor"] = ""; |
} |
} // namespace |
@@ -163,95 +157,25 @@ int ImmutableMapFieldLiteGenerator::GetNumBitsForBuilder() const { |
void ImmutableMapFieldLiteGenerator:: |
GenerateInterfaceMembers(io::Printer* printer) const { |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$int get$capitalized_name$Count();\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$boolean contains$capitalized_name$(\n" |
- " $key_type$ key);\n"); |
if (GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$();\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$Map();\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$$value_enum_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_enum_type$ defaultValue);\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$$value_enum_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key);\n"); |
+ "get$capitalized_name$();\n"); |
if (SupportUnknownEnumValue(descriptor_->file())) { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$ValueMap()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "java.util.Map<$type_parameters$>\n" |
- "get$capitalized_name$Value();\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$java.util.Map<$type_parameters$>\n" |
- "get$capitalized_name$ValueMap();\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "$value_type$ get$capitalized_name$ValueOrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue);\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "$value_type$ get$capitalized_name$ValueOrThrow(\n" |
- " $key_type$ key);\n"); |
+ "get$capitalized_name$Value();\n"); |
} |
} else { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "java.util.Map<$type_parameters$>\n" |
- "get$capitalized_name$();\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$java.util.Map<$type_parameters$>\n" |
- "get$capitalized_name$Map();\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "$value_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue);\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "$value_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key);\n"); |
+ "get$capitalized_name$();\n"); |
} |
} |
@@ -260,10 +184,11 @@ GenerateMembers(io::Printer* printer) const { |
printer->Print( |
variables_, |
"private static final class $capitalized_name$DefaultEntryHolder {\n" |
- " static final com.google.protobuf.MapEntryLite<\n" |
+ " static final com.google.protobuf.MapEntry$lite$<\n" |
" $type_parameters$> defaultEntry =\n" |
- " com.google.protobuf.MapEntryLite\n" |
+ " com.google.protobuf.MapEntry$lite$\n" |
" .<$type_parameters$>newDefaultInstance(\n" |
+ " $descriptor$\n" |
" $key_wire_type$,\n" |
" $key_default_value$,\n" |
" $value_wire_type$,\n" |
@@ -271,35 +196,20 @@ GenerateMembers(io::Printer* printer) const { |
"}\n"); |
printer->Print( |
variables_, |
- "private com.google.protobuf.MapFieldLite<\n" |
+ "private com.google.protobuf.MapField$lite$<\n" |
" $type_parameters$> $name$_ =\n" |
- " com.google.protobuf.MapFieldLite.emptyMapField();\n" |
- "private com.google.protobuf.MapFieldLite<$type_parameters$>\n" |
+ " com.google.protobuf.MapField$lite$.emptyMapField();\n" |
+ "private com.google.protobuf.MapField$lite$<$type_parameters$>\n" |
"internalGet$capitalized_name$() {\n" |
" return $name$_;\n" |
"}\n" |
- "private com.google.protobuf.MapFieldLite<$type_parameters$>\n" |
+ "private com.google.protobuf.MapField$lite$<$type_parameters$>\n" |
"internalGetMutable$capitalized_name$() {\n" |
" if (!$name$_.isMutable()) {\n" |
- " $name$_ = $name$_.mutableCopy();\n" |
+ " $name$_ = $name$_.copy();\n" |
" }\n" |
" return $name$_;\n" |
"}\n"); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public int get$capitalized_name$Count() {\n" |
- " return internalGet$capitalized_name$().size();\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public boolean contains$capitalized_name$(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " return internalGet$capitalized_name$().containsKey(key);\n" |
- "}\n"); |
if (GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) { |
printer->Print( |
variables_, |
@@ -309,146 +219,34 @@ GenerateMembers(io::Printer* printer) const { |
" com.google.protobuf.Internal.MapAdapter.newEnumConverter(\n" |
" $value_enum_type$.internalGetValueMap(),\n" |
" $unrecognized_value$);\n"); |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$() {\n" |
- " return get$capitalized_name$Map();\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$Map() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " new com.google.protobuf.Internal.MapAdapter<\n" |
- " $boxed_key_type$, $value_enum_type$, java.lang.Integer>(\n" |
- " internalGet$capitalized_name$(),\n" |
- " $name$ValueConverter));\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_enum_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_enum_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " return map.containsKey(key)\n" |
- " ? $name$ValueConverter.doForward(map.get(key))\n" |
- " : defaultValue;\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_enum_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return $name$ValueConverter.doForward(map.get(key));\n" |
- "}\n"); |
if (SupportUnknownEnumValue(descriptor_->file())) { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$ValueMap()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
- "get$capitalized_name$Value() {\n" |
- " return get$capitalized_name$ValueMap();\n" |
- "}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
"public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
- "get$capitalized_name$ValueMap() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " internalGet$capitalized_name$());\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$ValueOrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " return map.containsKey(key) ? map.get(key) : defaultValue;\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$ValueOrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return map.get(key);\n" |
+ "get$capitalized_name$Value() {\n" |
+ " return internalGet$capitalized_name$().getMap();\n" |
"}\n"); |
} |
- } else { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$type_parameters$> get$capitalized_name$() {\n" |
- " return get$capitalized_name$Map();\n" |
- "}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
- "public java.util.Map<$type_parameters$> get$capitalized_name$Map() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " internalGet$capitalized_name$());\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$type_parameters$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " return map.containsKey(key) ? map.get(key) : defaultValue;\n" |
+ "public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
+ "get$capitalized_name$() {\n" |
+ " return new com.google.protobuf.Internal.MapAdapter<\n" |
+ " $boxed_key_type$, $value_enum_type$, java.lang.Integer>(\n" |
+ " internalGet$capitalized_name$().getMap(),\n" |
+ " $name$ValueConverter);\n" |
"}\n"); |
+ } else { |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
- "public $value_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$type_parameters$> map =\n" |
- " internalGet$capitalized_name$();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return map.get(key);\n" |
+ "public java.util.Map<$type_parameters$> get$capitalized_name$() {\n" |
+ " return internalGet$capitalized_name$().getMap();\n" |
"}\n"); |
} |
@@ -458,10 +256,10 @@ GenerateMembers(io::Printer* printer) const { |
printer->Print( |
variables_, |
"private java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "getMutable$capitalized_name$Map() {\n" |
+ "getMutable$capitalized_name$() {\n" |
" return new com.google.protobuf.Internal.MapAdapter<\n" |
" $boxed_key_type$, $value_enum_type$, java.lang.Integer>(\n" |
- " internalGetMutable$capitalized_name$(),\n" |
+ " internalGetMutable$capitalized_name$().getMutableMap(),\n" |
" $name$ValueConverter);\n" |
"}\n"); |
if (SupportUnknownEnumValue(descriptor_->file())) { |
@@ -469,8 +267,8 @@ GenerateMembers(io::Printer* printer) const { |
printer->Print( |
variables_, |
"private java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
- "getMutable$capitalized_name$ValueMap() {\n" |
- " return internalGetMutable$capitalized_name$();\n" |
+ "getMutable$capitalized_name$Value() {\n" |
+ " return internalGetMutable$capitalized_name$().getMutableMap();\n" |
"}\n"); |
} |
} else { |
@@ -478,252 +276,88 @@ GenerateMembers(io::Printer* printer) const { |
printer->Print( |
variables_, |
"private java.util.Map<$type_parameters$>\n" |
- "getMutable$capitalized_name$Map() {\n" |
- " return internalGetMutable$capitalized_name$();\n" |
+ "getMutable$capitalized_name$() {\n" |
+ " return internalGetMutable$capitalized_name$().getMutableMap();\n" |
"}\n"); |
} |
} |
void ImmutableMapFieldLiteGenerator:: |
GenerateBuilderMembers(io::Printer* printer) const { |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public int get$capitalized_name$Count() {\n" |
- " return instance.get$capitalized_name$Map().size();\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public boolean contains$capitalized_name$(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " return instance.get$capitalized_name$Map().containsKey(key);\n" |
- "}\n"); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public Builder clear$capitalized_name$() {\n" |
- " copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().clear();\n" |
- " return this;\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public Builder remove$capitalized_name$(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().remove(key);\n" |
- " return this;\n" |
- "}\n"); |
if (GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$() {\n" |
- " return get$capitalized_name$Map();\n" |
- "}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
"public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
- "get$capitalized_name$Map() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " instance.get$capitalized_name$Map());\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_enum_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_enum_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $value_enum_type$> map =\n" |
- " instance.get$capitalized_name$Map();\n" |
- " return map.containsKey(key)\n" |
- " ? map.get(key)\n" |
- " : defaultValue;\n" |
+ "get$capitalized_name$() {\n" |
+ " return instance.get$capitalized_name$();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
- "public $value_enum_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $value_enum_type$> map =\n" |
- " instance.get$capitalized_name$Map();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return map.get(key);\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$public Builder put$capitalized_name$(\n" |
- " $key_type$ key,\n" |
- " $value_enum_type$ value) {\n" |
- " $key_null_check$\n" |
- " $value_null_check$\n" |
+ "public java.util.Map<$boxed_key_type$, $value_enum_type$>\n" |
+ "getMutable$capitalized_name$() {\n" |
" copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().put(key, value);\n" |
- " return this;\n" |
+ " return instance.getMutable$capitalized_name$();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$public Builder putAll$capitalized_name$(\n" |
" java.util.Map<$boxed_key_type$, $value_enum_type$> values) {\n" |
- " copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().putAll(values);\n" |
+ " getMutable$capitalized_name$().putAll(values);\n" |
" return this;\n" |
"}\n"); |
if (SupportUnknownEnumValue(descriptor_->file())) { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$ValueMap()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
- "get$capitalized_name$Value() {\n" |
- " return get$capitalized_name$ValueMap();\n" |
- "}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
"public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
- "get$capitalized_name$ValueMap() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " instance.get$capitalized_name$ValueMap());\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$ValueOrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " instance.get$capitalized_name$ValueMap();\n" |
- " return map.containsKey(key) ? map.get(key) : defaultValue;\n" |
+ "get$capitalized_name$Value() {\n" |
+ " return instance.get$capitalized_name$Value();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$\n" |
- "public $value_type$ get$capitalized_name$ValueOrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" |
- " instance.get$capitalized_name$ValueMap();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return map.get(key);\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$public Builder put$capitalized_name$Value(\n" |
- " $key_type$ key,\n" |
- " $value_type$ value) {\n" |
- " $key_null_check$\n" |
- " if ($value_enum_type$.forNumber(value) == null) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
+ "public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" |
+ "getMutable$capitalized_name$Value() {\n" |
" copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$ValueMap().put(key, value);\n" |
- " return this;\n" |
+ " return instance.getMutable$capitalized_name$Value();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
"$deprecation$public Builder putAll$capitalized_name$Value(\n" |
" java.util.Map<$boxed_key_type$, $boxed_value_type$> values) {\n" |
- " copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$ValueMap().putAll(values);\n" |
+ " getMutable$capitalized_name$Value().putAll(values);\n" |
" return this;\n" |
"}\n"); |
} |
} else { |
- printer->Print( |
- variables_, |
- "/**\n" |
- " * Use {@link #get$capitalized_name$Map()} instead.\n" |
- " */\n" |
- "@java.lang.Deprecated\n" |
- "public java.util.Map<$type_parameters$> get$capitalized_name$() {\n" |
- " return get$capitalized_name$Map();\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$" |
- "public java.util.Map<$type_parameters$> get$capitalized_name$Map() {\n" |
- " return java.util.Collections.unmodifiableMap(\n" |
- " instance.get$capitalized_name$Map());\n" |
- "}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$OrDefault(\n" |
- " $key_type$ key,\n" |
- " $value_type$ defaultValue) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$type_parameters$> map =\n" |
- " instance.get$capitalized_name$Map();\n" |
- " return map.containsKey(key) ? map.get(key) : defaultValue;\n" |
- "}\n"); |
- WriteFieldDocComment(printer, descriptor_); |
- printer->Print( |
- variables_, |
- "$deprecation$\n" |
- "public $value_type$ get$capitalized_name$OrThrow(\n" |
- " $key_type$ key) {\n" |
- " $key_null_check$\n" |
- " java.util.Map<$type_parameters$> map =\n" |
- " instance.get$capitalized_name$Map();\n" |
- " if (!map.containsKey(key)) {\n" |
- " throw new java.lang.IllegalArgumentException();\n" |
- " }\n" |
- " return map.get(key);\n" |
+ "public java.util.Map<$type_parameters$> get$capitalized_name$() {\n" |
+ " return instance.get$capitalized_name$();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
- "$deprecation$" |
- "public Builder put$capitalized_name$(\n" |
- " $key_type$ key,\n" |
- " $value_type$ value) {\n" |
- " $key_null_check$\n" |
- " $value_null_check$\n" |
+ "public java.util.Map<$type_parameters$>\n" |
+ "getMutable$capitalized_name$() {\n" |
" copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().put(key, value);\n" |
- " return this;\n" |
+ " return instance.getMutable$capitalized_name$();\n" |
"}\n"); |
WriteFieldDocComment(printer, descriptor_); |
printer->Print( |
variables_, |
- "$deprecation$" |
"public Builder putAll$capitalized_name$(\n" |
" java.util.Map<$type_parameters$> values) {\n" |
- " copyOnWrite();\n" |
- " instance.getMutable$capitalized_name$Map().putAll(values);\n" |
+ " getMutable$capitalized_name$().putAll(values);\n" |
" return this;\n" |
"}\n"); |
} |
@@ -743,8 +377,8 @@ void ImmutableMapFieldLiteGenerator:: |
GenerateVisitCode(io::Printer* printer) const { |
printer->Print( |
variables_, |
- "$name$_ = visitor.visitMap(\n" |
- " $name$_, other.internalGet$capitalized_name$());\n"); |
+ "$name$_ = visitor.visitMap(internalGetMutable$capitalized_name$(),\n" |
+ " other.internalGet$capitalized_name$());\n"); |
} |
void ImmutableMapFieldLiteGenerator:: |
@@ -758,26 +392,29 @@ GenerateParsingCode(io::Printer* printer) const { |
printer->Print( |
variables_, |
"if (!$name$_.isMutable()) {\n" |
- " $name$_ = $name$_.mutableCopy();\n" |
+ " $name$_ = $name$_.copy();\n" |
"}\n"); |
if (!SupportUnknownEnumValue(descriptor_->file()) && |
GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) { |
printer->Print( |
variables_, |
"com.google.protobuf.ByteString bytes = input.readBytes();\n" |
- "java.util.Map.Entry<$type_parameters$> $name$__ =\n" |
- " $default_entry$.parseEntry(bytes, extensionRegistry);\n"); |
+ "com.google.protobuf.MapEntry$lite$<$type_parameters$>\n" |
+ "$name$ = $default_entry$.getParserForType().parseFrom(bytes);\n"); |
printer->Print( |
variables_, |
- "if ($value_enum_type$.forNumber($name$__.getValue()) == null) {\n" |
+ "if ($value_enum_type$.forNumber($name$.getValue()) == null) {\n" |
" super.mergeLengthDelimitedField($number$, bytes);\n" |
"} else {\n" |
- " $name$_.put($name$__);\n" |
+ " $name$_.getMutableMap().put($name$.getKey(), $name$.getValue());\n" |
"}\n"); |
} else { |
printer->Print( |
variables_, |
- "$default_entry$.parseInto($name$_, input, extensionRegistry);"); |
+ "com.google.protobuf.MapEntry$lite$<$type_parameters$>\n" |
+ "$name$ = input.readMessage(\n" |
+ " $default_entry$.getParserForType(), extensionRegistry);\n" |
+ "$name$_.getMutableMap().put($name$.getKey(), $name$.getValue());\n"); |
} |
} |
@@ -791,9 +428,13 @@ GenerateSerializationCode(io::Printer* printer) const { |
printer->Print( |
variables_, |
"for (java.util.Map.Entry<$type_parameters$> entry\n" |
- " : internalGet$capitalized_name$().entrySet()) {\n" |
- " $default_entry$.serializeTo(\n" |
- " output, $number$, entry.getKey(), entry.getValue());\n" |
+ " : internalGet$capitalized_name$().getMap().entrySet()) {\n" |
+ " com.google.protobuf.MapEntry$lite$<$type_parameters$>\n" |
+ " $name$ = $default_entry$.newBuilderForType()\n" |
+ " .setKey(entry.getKey())\n" |
+ " .setValue(entry.getValue())\n" |
+ " .build();\n" |
+ " output.writeMessage($number$, $name$);\n" |
"}\n"); |
} |
@@ -802,9 +443,14 @@ GenerateSerializedSizeCode(io::Printer* printer) const { |
printer->Print( |
variables_, |
"for (java.util.Map.Entry<$type_parameters$> entry\n" |
- " : internalGet$capitalized_name$().entrySet()) {\n" |
- " size += $default_entry$.computeMessageSize(\n" |
- " $number$, entry.getKey(), entry.getValue());\n" |
+ " : internalGet$capitalized_name$().getMap().entrySet()) {\n" |
+ " com.google.protobuf.MapEntry$lite$<$type_parameters$>\n" |
+ " $name$ = $default_entry$.newBuilderForType()\n" |
+ " .setKey(entry.getKey())\n" |
+ " .setValue(entry.getValue())\n" |
+ " .build();\n" |
+ " size += com.google.protobuf.CodedOutputStream\n" |
+ " .computeMessageSize($number$, $name$);\n" |
"}\n"); |
} |
@@ -820,7 +466,7 @@ void ImmutableMapFieldLiteGenerator:: |
GenerateHashCode(io::Printer* printer) const { |
printer->Print( |
variables_, |
- "if (!internalGet$capitalized_name$().isEmpty()) {\n" |
+ "if (!internalGet$capitalized_name$().getMap().isEmpty()) {\n" |
" hash = (37 * hash) + $constant_name$;\n" |
" hash = (53 * hash) + internalGet$capitalized_name$().hashCode();\n" |
"}\n"); |