Skip to content

Commit

Permalink
Add semantic annotations for proto field accessors in java
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 532148589
  • Loading branch information
protobuf-github-bot authored and Copybara-Service committed May 15, 2023
1 parent 9dd2e26 commit 191f4be
Show file tree
Hide file tree
Showing 7 changed files with 98 additions and 77 deletions.
25 changes: 13 additions & 12 deletions src/google/protobuf/compiler/java/enum_field.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ namespace compiler {
namespace java {

namespace {
using Semantic = ::google::protobuf::io::AnnotationCollector::Semantic;

void SetEnumVariables(
const FieldDescriptor* descriptor, int messageBitIndex, int builderBitIndex,
Expand Down Expand Up @@ -237,7 +238,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_,
Expand All @@ -260,7 +261,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true);
printer->Print(
Expand All @@ -271,7 +272,7 @@ void ImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}

void ImmutableEnumFieldGenerator::GenerateKotlinDslMembers(
Expand Down Expand Up @@ -495,7 +496,7 @@ void ImmutableEnumOneofFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_,
Expand Down Expand Up @@ -523,7 +524,7 @@ void ImmutableEnumOneofFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true);
Expand All @@ -537,7 +538,7 @@ void ImmutableEnumOneofFieldGenerator::GenerateBuilderMembers(
" }\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}

void ImmutableEnumOneofFieldGenerator::GenerateBuilderClearCode(
Expand Down Expand Up @@ -804,7 +805,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ true);
printer->Print(variables_,
Expand All @@ -818,7 +819,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ true);
printer->Print(variables_,
Expand All @@ -831,7 +832,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true);
printer->Print(
Expand All @@ -842,7 +843,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

if (SupportUnknownEnumValue(descriptor_)) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_GETTER);
Expand Down Expand Up @@ -872,7 +873,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ true);
printer->Print(variables_,
Expand All @@ -883,7 +884,7 @@ void RepeatedImmutableEnumFieldGenerator::GenerateBuilderMembers(
" onChanged();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_,
LIST_MULTI_ADDER, /* builder */ true);
printer->Print(
Expand Down
17 changes: 9 additions & 8 deletions src/google/protobuf/compiler/java/map_field.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ namespace compiler {
namespace java {

namespace {
using Semantic = ::google::protobuf::io::AnnotationCollector::Semantic;

std::string TypeName(const FieldDescriptor* field,
ClassNameResolver* name_resolver, bool boxed) {
Expand Down Expand Up @@ -409,7 +410,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" .clear();\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_,
Expand All @@ -420,7 +421,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" .remove(key);\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

const FieldDescriptor* value = MapValueField(descriptor_);
if (GetJavaType(value) == JAVATYPE_ENUM) {
Expand Down Expand Up @@ -452,7 +453,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

WriteFieldDocComment(printer, descriptor_);
printer->Print(
Expand All @@ -465,7 +466,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

if (SupportUnknownEnumValue(value)) {
if (context_->options().opensource_runtime) {
Expand Down Expand Up @@ -496,7 +497,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

WriteFieldDocComment(printer, descriptor_);
printer->Print(
Expand All @@ -508,7 +509,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
} else {
if (context_->options().opensource_runtime) {
Expand Down Expand Up @@ -538,7 +539,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);

WriteFieldDocComment(printer, descriptor_);
printer->Print(
Expand All @@ -550,7 +551,7 @@ void ImmutableMapFieldGenerator::GenerateBuilderMembers(
" $set_has_field_bit_builder$\n"
" return this;\n"
"}\n");
printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_, Semantic::kSet);
}
}

Expand Down

0 comments on commit 191f4be

Please sign in to comment.