소스 검색

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::