Simplify has-bit template variable names in Java immutable generators.

Since builder and message bit indices are now unified (single bit_index_), suffixing has-bit template variables with `_builder` or `_message` is redundant.

Simplify variable names across Java immutable field generators:
- `set_has_field_bit_builder` -> `set_has_field_bit`
- `get_has_field_bit_builder` -> `get_has_field_bit`
- `clear_has_field_bit_builder` -> `clear_has_field_bit`
- `is_field_present_message` -> `is_field_present`
- `is_other_field_present_message` -> `is_other_field_present`
- Remove unused `set_has_field_bit_message` in string_field.cc.

PiperOrigin-RevId: 960593828
This commit is contained in:
Protobuf Team Bot 2026-08-06 17:33:25 -07:00 committed by Copybara-Service
parent f23e709bcf
commit 2787402df4
5 changed files with 105 additions and 110 deletions

View file

@ -75,24 +75,24 @@ void SetEnumVariables(
// Note that these have a trailing ";".
(*variables)["set_has_field_bit_to_local"] =
GenerateSetBitToLocal(bit_index);
(*variables)["is_field_present_message"] = GenerateGetBit(bit_index);
(*variables)["is_field_present"] = GenerateGetBit(bit_index);
} else {
(*variables)["set_has_field_bit_to_local"] = "";
variables->insert({"is_field_present_message",
variables->insert({"is_field_present",
absl::StrCat((*variables)["name"], "_ != ",
(*variables)["default"], ".getNumber()")});
}
// Always track the presence of a field explicitly in the builder, regardless
// of syntax.
(*variables)["get_has_field_bit_builder"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit_from_local"] =
GenerateGetBitFromLocal(bit_index);
// Note that these have a trailing ";".
(*variables)["set_has_field_bit_builder"] =
(*variables)["set_has_field_bit"] =
absl::StrCat(GenerateSetBit(bit_index), ";");
(*variables)["clear_has_field_bit_builder"] =
(*variables)["clear_has_field_bit"] =
absl::StrCat(GenerateClearBit(bit_index), ";");
(*variables)["unknown"] =
@ -143,7 +143,7 @@ void ImmutableEnumFieldGenerator::GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
"@java.lang.Override $deprecation$public boolean "
"${$has$capitalized_name$$}$() {\n"
" return $is_field_present_message$;\n"
" return $is_field_present$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -177,7 +177,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
printer->Print(variables_,
"@java.lang.Override $deprecation$public boolean "
"${$has$capitalized_name$$}$() {\n"
" return $get_has_field_bit_builder$;\n"
" return $get_has_field_bit$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -197,7 +197,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
"$deprecation$public Builder "
"${$set$capitalized_name$Value$}$(int value) {\n"
" $name$_ = value;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" onChanged();\n"
" return this;\n"
"}\n");
@ -219,7 +219,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
"$deprecation$public Builder "
"${$set$capitalized_name$$}$($type$ value) {\n"
" $null_check$\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $name$_ = value.getNumber();\n"
" onChanged();\n"
" return this;\n"
@ -231,7 +231,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
printer->Print(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" $name$_ = $default_number$;\n"
" onChanged();\n"
" return this;\n"
@ -290,7 +290,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderParsingCode(
if (SupportUnknownEnumValue(descriptor_)) {
printer->Print(variables_,
"$name$_ = input.readEnum();\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
} else {
printer->Print(variables_,
"int tmpRaw = input.readEnum();\n"
@ -300,7 +300,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderParsingCode(
" mergeUnknownVarintField($number$, tmpRaw);\n"
"} else {\n"
" $name$_ = tmpRaw;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
"}\n");
}
}
@ -308,7 +308,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderParsingCode(
void ImmutableEnumFieldGenerator::GenerateSerializationCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" output.writeEnum($number$, $name$_);\n"
"}\n");
}
@ -316,7 +316,7 @@ void ImmutableEnumFieldGenerator::GenerateSerializationCode(
void ImmutableEnumFieldGenerator::GenerateSerializedSizeCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" size += com.google.protobuf.CodedOutputStream\n"
" .computeEnumSize($number$, $name$_);\n"
"}\n");
@ -681,7 +681,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" if (!$name$_.isModifiable()) {\n"
" $name$_ = makeMutableCopy($name$_, capacity);\n"
" }\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
"}\n");
WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER,
@ -761,7 +761,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $name$_ = $empty_list$;\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -855,7 +855,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateMergingCode(
" if ($name$_.isEmpty()) {\n"
" $name$_ = other.$name$_;\n"
" $name_make_immutable$;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" } else {\n"
" ensure$capitalized_name$IsMutable(/* capacity= */ -1);\n"
" $name$_.addAll(other.$name$_);\n"

View file

@ -162,12 +162,12 @@ void ImmutableMapFieldGenerator::SetMessageVariables(
variables_["descriptor"] = absl::StrCat(
name_resolver->GetImmutableClassName(descriptor_->file()), ".internal_",
UniqueFileScopeIdentifier(descriptor_->message_type()), "_descriptor, ");
variables_["get_has_field_bit_builder"] = GenerateGetBit(bit_index_);
variables_["get_has_field_bit"] = GenerateGetBit(bit_index_);
variables_["get_has_field_bit_from_local"] =
GenerateGetBitFromLocal(bit_index_);
variables_["set_has_field_bit_builder"] =
variables_["set_has_field_bit"] =
absl::StrCat(GenerateSetBit(bit_index_), ";");
variables_["clear_has_field_bit_builder"] =
variables_["clear_has_field_bit"] =
absl::StrCat(GenerateClearBit(bit_index_), ";");
}
@ -351,7 +351,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" if (!$name$_.isMutable()) {\n"
" $name$_ = $name$_.copy();\n"
" }\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return $name$_;\n"
"}\n");
@ -359,7 +359,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
printer->Print(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .clear();\n"
" return this;\n"
@ -388,7 +388,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
"@java.lang.Deprecated\n"
"public java.util.Map<$boxed_key_type$, $value_enum_type$>\n"
" ${$getMutable$capitalized_name$$}$() {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return internalGetAdapted$capitalized_name$Map(\n"
" internalGetMutable$capitalized_name$().getMutableMap());\n"
"}\n");
@ -404,7 +404,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $value_null_check$\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .put(key, $name$ValueConverter.doBackward(value));\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -417,7 +417,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" internalGetAdapted$capitalized_name$Map(\n"
" internalGetMutable$capitalized_name$().getMutableMap())\n"
" .putAll(values);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -432,7 +432,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
"@java.lang.Deprecated\n"
"public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n"
"${$getMutable$capitalized_name$Value$}$() {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return internalGetMutable$capitalized_name$().getMutableMap();\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
@ -448,7 +448,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $value_null_check$\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .put(key, value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -460,7 +460,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" java.util.Map<$boxed_key_type$, $boxed_value_type$> values) {\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .putAll(values);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -475,7 +475,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
"@java.lang.Deprecated\n"
"public java.util.Map<$type_parameters$>\n"
" ${$getMutable$capitalized_name$$}$() {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return internalGetMutable$capitalized_name$().getMutableMap();\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
@ -490,7 +490,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $value_null_check$\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .put(key, value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -502,7 +502,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" java.util.Map<$type_parameters$> values) {\n"
" internalGetMutable$capitalized_name$().getMutableMap()\n"
" .putAll(values);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -758,7 +758,7 @@ void ImmutableMapFieldGenerator::GenerateMessageMapBuilderMembers(
" $name$_ = new "
"com.google.protobuf.MapFieldBuilder<>($name$Converter);\n"
" }\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return $name$_;\n"
"}\n");
@ -766,7 +766,7 @@ void ImmutableMapFieldGenerator::GenerateMessageMapBuilderMembers(
printer->Print(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" internalGetMutable$capitalized_name$().clear();\n"
" return this;\n"
"}\n");
@ -792,7 +792,7 @@ void ImmutableMapFieldGenerator::GenerateMessageMapBuilderMembers(
"@java.lang.Deprecated\n"
"public java.util.Map<$type_parameters$>\n"
" ${$getMutable$capitalized_name$$}$() {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return internalGetMutable$capitalized_name$().ensureMessageMap();\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
@ -807,7 +807,7 @@ void ImmutableMapFieldGenerator::GenerateMessageMapBuilderMembers(
" $value_null_check$\n"
" internalGetMutable$capitalized_name$().ensureBuilderMap()\n"
" .put(key, value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -823,7 +823,7 @@ void ImmutableMapFieldGenerator::GenerateMessageMapBuilderMembers(
" }\n"
" internalGetMutable$capitalized_name$().ensureBuilderMap()\n"
" .putAll(values);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
@ -945,7 +945,7 @@ void ImmutableMapFieldGenerator::GenerateMergingCode(
printer->Print(variables_,
"internalGetMutable$capitalized_name$().mergeFrom(\n"
" other.internalGet$capitalized_name$());\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
}
void ImmutableMapFieldGenerator::GenerateBuildingCode(
@ -978,7 +978,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderParsingCode(
" $default_entry$.getParserForType(), extensionRegistry);\n"
"internalGetMutable$capitalized_name$().ensureBuilderMap().put(\n"
" $name$__.getKey(), $name$__.getValue());\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
return;
}
if (!SupportUnknownEnumValue(value) && type == JAVATYPE_ENUM) {
@ -992,7 +992,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderParsingCode(
"} else {\n"
" internalGetMutable$capitalized_name$().getMutableMap().put(\n"
" $name$__.getKey(), $name$__.getValue());\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
"}\n");
return;
}
@ -1002,7 +1002,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderParsingCode(
" $default_entry$.getParserForType(), extensionRegistry);\n"
"internalGetMutable$capitalized_name$().getMutableMap().put(\n"
" $name$__.getKey(), $name$__.getValue());\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
}
void ImmutableMapFieldGenerator::GenerateSerializationCode(
io::Printer* printer) const {

View file

@ -62,11 +62,11 @@ void SetMessageVariables(
(*variables)["set_has_field_bit_to_local"] =
GenerateSetBitToLocal(bit_index);
(*variables)["is_field_present_message"] = GenerateGetBit(bit_index);
(*variables)["is_field_present"] = GenerateGetBit(bit_index);
} else {
(*variables)["set_has_field_bit_to_local"] = "";
variables->insert({"is_field_present_message",
absl::StrCat((*variables)["name"], "_ != null")});
variables->insert(
{"is_field_present", absl::StrCat((*variables)["name"], "_ != null")});
}
// For repeated builders, one bit is used for whether the array is immutable.
@ -74,10 +74,10 @@ void SetMessageVariables(
(*variables)["set_mutable_bit_builder"] = GenerateSetBit(bit_index);
(*variables)["clear_mutable_bit_builder"] = GenerateClearBit(bit_index);
(*variables)["get_has_field_bit_builder"] = GenerateGetBit(bit_index);
(*variables)["set_has_field_bit_builder"] =
(*variables)["get_has_field_bit"] = GenerateGetBit(bit_index);
(*variables)["set_has_field_bit"] =
absl::StrCat(GenerateSetBit(bit_index), ";");
(*variables)["clear_has_field_bit_builder"] =
(*variables)["clear_has_field_bit"] =
absl::StrCat(GenerateClearBit(bit_index), ";");
(*variables)["get_has_field_bit_from_local"] =
GenerateGetBitFromLocal(bit_index);
@ -139,7 +139,7 @@ void ImmutableMessageFieldGenerator::GenerateHasMethod(
printer->Print(variables_,
"@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $is_field_present_message$;\n"
" return $is_field_present$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -218,7 +218,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderHasMethod(
context_->options());
printer->Print(variables_,
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $get_has_field_bit_builder$;\n"
" return $get_has_field_bit$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -247,7 +247,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderSetMethod(
"$name$Builder_.setMessage(value);\n",
"$set_has_field_bit_builder$\n"
"$set_has_field_bit$\n"
"$on_changed$\n"
"return this;\n",
Semantic::kSet);
@ -273,7 +273,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderMergeMethod(
PrintNestedBuilderFunction(
printer,
"$deprecation$public Builder ${$merge$capitalized_name$$}$($type$ value)",
"if ($get_has_field_bit_builder$ &&\n"
"if ($get_has_field_bit$ &&\n"
" $name$_ != null &&\n"
" $name$_ != $type$.getDefaultInstance()) {\n"
" get$capitalized_name$Builder().mergeFrom(value);\n"
@ -284,7 +284,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderMergeMethod(
"$name$Builder_.mergeFrom(value);\n",
"if ($name$_ != null) {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
"}\n"
"return this;\n",
@ -298,7 +298,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderClearMethod(
printer->Print(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" $name$_ = null;\n"
" if ($name$Builder_ != null) {\n"
" $name$Builder_.dispose();\n"
@ -317,7 +317,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderGetBuilderMethod(
printer->Print(variables_,
"$deprecation$public $type$.Builder "
"${$get$capitalized_name$Builder$}$() {\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return "
"internalGet$capitalized_name$FieldBuilder().getBuilder();\n"
@ -386,7 +386,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderParseMethod(
" $name$_ = input.readGroup($number$, $type$.parser(),\n"
" extensionRegistry);\n"
"}\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
} else {
printer->Print(
variables_,
@ -398,7 +398,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderParseMethod(
"} else {\n"
" $name$_ = input.readMessage($type$.parser(), extensionRegistry);\n"
"}\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
}
printer->Outdent();
printer->Print("}\n");
@ -480,7 +480,7 @@ void ImmutableMessageFieldGenerator::GenerateSerializationCode(
io::Printer* printer) const {
printer->Print(
variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" output.write$group_or_message$($number$, get$capitalized_name$());\n"
"}\n");
}
@ -489,7 +489,7 @@ void ImmutableMessageFieldGenerator::GenerateSerializedSizeCode(
io::Printer* printer) const {
printer->Print(
variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" size += com.google.protobuf.CodedOutputStream\n"
" .compute$group_or_message$Size($number$, get$capitalized_name$());\n"
"}\n");

View file

@ -131,15 +131,15 @@ void SetPrimitiveVariables(
// Note that these have a trailing ";".
(*variables)["set_has_field_bit_to_local"] =
absl::StrCat(GenerateSetBitToLocal(bit_index), ";");
(*variables)["is_field_present_message"] = GenerateGetBit(bit_index);
(*variables)["is_other_field_present_message"] =
(*variables)["is_field_present"] = GenerateGetBit(bit_index);
(*variables)["is_other_field_present"] =
absl::StrCat("other.has", (*variables)["capitalized_name"], "()");
} else {
(*variables)["set_has_field_bit_to_local"] = "";
switch (descriptor->type()) {
case FieldDescriptor::TYPE_BYTES:
AddPrimitiveVariableForThisAndOther(
"is_field_present_message", "is_other_field_present_message",
"is_field_present", "is_other_field_present",
[](absl::string_view value) {
return absl::StrCat("!", value, ".isEmpty()");
},
@ -147,7 +147,7 @@ void SetPrimitiveVariables(
break;
case FieldDescriptor::TYPE_FLOAT:
AddPrimitiveVariableForThisAndOther(
"is_field_present_message", "is_other_field_present_message",
"is_field_present", "is_other_field_present",
[](absl::string_view value) {
return absl::StrCat("java.lang.Float.floatToRawIntBits(", value,
") != 0");
@ -156,7 +156,7 @@ void SetPrimitiveVariables(
break;
case FieldDescriptor::TYPE_DOUBLE:
AddPrimitiveVariableForThisAndOther(
"is_field_present_message", "is_other_field_present_message",
"is_field_present", "is_other_field_present",
[](absl::string_view value) {
return absl::StrCat("java.lang.Double.doubleToRawLongBits(",
value, ") != 0");
@ -165,7 +165,7 @@ void SetPrimitiveVariables(
break;
default:
AddPrimitiveVariableForThisAndOther(
"is_field_present_message", "is_other_field_present_message",
"is_field_present", "is_other_field_present",
[variables](absl::string_view value) {
return absl::StrCat(value, " != ", (*variables)["default"]);
},
@ -176,12 +176,12 @@ void SetPrimitiveVariables(
// Always track the presence of a field explicitly in the builder, regardless
// of syntax.
(*variables)["get_has_field_bit_builder"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit_from_local"] =
GenerateGetBitFromLocal(bit_index);
(*variables)["set_has_field_bit_builder"] =
(*variables)["set_has_field_bit"] =
absl::StrCat(GenerateSetBit(bit_index), ";");
(*variables)["clear_has_field_bit_builder"] =
(*variables)["clear_has_field_bit"] =
absl::StrCat(GenerateClearBit(bit_index), ";");
}
@ -223,7 +223,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateMembers(
variables_,
"@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $is_field_present_message$;\n"
" return $is_field_present$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -249,7 +249,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
variables_,
"@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $get_has_field_bit_builder$;\n"
" return $get_has_field_bit$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -271,7 +271,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
"${$set$capitalized_name$$}$($type$ value) {\n"
" $null_check$\n"
" $name$_ = value;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -283,7 +283,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
printer->Print(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n");
" $clear_has_field_bit$\n");
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
JavaType type = GetJavaType(descriptor_);
if (type == JAVATYPE_STRING || type == JAVATYPE_BYTES) {
@ -322,7 +322,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateBuilderClearCode(
void ImmutablePrimitiveFieldGenerator::GenerateMergingCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_other_field_present_message$) {\n"
"if ($is_other_field_present$) {\n"
" set$capitalized_name$(other.get$capitalized_name$());\n"
"}\n");
}
@ -342,13 +342,13 @@ void ImmutablePrimitiveFieldGenerator::GenerateBuilderParsingCode(
io::Printer* printer) const {
printer->Print(variables_,
"$name$_ = input.read$capitalized_type$();\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
}
void ImmutablePrimitiveFieldGenerator::GenerateSerializationCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" output.write$capitalized_type$($number$, $name$_);\n"
"}\n");
}
@ -356,7 +356,7 @@ void ImmutablePrimitiveFieldGenerator::GenerateSerializationCode(
void ImmutablePrimitiveFieldGenerator::GenerateSerializedSizeCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" size += com.google.protobuf.CodedOutputStream\n"
" .compute$capitalized_type$Size($number$, $name$_);\n"
"}\n");
@ -693,7 +693,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
" if (!$name$_.isModifiable()) {\n"
" $name$_ = makeMutableCopy($name$_, capacity);\n"
" }\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
"}\n");
// Note: We return an unmodifiable list because otherwise the caller
@ -734,7 +734,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
" $null_check$\n"
" ensure$capitalized_name$IsMutable(/* capacity= */ -1);\n"
" $repeated_set$(index, value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -748,7 +748,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
" $null_check$\n"
" ensure$capitalized_name$IsMutable(/* capacity= */ -1);\n"
" $repeated_add$(value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -762,7 +762,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
" ensure$capitalized_name$IsMutable(/* capacity= */ -1);\n"
" com.google.protobuf.AbstractMessageLite.Builder.addAll(\n"
" values, $name$_);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -774,7 +774,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateBuilderMembers(
variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $name$_ = $empty_list$;\n"
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -808,7 +808,7 @@ void RepeatedImmutablePrimitiveFieldGenerator::GenerateMergingCode(
" if ($name$_.isEmpty()) {\n"
" $name$_ = other.$name$_;\n"
" $name_make_immutable$;\n"
" $set_has_field_bit_builder$\n");
" $set_has_field_bit$\n");
printer->Print(variables_,
" } else {\n"
" ensure$capitalized_name$IsMutable(/* capacity= */ -1);\n"

View file

@ -77,26 +77,21 @@ void SetPrimitiveVariables(
(*variables)["set_has_field_bit_to_local"] =
GenerateSetBitToLocal(bit_index);
// Note that these have a trailing ";".
(*variables)["set_has_field_bit_message"] =
absl::StrCat(GenerateSetBit(bit_index), ";");
(*variables)["is_field_present_message"] = GenerateGetBit(bit_index);
(*variables)["is_field_present"] = GenerateGetBit(bit_index);
} else {
(*variables)["set_has_field_bit_to_local"] = "";
(*variables)["set_has_field_bit_message"] = "";
variables->insert({"is_field_present_message",
absl::StrCat("!", (*variables)["isStringEmpty"], "(",
(*variables)["name"], "_)")});
variables->insert(
{"is_field_present", absl::StrCat("!", (*variables)["isStringEmpty"],
"(", (*variables)["name"], "_)")});
}
(*variables)["get_has_field_bit_builder"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit"] = GenerateGetBit(bit_index);
(*variables)["get_has_field_bit_from_local"] =
GenerateGetBitFromLocal(bit_index);
(*variables)["set_has_field_bit_builder"] =
(*variables)["set_has_field_bit"] =
absl::StrCat(GenerateSetBit(bit_index), ";");
(*variables)["clear_has_field_bit_builder"] =
(*variables)["clear_has_field_bit"] =
absl::StrCat(GenerateClearBit(bit_index), ";");
}
@ -178,7 +173,7 @@ void ImmutableStringFieldGenerator::GenerateMembers(
variables_,
"@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $is_field_present_message$;\n"
" return $is_field_present$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -241,7 +236,7 @@ void ImmutableStringFieldGenerator::GenerateBuilderMembers(
printer->Print(
variables_,
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $get_has_field_bit_builder$;\n"
" return $get_has_field_bit$;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
}
@ -298,7 +293,7 @@ void ImmutableStringFieldGenerator::GenerateBuilderMembers(
" java.lang.String value) {\n"
" $null_check$\n"
" $name$_ = value;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -315,7 +310,7 @@ void ImmutableStringFieldGenerator::GenerateBuilderMembers(
printer->Print(variables_,
" $name$_ = getDefaultInstance().get$capitalized_name$();\n");
printer->Print(variables_,
" $clear_has_field_bit_builder$\n"
" $clear_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -334,7 +329,7 @@ void ImmutableStringFieldGenerator::GenerateBuilderMembers(
}
printer->Print(variables_,
" $name$_ = value;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -363,14 +358,14 @@ void ImmutableStringFieldGenerator::GenerateMergingCode(
printer->Print(variables_,
"if (other.has$capitalized_name$()) {\n"
" $name$_ = other.$name$_;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
"}\n");
} else {
printer->Print(variables_,
"if (!other.get$capitalized_name$().isEmpty()) {\n"
" $name$_ = other.$name$_;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
"}\n");
}
@ -393,18 +388,18 @@ void ImmutableStringFieldGenerator::GenerateBuilderParsingCode(
printer->Print(variables_,
"$name$_ = "
"input.readStringRequireUtf8();\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
} else {
printer->Print(variables_,
"$name$_ = input.readBytes();\n"
"$set_has_field_bit_builder$\n");
"$set_has_field_bit$\n");
}
}
void ImmutableStringFieldGenerator::GenerateSerializationCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" $writeString$(output, $number$, $name$_);\n"
"}\n");
}
@ -412,7 +407,7 @@ void ImmutableStringFieldGenerator::GenerateSerializationCode(
void ImmutableStringFieldGenerator::GenerateSerializedSizeCode(
io::Printer* printer) const {
printer->Print(variables_,
"if ($is_field_present_message$) {\n"
"if ($is_field_present$) {\n"
" size += $computeStringSize$($number$, $name$_);\n"
"}\n");
}
@ -778,7 +773,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
" if (!$name$_.isModifiable()) {\n"
" $name$_ = new com.google.protobuf.LazyStringArrayList($name$_);\n"
" }\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
"}\n");
// Note: We return an unmodifiable list because otherwise the caller
@ -827,7 +822,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
" $null_check$\n"
" ensure$capitalized_name$IsMutable();\n"
" $name$_.set(index, value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -841,7 +836,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
" $null_check$\n"
" ensure$capitalized_name$IsMutable();\n"
" $name$_.add(value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -855,7 +850,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
" ensure$capitalized_name$IsMutable();\n"
" com.google.protobuf.AbstractMessageLite.Builder.addAll(\n"
" values, $name$_);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -868,7 +863,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $name$_ =\n"
" $empty_list$;\n"
" $clear_has_field_bit_builder$;\n"
" $clear_has_field_bit$;\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -889,7 +884,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateBuilderMembers(
printer->Print(variables_,
" ensure$capitalized_name$IsMutable();\n"
" $name$_.add(value);\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" $on_changed$\n"
" return this;\n"
"}\n");
@ -925,7 +920,7 @@ void RepeatedImmutableStringFieldGenerator::GenerateMergingCode(
"if (!other.$name$_.isEmpty()) {\n"
" if ($name$_.isEmpty()) {\n"
" $name$_ = other.$name$_;\n"
" $set_has_field_bit_builder$\n"
" $set_has_field_bit$\n"
" } else {\n"
" ensure$capitalized_name$IsMutable();\n"
" $name$_.addAll(other.$name$_);\n"