Browse Source

Clear oneofs.

Jisi Liu 10 years ago
parent
commit
3accf81ea9
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/google/protobuf/compiler/javanano/javanano_message.cc

+ 8 - 0
src/google/protobuf/compiler/javanano/javanano_message.cc

@@ -508,6 +508,14 @@ void MessageGenerator::GenerateClear(io::Printer* printer) {
     field_generators_.get(field).GenerateClearCode(printer);
   }
 
+  // Clear oneofs.
+  for (int i = 0; i < descriptor_->oneof_decl_count(); i++) {
+    printer->Print(
+      "clear$oneof_capitalized_name$();\n",
+      "oneof_capitalized_name", UnderscoresToCapitalizedCamelCase(
+          descriptor_->oneof_decl(i)));
+  }
+
   // Clear unknown fields.
   if (params_.store_unknown_fields()) {
     printer->Print("unknownFieldData = null;\n");