Преглед на файлове

Equals for message oneof field in nano.

Jisi Liu преди 10 години
родител
ревизия
06a2e29855
променени са 1 файла, в които са добавени 10 реда и са изтрити 0 реда
  1. 10 0
      src/google/protobuf/compiler/javanano/javanano_message_field.cc

+ 10 - 0
src/google/protobuf/compiler/javanano/javanano_message_field.cc

@@ -214,6 +214,16 @@ GenerateSerializedSizeCode(io::Printer* printer) const {
 
 void MessageOneofFieldGenerator::
 GenerateEqualsCode(io::Printer* printer) const {
+  printer->Print(variables_,
+    "if (this.has$capitalized_name$()) {\n"
+    "  if (!this.$oneof_name$_.equals(other.$oneof_name$_)) {\n"
+    "    return false;\n"
+    "  }\n"
+    "} else {\n"
+    "  if (other.has$capitalized_name$()) {\n"
+    "    return false;\n"
+    "  }\n"
+    "}\n");
 }
 
 void MessageOneofFieldGenerator::