Jan Tattermusch %!s(int64=5) %!d(string=hai) anos
pai
achega
0df7ddc805
Modificáronse 30 ficheiros con 259 adicións e 259 borrados
  1. 3 3
      csharp/src/AddressBook/Addressbook.cs
  2. 2 2
      csharp/src/Google.Protobuf.Benchmarks/BenchmarkMessage1Proto3.cs
  3. 1 1
      csharp/src/Google.Protobuf.Benchmarks/Benchmarks.cs
  4. 2 2
      csharp/src/Google.Protobuf.Benchmarks/WrapperBenchmarkMessages.cs
  5. 4 4
      csharp/src/Google.Protobuf.Conformance/Conformance.cs
  6. 7 7
      csharp/src/Google.Protobuf.Test.TestProtos/MapUnittestProto3.cs
  7. 9 9
      csharp/src/Google.Protobuf.Test.TestProtos/TestMessagesProto2.cs
  8. 3 3
      csharp/src/Google.Protobuf.Test.TestProtos/TestMessagesProto3.cs
  9. 92 92
      csharp/src/Google.Protobuf.Test.TestProtos/Unittest.cs
  10. 21 21
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestCustomOptionsProto3.cs
  11. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestImport.cs
  12. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportProto3.cs
  13. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportPublic.cs
  14. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportPublicProto3.cs
  15. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936B.cs
  16. 1 1
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936C.cs
  17. 13 13
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssues.cs
  18. 39 39
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestProto3.cs
  19. 4 4
      csharp/src/Google.Protobuf.Test.TestProtos/UnittestWellKnownTypes.cs
  20. 27 27
      csharp/src/Google.Protobuf/Reflection/Descriptor.cs
  21. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/Any.cs
  22. 3 3
      csharp/src/Google.Protobuf/WellKnownTypes/Api.cs
  23. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/Duration.cs
  24. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/Empty.cs
  25. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs
  26. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/SourceContext.cs
  27. 3 3
      csharp/src/Google.Protobuf/WellKnownTypes/Struct.cs
  28. 1 1
      csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs
  29. 5 5
      csharp/src/Google.Protobuf/WellKnownTypes/Type.cs
  30. 9 9
      csharp/src/Google.Protobuf/WellKnownTypes/Wrappers.cs

+ 3 - 3
csharp/src/AddressBook/Addressbook.cs

@@ -260,7 +260,7 @@ namespace Google.Protobuf.Examples.AddressBook {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -445,7 +445,7 @@ namespace Google.Protobuf.Examples.AddressBook {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -583,7 +583,7 @@ namespace Google.Protobuf.Examples.AddressBook {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 2 - 2
csharp/src/Google.Protobuf.Benchmarks/BenchmarkMessage1Proto3.cs

@@ -1136,7 +1136,7 @@ namespace Benchmarks.Proto3 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1890,7 +1890,7 @@ namespace Benchmarks.Proto3 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Benchmarks/Benchmarks.cs

@@ -223,7 +223,7 @@ namespace Benchmarks {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 2 - 2
csharp/src/Google.Protobuf.Benchmarks/WrapperBenchmarkMessages.cs

@@ -3307,7 +3307,7 @@ namespace Google.Protobuf.Benchmarks {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6839,7 +6839,7 @@ namespace Google.Protobuf.Benchmarks {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 4 - 4
csharp/src/Google.Protobuf.Conformance/Conformance.cs

@@ -216,7 +216,7 @@ namespace Conformance {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -612,7 +612,7 @@ namespace Conformance {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1039,7 +1039,7 @@ namespace Conformance {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1207,7 +1207,7 @@ namespace Conformance {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 7 - 7
csharp/src/Google.Protobuf.Test.TestProtos/MapUnittestProto3.cs

@@ -541,7 +541,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -742,7 +742,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -871,7 +871,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1016,7 +1016,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1370,7 +1370,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1556,7 +1556,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1696,7 +1696,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 9 - 9
csharp/src/Google.Protobuf.Test.TestProtos/TestMessagesProto2.cs

@@ -3357,7 +3357,7 @@ namespace ProtobufTestMessages.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4108,7 +4108,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4304,7 +4304,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4439,7 +4439,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4605,7 +4605,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4763,7 +4763,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4926,7 +4926,7 @@ namespace ProtobufTestMessages.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5239,7 +5239,7 @@ namespace ProtobufTestMessages.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5417,7 +5417,7 @@ namespace ProtobufTestMessages.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {

+ 3 - 3
csharp/src/Google.Protobuf.Test.TestProtos/TestMessagesProto3.cs

@@ -3387,7 +3387,7 @@ namespace ProtobufTestMessages.Proto3 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4264,7 +4264,7 @@ namespace ProtobufTestMessages.Proto3 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4410,7 +4410,7 @@ namespace ProtobufTestMessages.Proto3 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 92 - 92
csharp/src/Google.Protobuf.Test.TestProtos/Unittest.cs

@@ -3508,7 +3508,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4009,7 +4009,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4158,7 +4158,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4309,7 +4309,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4519,7 +4519,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4752,7 +4752,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4867,7 +4867,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5053,7 +5053,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5167,7 +5167,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5289,7 +5289,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5458,7 +5458,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5609,7 +5609,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5798,7 +5798,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5956,7 +5956,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -6089,7 +6089,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6219,7 +6219,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6366,7 +6366,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -7742,7 +7742,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8083,7 +8083,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8294,7 +8294,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8458,7 +8458,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8574,7 +8574,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8700,7 +8700,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8846,7 +8846,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -9059,7 +9059,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -9249,7 +9249,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -9444,7 +9444,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -9603,7 +9603,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -9793,7 +9793,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -9996,7 +9996,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -10150,7 +10150,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -10303,7 +10303,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -10457,7 +10457,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
             }
             }
 
 
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-            public void MergeFrom_Internal(ref pb::ParseContext input) {
+            void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
               uint tag;
               uint tag;
               while ((tag = input.ReadTag()) != 0) {
               while ((tag = input.ReadTag()) != 0) {
                 switch(tag) {
                 switch(tag) {
@@ -10703,7 +10703,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -10868,7 +10868,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -11019,7 +11019,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -11176,7 +11176,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -11326,7 +11326,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -11479,7 +11479,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -11626,7 +11626,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -12067,7 +12067,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -12395,7 +12395,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -12627,7 +12627,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -12782,7 +12782,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -12937,7 +12937,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -13085,7 +13085,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -14235,7 +14235,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -14488,7 +14488,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -14637,7 +14637,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -14763,7 +14763,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -14909,7 +14909,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15035,7 +15035,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15187,7 +15187,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15336,7 +15336,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15485,7 +15485,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15634,7 +15634,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -15783,7 +15783,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -16086,7 +16086,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -16295,7 +16295,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -16566,7 +16566,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -16771,7 +16771,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -17612,7 +17612,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -17886,7 +17886,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -18057,7 +18057,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -18324,7 +18324,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -18488,7 +18488,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -18619,7 +18619,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -18770,7 +18770,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -19109,7 +19109,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -19513,7 +19513,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -19705,7 +19705,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -19851,7 +19851,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -20205,7 +20205,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -20393,7 +20393,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -20618,7 +20618,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -20918,7 +20918,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -21198,7 +21198,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -21371,7 +21371,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
             }
             }
 
 
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-            public void MergeFrom_Internal(ref pb::ParseContext input) {
+            void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
               uint tag;
               uint tag;
               while ((tag = input.ReadTag()) != 0) {
               while ((tag = input.ReadTag()) != 0) {
                 switch(tag) {
                 switch(tag) {
@@ -21523,7 +21523,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
             }
             }
 
 
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-            public void MergeFrom_Internal(ref pb::ParseContext input) {
+            void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
               uint tag;
               uint tag;
               while ((tag = input.ReadTag()) != 0) {
               while ((tag = input.ReadTag()) != 0) {
                 switch(tag) {
                 switch(tag) {
@@ -21680,7 +21680,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -21832,7 +21832,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -22002,7 +22002,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22115,7 +22115,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22221,7 +22221,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22327,7 +22327,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22433,7 +22433,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22539,7 +22539,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22645,7 +22645,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -22975,7 +22975,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -23613,7 +23613,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -23853,7 +23853,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -24321,7 +24321,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 21 - 21
csharp/src/Google.Protobuf.Test.TestProtos/UnittestCustomOptionsProto3.cs

@@ -426,7 +426,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -557,7 +557,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -663,7 +663,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -769,7 +769,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -875,7 +875,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -981,7 +981,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1100,7 +1100,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1206,7 +1206,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1312,7 +1312,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1418,7 +1418,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1524,7 +1524,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1630,7 +1630,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1824,7 +1824,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2041,7 +2041,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2195,7 +2195,7 @@ namespace UnitTest.Issues.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -2343,7 +2343,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2456,7 +2456,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2643,7 +2643,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2788,7 +2788,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2901,7 +2901,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3038,7 +3038,7 @@ namespace UnitTest.Issues.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestImport.cs

@@ -191,7 +191,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportProto3.cs

@@ -167,7 +167,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportPublic.cs

@@ -169,7 +169,7 @@ namespace Google.Protobuf.TestProtos.Proto2 {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestImportPublicProto3.cs

@@ -155,7 +155,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936B.cs

@@ -130,7 +130,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936C.cs

@@ -159,7 +159,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 13 - 13
csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssues.cs

@@ -181,7 +181,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -289,7 +289,7 @@ namespace UnitTest.Issues.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -397,7 +397,7 @@ namespace UnitTest.Issues.TestProtos {
             }
             }
 
 
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-            public void MergeFrom_Internal(ref pb::ParseContext input) {
+            void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
               uint tag;
               uint tag;
               while ((tag = input.ReadTag()) != 0) {
               while ((tag = input.ReadTag()) != 0) {
                 switch(tag) {
                 switch(tag) {
@@ -569,7 +569,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -689,7 +689,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -924,7 +924,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1086,7 +1086,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1244,7 +1244,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1363,7 +1363,7 @@ namespace UnitTest.Issues.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -1692,7 +1692,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1897,7 +1897,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2102,7 +2102,7 @@ namespace UnitTest.Issues.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2271,7 +2271,7 @@ namespace UnitTest.Issues.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {

+ 39 - 39
csharp/src/Google.Protobuf.Test.TestProtos/UnittestProto3.cs

@@ -1387,7 +1387,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1760,7 +1760,7 @@ namespace Google.Protobuf.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -1948,7 +1948,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2097,7 +2097,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2235,7 +2235,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2345,7 +2345,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2481,7 +2481,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2649,7 +2649,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2814,7 +2814,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2961,7 +2961,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3125,7 +3125,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3266,7 +3266,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3543,7 +3543,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3789,7 +3789,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3969,7 +3969,7 @@ namespace Google.Protobuf.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -4112,7 +4112,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4249,7 +4249,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4375,7 +4375,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4509,7 +4509,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4643,7 +4643,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4780,7 +4780,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4914,7 +4914,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5048,7 +5048,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5182,7 +5182,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5316,7 +5316,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5538,7 +5538,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5885,7 +5885,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6289,7 +6289,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6575,7 +6575,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6738,7 +6738,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6851,7 +6851,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6957,7 +6957,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7063,7 +7063,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7169,7 +7169,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7275,7 +7275,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7381,7 +7381,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7487,7 +7487,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7623,7 +7623,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7775,7 +7775,7 @@ namespace Google.Protobuf.TestProtos {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {

+ 4 - 4
csharp/src/Google.Protobuf.Test.TestProtos/UnittestWellKnownTypes.cs

@@ -788,7 +788,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1321,7 +1321,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2037,7 +2037,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2553,7 +2553,7 @@ namespace Google.Protobuf.TestProtos {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 27 - 27
csharp/src/Google.Protobuf/Reflection/Descriptor.cs

@@ -303,7 +303,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -739,7 +739,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1109,7 +1109,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1379,7 +1379,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -1587,7 +1587,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -1741,7 +1741,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2326,7 +2326,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2622,7 +2622,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -2872,7 +2872,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3093,7 +3093,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -3327,7 +3327,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3540,7 +3540,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -3895,7 +3895,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -4892,7 +4892,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5370,7 +5370,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -5843,7 +5843,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6067,7 +6067,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6322,7 +6322,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6544,7 +6544,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -6762,7 +6762,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7017,7 +7017,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7432,7 +7432,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -7650,7 +7650,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -7834,7 +7834,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8147,7 +8147,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {
@@ -8305,7 +8305,7 @@ namespace Google.Protobuf.Reflection {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -8561,7 +8561,7 @@ namespace Google.Protobuf.Reflection {
         }
         }
 
 
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-        public void MergeFrom_Internal(ref pb::ParseContext input) {
+        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
           uint tag;
           uint tag;
           while ((tag = input.ReadTag()) != 0) {
           while ((tag = input.ReadTag()) != 0) {
             switch(tag) {
             switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/Any.cs

@@ -292,7 +292,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 3 - 3
csharp/src/Google.Protobuf/WellKnownTypes/Api.cs

@@ -345,7 +345,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -666,7 +666,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -935,7 +935,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/Duration.cs

@@ -254,7 +254,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/Empty.cs

@@ -143,7 +143,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs

@@ -352,7 +352,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/SourceContext.cs

@@ -165,7 +165,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 3 - 3
csharp/src/Google.Protobuf/WellKnownTypes/Struct.cs

@@ -189,7 +189,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -518,7 +518,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -683,7 +683,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 1 - 1
csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs

@@ -275,7 +275,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 5 - 5
csharp/src/Google.Protobuf/WellKnownTypes/Type.cs

@@ -328,7 +328,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -728,7 +728,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1110,7 +1110,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1315,7 +1315,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1500,7 +1500,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {

+ 9 - 9
csharp/src/Google.Protobuf/WellKnownTypes/Wrappers.cs

@@ -177,7 +177,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -319,7 +319,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -461,7 +461,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -603,7 +603,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -745,7 +745,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -887,7 +887,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1029,7 +1029,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1171,7 +1171,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {
@@ -1313,7 +1313,7 @@ namespace Google.Protobuf.WellKnownTypes {
     }
     }
 
 
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
-    public void MergeFrom_Internal(ref pb::ParseContext input) {
+    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
       uint tag;
       uint tag;
       while ((tag = input.ReadTag()) != 0) {
       while ((tag = input.ReadTag()) != 0) {
         switch(tag) {
         switch(tag) {