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 { ...@@ -643,6 +643,7 @@ class PROTOC_EXPORT Formatter {
static std::string ToString(const EnumValueDescriptor* d) { static std::string ToString(const EnumValueDescriptor* d) {
return Payload(d); return Payload(d);
} }
static std::string ToString(const OneofDescriptor* d) { return Payload(d); }
template <typename Descriptor> template <typename Descriptor>
static std::string Payload(const Descriptor* descriptor) { static std::string Payload(const Descriptor* descriptor) {
......
...@@ -761,8 +761,8 @@ void MessageGenerator::GenerateFieldAccessorDeclarations(io::Printer* printer) { ...@@ -761,8 +761,8 @@ void MessageGenerator::GenerateFieldAccessorDeclarations(io::Printer* printer) {
format.Set("oneof_name", oneof->name()); format.Set("oneof_name", oneof->name());
format.Set("camel_oneof_name", UnderscoresToCamelCase(oneof->name(), true)); format.Set("camel_oneof_name", UnderscoresToCamelCase(oneof->name(), true));
format( format(
"void clear_$oneof_name$();\n" "void ${1$clear_$oneof_name$$}$();\n"
"$camel_oneof_name$Case $oneof_name$_case() const;\n"); "$camel_oneof_name$Case $oneof_name$_case() const;\n", oneof);
} }
} }
...@@ -1511,10 +1511,10 @@ void MessageGenerator::GenerateInlineMethods(io::Printer* printer) { ...@@ -1511,10 +1511,10 @@ void MessageGenerator::GenerateInlineMethods(io::Printer* printer) {
format.Set("oneof_index", oneof->index()); format.Set("oneof_index", oneof->index());
format( format(
"inline $classname$::$camel_oneof_name$Case $classname$::" "inline $classname$::$camel_oneof_name$Case $classname$::"
"$oneof_name$_case() const {\n" "${1$$oneof_name$_case$}$() const {\n"
" return $classname$::$camel_oneof_name$Case(" " return $classname$::$camel_oneof_name$Case("
"_oneof_case_[$oneof_index$]);\n" "_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