aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/protos
diff options
context:
space:
mode:
authorGravatar Jon Skeet <jonskeet@google.com>2017-10-24 14:14:15 +0100
committerGravatar Jon Skeet <skeet@pobox.com>2017-10-31 17:11:40 -0700
commitcbe250591fca9d2e776776be065a72c5550a5556 (patch)
treeb9b6b3de8fe8af9aaa9238b40611bf09f8f87b65 /csharp/protos
parent6dd82243932e929331f3808742b191c85a353461 (diff)
Fix merging with message-valued oneof
If messages A and B have the same oneof case, which is a message type, and we merge B into A, those sub-messages should be merged. Fixes #3200. Note that I haven't regenerated all the code, as some of the protos have been changed, breaking generation.
Diffstat (limited to 'csharp/protos')
-rw-r--r--csharp/protos/unittest_issues.proto15
1 files changed, 15 insertions, 0 deletions
diff --git a/csharp/protos/unittest_issues.proto b/csharp/protos/unittest_issues.proto
index 6c9f7634..332c81dc 100644
--- a/csharp/protos/unittest_issues.proto
+++ b/csharp/protos/unittest_issues.proto
@@ -124,3 +124,18 @@ message TestJsonName {
string description = 2 [json_name = "desc"];
string guid = 3 [json_name = "exid"];
}
+
+// Issue 3200: When merging two messages which use the same
+// oneof case, which is itself a message type, the submessages should
+// be merged.
+message OneofMerging {
+ message Nested {
+ int32 x = 1;
+ int32 y = 2;
+ }
+
+ oneof value {
+ string text = 1;
+ Nested nested = 2;
+ }
+} \ No newline at end of file