Annotate message field builder getters with Semantic::kSet

As an analog to the C++ mutable_foo() member functions,
uses of Java builders should appear as writes in Code Search.
They should be marked with the kSet semantic.

Note that the get*OrBuilder[List] methods should *not* be
marked with kSet as they do not return a mutable object.

PiperOrigin-RevId: 579079084
pull/14628/head
Protobuf Team Bot 1 year ago committed by Copybara-Service
parent 0d5cb3a6a6
commit e682ab6bc3
  1. 10
      src/google/protobuf/compiler/java/message_field.cc

@ -342,7 +342,7 @@ void ImmutableMessageFieldGenerator::GenerateBuilderMembers(
" $on_changed$\n"
" return get$capitalized_name$FieldBuilder().getBuilder();\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
// FieldOrBuilder getFieldOrBuilder()
WriteFieldDocComment(printer, descriptor_, context_->options());
@ -692,7 +692,7 @@ void ImmutableMessageOneofFieldGenerator::GenerateBuilderMembers(
"${$get$capitalized_name$Builder$}$() {\n"
" return get$capitalized_name$FieldBuilder().getBuilder();\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldDocComment(printer, descriptor_, context_->options());
printer->Print(
variables_,
@ -730,7 +730,7 @@ void ImmutableMessageOneofFieldGenerator::GenerateBuilderMembers(
" $on_changed$\n"
" return $name$Builder_;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
void ImmutableMessageOneofFieldGenerator::GenerateBuilderClearCode(
@ -1148,7 +1148,7 @@ void RepeatedImmutableMessageFieldGenerator::GenerateBuilderMembers(
" int index) {\n"
" return get$capitalized_name$FieldBuilder().getBuilder(index);\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
// FieldOrBuilder getRepeatedFieldOrBuilder(int index)
WriteFieldDocComment(printer, descriptor_, context_->options());
@ -1222,7 +1222,7 @@ void RepeatedImmutableMessageFieldGenerator::GenerateBuilderMembers(
" }\n"
" return $name$Builder_;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
void RepeatedImmutableMessageFieldGenerator::

Loading…
Cancel
Save