Commit 27228494 authored by Justin Buchanan's avatar Justin Buchanan Committed by Adam Cozzette

emit annotations for oneof field accessors in c++

parent da5e11b6
......@@ -643,6 +643,7 @@ class PROTOC_EXPORT Formatter {
static std::string ToString(const EnumValueDescriptor* d) {
return Payload(d);
}
static std::string ToString(const OneofDescriptor* d) { return Payload(d); }
template <typename Descriptor>
static std::string Payload(const Descriptor* descriptor) {
......
......@@ -761,8 +761,8 @@ void MessageGenerator::GenerateFieldAccessorDeclarations(io::Printer* printer) {
format.Set("oneof_name", oneof->name());
format.Set("camel_oneof_name", UnderscoresToCamelCase(oneof->name(), true));
format(
"void clear_$oneof_name$();\n"
"$camel_oneof_name$Case $oneof_name$_case() const;\n");
"void ${1$clear_$oneof_name$$}$();\n"
"$camel_oneof_name$Case $oneof_name$_case() const;\n", oneof);
}
}
......@@ -1511,10 +1511,10 @@ void MessageGenerator::GenerateInlineMethods(io::Printer* printer) {
format.Set("oneof_index", oneof->index());
format(
"inline $classname$::$camel_oneof_name$Case $classname$::"
"$oneof_name$_case() const {\n"
"${1$$oneof_name$_case$}$() const {\n"
" return $classname$::$camel_oneof_name$Case("
"_oneof_case_[$oneof_index$]);\n"
"}\n");
"}\n", oneof);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment