1// <auto-generated>
2//     Generated by the protocol buffer compiler.  DO NOT EDIT!
3//     source: map_unittest_proto3.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
12namespace Google.Protobuf.TestProtos {
13
14  /// <summary>Holder for reflection information generated from map_unittest_proto3.proto</summary>
15  public static partial class MapUnittestProto3Reflection {
16
17    #region Descriptor
18    /// <summary>File descriptor for map_unittest_proto3.proto</summary>
19    public static pbr::FileDescriptor Descriptor {
20      get { return descriptor; }
21    }
22    private static pbr::FileDescriptor descriptor;
23
24    static MapUnittestProto3Reflection() {
25      byte[] descriptorData = global::System.Convert.FromBase64String(
26          string.Concat(
27            "ChltYXBfdW5pdHRlc3RfcHJvdG8zLnByb3RvEhJwcm90b2J1Zl91bml0dGVz",
28            "dDMaFXVuaXR0ZXN0X3Byb3RvMy5wcm90byKpEgoHVGVzdE1hcBJHCg9tYXBf",
29            "aW50MzJfaW50MzIYASADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1h",
30            "cC5NYXBJbnQzMkludDMyRW50cnkSRwoPbWFwX2ludDY0X2ludDY0GAIgAygL",
31            "Mi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50NjRJbnQ2NEVu",
32            "dHJ5EksKEW1hcF91aW50MzJfdWludDMyGAMgAygLMjAucHJvdG9idWZfdW5p",
33            "dHRlc3QzLlRlc3RNYXAuTWFwVWludDMyVWludDMyRW50cnkSSwoRbWFwX3Vp",
34            "bnQ2NF91aW50NjQYBCADKAsyMC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1h",
35            "cC5NYXBVaW50NjRVaW50NjRFbnRyeRJLChFtYXBfc2ludDMyX3NpbnQzMhgF",
36            "IAMoCzIwLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFNpbnQzMlNp",
37            "bnQzMkVudHJ5EksKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjAucHJvdG9i",
38            "dWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwU2ludDY0U2ludDY0RW50cnkSTwoT",
39            "bWFwX2ZpeGVkMzJfZml4ZWQzMhgHIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0",
40            "My5UZXN0TWFwLk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSTwoTbWFwX2ZpeGVk",
41            "NjRfZml4ZWQ2NBgIIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFw",
42            "Lk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSUwoVbWFwX3NmaXhlZDMyX3NmaXhl",
43            "ZDMyGAkgAygLMjQucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwU2Zp",
44            "eGVkMzJTZml4ZWQzMkVudHJ5ElMKFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBgK",
45            "IAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFNmaXhlZDY0",
46            "U2ZpeGVkNjRFbnRyeRJHCg9tYXBfaW50MzJfZmxvYXQYCyADKAsyLi5wcm90",
47            "b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkZsb2F0RW50cnkSSQoQ",
48            "bWFwX2ludDMyX2RvdWJsZRgMIAMoCzIvLnByb3RvYnVmX3VuaXR0ZXN0My5U",
49            "ZXN0TWFwLk1hcEludDMyRG91YmxlRW50cnkSQwoNbWFwX2Jvb2xfYm9vbBgN",
50            "IAMoCzIsLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEJvb2xCb29s",
51            "RW50cnkSSwoRbWFwX3N0cmluZ19zdHJpbmcYDiADKAsyMC5wcm90b2J1Zl91",
52            "bml0dGVzdDMuVGVzdE1hcC5NYXBTdHJpbmdTdHJpbmdFbnRyeRJHCg9tYXBf",
53            "aW50MzJfYnl0ZXMYDyADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1h",
54            "cC5NYXBJbnQzMkJ5dGVzRW50cnkSRQoObWFwX2ludDMyX2VudW0YECADKAsy",
55            "LS5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkVudW1FbnRy",
56            "eRJaChltYXBfaW50MzJfZm9yZWlnbl9tZXNzYWdlGBEgAygLMjcucHJvdG9i",
57            "dWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50MzJGb3JlaWduTWVzc2FnZUVu",
58            "dHJ5GjQKEk1hcEludDMySW50MzJFbnRyeRILCgNrZXkYASABKAUSDQoFdmFs",
59            "dWUYAiABKAU6AjgBGjQKEk1hcEludDY0SW50NjRFbnRyeRILCgNrZXkYASAB",
60            "KAMSDQoFdmFsdWUYAiABKAM6AjgBGjYKFE1hcFVpbnQzMlVpbnQzMkVudHJ5",
61            "EgsKA2tleRgBIAEoDRINCgV2YWx1ZRgCIAEoDToCOAEaNgoUTWFwVWludDY0",
62            "VWludDY0RW50cnkSCwoDa2V5GAEgASgEEg0KBXZhbHVlGAIgASgEOgI4ARo2",
63            "ChRNYXBTaW50MzJTaW50MzJFbnRyeRILCgNrZXkYASABKBESDQoFdmFsdWUY",
64            "AiABKBE6AjgBGjYKFE1hcFNpbnQ2NFNpbnQ2NEVudHJ5EgsKA2tleRgBIAEo",
65            "EhINCgV2YWx1ZRgCIAEoEjoCOAEaOAoWTWFwRml4ZWQzMkZpeGVkMzJFbnRy",
66            "eRILCgNrZXkYASABKAcSDQoFdmFsdWUYAiABKAc6AjgBGjgKFk1hcEZpeGVk",
67            "NjRGaXhlZDY0RW50cnkSCwoDa2V5GAEgASgGEg0KBXZhbHVlGAIgASgGOgI4",
68            "ARo6ChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSCwoDa2V5GAEgASgPEg0K",
69            "BXZhbHVlGAIgASgPOgI4ARo6ChhNYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkS",
70            "CwoDa2V5GAEgASgQEg0KBXZhbHVlGAIgASgQOgI4ARo0ChJNYXBJbnQzMkZs",
71            "b2F0RW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgCOgI4ARo1ChNN",
72            "YXBJbnQzMkRvdWJsZUVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEo",
73            "AToCOAEaMgoQTWFwQm9vbEJvb2xFbnRyeRILCgNrZXkYASABKAgSDQoFdmFs",
74            "dWUYAiABKAg6AjgBGjYKFE1hcFN0cmluZ1N0cmluZ0VudHJ5EgsKA2tleRgB",
75            "IAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNAoSTWFwSW50MzJCeXRlc0VudHJ5",
76            "EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoDDoCOAEaUAoRTWFwSW50MzJF",
77            "bnVtRW50cnkSCwoDa2V5GAEgASgFEioKBXZhbHVlGAIgASgOMhsucHJvdG9i",
78            "dWZfdW5pdHRlc3QzLk1hcEVudW06AjgBGmEKG01hcEludDMyRm9yZWlnbk1l",
79            "c3NhZ2VFbnRyeRILCgNrZXkYASABKAUSMQoFdmFsdWUYAiABKAsyIi5wcm90",
80            "b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2U6AjgBIkIKEVRlc3RNYXBT",
81            "dWJtZXNzYWdlEi0KCHRlc3RfbWFwGAEgASgLMhsucHJvdG9idWZfdW5pdHRl",
82            "c3QzLlRlc3RNYXAivgEKDlRlc3RNZXNzYWdlTWFwElIKEW1hcF9pbnQzMl9t",
83            "ZXNzYWdlGAEgAygLMjcucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNZXNzYWdl",
84            "TWFwLk1hcEludDMyTWVzc2FnZUVudHJ5GlgKFE1hcEludDMyTWVzc2FnZUVu",
85            "dHJ5EgsKA2tleRgBIAEoBRIvCgV2YWx1ZRgCIAEoCzIgLnByb3RvYnVmX3Vu",
86            "aXR0ZXN0My5UZXN0QWxsVHlwZXM6AjgBIuUBCg9UZXN0U2FtZVR5cGVNYXAS",
87            "OwoEbWFwMRgBIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0U2FtZVR5",
88            "cGVNYXAuTWFwMUVudHJ5EjsKBG1hcDIYAiADKAsyLS5wcm90b2J1Zl91bml0",
89            "dGVzdDMuVGVzdFNhbWVUeXBlTWFwLk1hcDJFbnRyeRorCglNYXAxRW50cnkS",
90            "CwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ARorCglNYXAyRW50cnkS",
91            "CwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASL1EAoMVGVzdEFyZW5h",
92            "TWFwEkwKD21hcF9pbnQzMl9pbnQzMhgBIAMoCzIzLnByb3RvYnVmX3VuaXR0",
93            "ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJJbnQzMkVudHJ5EkwKD21hcF9p",
94            "bnQ2NF9pbnQ2NBgCIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJl",
95            "bmFNYXAuTWFwSW50NjRJbnQ2NEVudHJ5ElAKEW1hcF91aW50MzJfdWludDMy",
96            "GAMgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBV",
97            "aW50MzJVaW50MzJFbnRyeRJQChFtYXBfdWludDY0X3VpbnQ2NBgEIAMoCzI1",
98            "LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwVWludDY0VWlu",
99            "dDY0RW50cnkSUAoRbWFwX3NpbnQzMl9zaW50MzIYBSADKAsyNS5wcm90b2J1",
100            "Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcFNpbnQzMlNpbnQzMkVudHJ5",
101            "ElAKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjUucHJvdG9idWZfdW5pdHRl",
102            "c3QzLlRlc3RBcmVuYU1hcC5NYXBTaW50NjRTaW50NjRFbnRyeRJUChNtYXBf",
103            "Zml4ZWQzMl9maXhlZDMyGAcgAygLMjcucHJvdG9idWZfdW5pdHRlc3QzLlRl",
104            "c3RBcmVuYU1hcC5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5ElQKE21hcF9maXhl",
105            "ZDY0X2ZpeGVkNjQYCCADKAsyNy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFy",
106            "ZW5hTWFwLk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSWAoVbWFwX3NmaXhlZDMy",
107            "X3NmaXhlZDMyGAkgAygLMjkucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVu",
108            "YU1hcC5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSWAoVbWFwX3NmaXhlZDY0",
109            "X3NmaXhlZDY0GAogAygLMjkucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVu",
110            "YU1hcC5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSTAoPbWFwX2ludDMyX2Zs",
111            "b2F0GAsgAygLMjMucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5N",
112            "YXBJbnQzMkZsb2F0RW50cnkSTgoQbWFwX2ludDMyX2RvdWJsZRgMIAMoCzI0",
113            "LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJEb3Vi",
114            "bGVFbnRyeRJICg1tYXBfYm9vbF9ib29sGA0gAygLMjEucHJvdG9idWZfdW5p",
115            "dHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBCb29sQm9vbEVudHJ5EkoKDm1hcF9p",
116            "bnQzMl9lbnVtGA4gAygLMjIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVu",
117            "YU1hcC5NYXBJbnQzMkVudW1FbnRyeRJfChltYXBfaW50MzJfZm9yZWlnbl9t",
118            "ZXNzYWdlGA8gAygLMjwucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1h",
119            "cC5NYXBJbnQzMkZvcmVpZ25NZXNzYWdlRW50cnkaNAoSTWFwSW50MzJJbnQz",
120            "MkVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEaNAoSTWFw",
121            "SW50NjRJbnQ2NEVudHJ5EgsKA2tleRgBIAEoAxINCgV2YWx1ZRgCIAEoAzoC",
122            "OAEaNgoUTWFwVWludDMyVWludDMyRW50cnkSCwoDa2V5GAEgASgNEg0KBXZh",
123            "bHVlGAIgASgNOgI4ARo2ChRNYXBVaW50NjRVaW50NjRFbnRyeRILCgNrZXkY",
124            "ASABKAQSDQoFdmFsdWUYAiABKAQ6AjgBGjYKFE1hcFNpbnQzMlNpbnQzMkVu",
125            "dHJ5EgsKA2tleRgBIAEoERINCgV2YWx1ZRgCIAEoEToCOAEaNgoUTWFwU2lu",
126            "dDY0U2ludDY0RW50cnkSCwoDa2V5GAEgASgSEg0KBXZhbHVlGAIgASgSOgI4",
127            "ARo4ChZNYXBGaXhlZDMyRml4ZWQzMkVudHJ5EgsKA2tleRgBIAEoBxINCgV2",
128            "YWx1ZRgCIAEoBzoCOAEaOAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRILCgNr",
129            "ZXkYASABKAYSDQoFdmFsdWUYAiABKAY6AjgBGjoKGE1hcFNmaXhlZDMyU2Zp",
130            "eGVkMzJFbnRyeRILCgNrZXkYASABKA8SDQoFdmFsdWUYAiABKA86AjgBGjoK",
131            "GE1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRILCgNrZXkYASABKBASDQoFdmFs",
132            "dWUYAiABKBA6AjgBGjQKEk1hcEludDMyRmxvYXRFbnRyeRILCgNrZXkYASAB",
133            "KAUSDQoFdmFsdWUYAiABKAI6AjgBGjUKE01hcEludDMyRG91YmxlRW50cnkS",
134            "CwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgBOgI4ARoyChBNYXBCb29sQm9v",
135            "bEVudHJ5EgsKA2tleRgBIAEoCBINCgV2YWx1ZRgCIAEoCDoCOAEaUAoRTWFw",
136            "SW50MzJFbnVtRW50cnkSCwoDa2V5GAEgASgFEioKBXZhbHVlGAIgASgOMhsu",
137            "cHJvdG9idWZfdW5pdHRlc3QzLk1hcEVudW06AjgBGmEKG01hcEludDMyRm9y",
138            "ZWlnbk1lc3NhZ2VFbnRyeRILCgNrZXkYASABKAUSMQoFdmFsdWUYAiABKAsy",
139            "Ii5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2U6AjgBIuYBCh9N",
140            "ZXNzYWdlQ29udGFpbmluZ0VudW1DYWxsZWRUeXBlEksKBHR5cGUYASADKAsy",
141            "PS5wcm90b2J1Zl91bml0dGVzdDMuTWVzc2FnZUNvbnRhaW5pbmdFbnVtQ2Fs",
142            "bGVkVHlwZS5UeXBlRW50cnkaYAoJVHlwZUVudHJ5EgsKA2tleRgBIAEoBRJC",
143            "CgV2YWx1ZRgCIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5NZXNzYWdlQ29u",
144            "dGFpbmluZ0VudW1DYWxsZWRUeXBlOgI4ASIUCgRUeXBlEgwKCFRZUEVfRk9P",
145            "EAAingEKH01lc3NhZ2VDb250YWluaW5nTWFwQ2FsbGVkRW50cnkSTQoFZW50",
146            "cnkYASADKAsyPi5wcm90b2J1Zl91bml0dGVzdDMuTWVzc2FnZUNvbnRhaW5p",
147            "bmdNYXBDYWxsZWRFbnRyeS5FbnRyeUVudHJ5GiwKCkVudHJ5RW50cnkSCwoD",
148            "a2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASo/CgdNYXBFbnVtEhAKDE1B",
149            "UF9FTlVNX0ZPTxAAEhAKDE1BUF9FTlVNX0JBUhABEhAKDE1BUF9FTlVNX0JB",
150            "WhACQh2qAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc2IGcHJvdG8z"));
151      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
152          new pbr::FileDescriptor[] { global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor, },
153          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.Protobuf.TestProtos.MapEnum), }, null, new pbr::GeneratedClrTypeInfo[] {
154            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestMap), global::Google.Protobuf.TestProtos.TestMap.Parser, new[]{ "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapInt32Bytes", "MapInt32Enum", "MapInt32ForeignMessage" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),
155            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestMapSubmessage), global::Google.Protobuf.TestProtos.TestMapSubmessage.Parser, new[]{ "TestMap" }, null, null, null, null),
156            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestMessageMap), global::Google.Protobuf.TestProtos.TestMessageMap.Parser, new[]{ "MapInt32Message" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
157            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestSameTypeMap), global::Google.Protobuf.TestProtos.TestSameTypeMap.Parser, new[]{ "Map1", "Map2" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
158            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestArenaMap), global::Google.Protobuf.TestProtos.TestArenaMap.Parser, new[]{ "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapInt32Enum", "MapInt32ForeignMessage" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),
159            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType), global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Parser, new[]{ "Type" }, null, new[]{ typeof(global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Types.Type) }, null, new pbr::GeneratedClrTypeInfo[] { null, }),
160            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.MessageContainingMapCalledEntry), global::Google.Protobuf.TestProtos.MessageContainingMapCalledEntry.Parser, new[]{ "Entry" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
161          }));
162    }
163    #endregion
164
165  }
166  #region Enums
167  public enum MapEnum {
168    [pbr::OriginalName("MAP_ENUM_FOO")] Foo = 0,
169    [pbr::OriginalName("MAP_ENUM_BAR")] Bar = 1,
170    [pbr::OriginalName("MAP_ENUM_BAZ")] Baz = 2,
171  }
172
173  #endregion
174
175  #region Messages
176  /// <summary>
177  /// Tests maps.
178  /// </summary>
179  public sealed partial class TestMap : pb::IMessage<TestMap>
180  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
181      , pb::IBufferMessage
182  #endif
183  {
184    private static readonly pb::MessageParser<TestMap> _parser = new pb::MessageParser<TestMap>(() => new TestMap());
185    private pb::UnknownFieldSet _unknownFields;
186    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
187    public static pb::MessageParser<TestMap> Parser { get { return _parser; } }
188
189    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
190    public static pbr::MessageDescriptor Descriptor {
191      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[0]; }
192    }
193
194    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
195    pbr::MessageDescriptor pb::IMessage.Descriptor {
196      get { return Descriptor; }
197    }
198
199    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
200    public TestMap() {
201      OnConstruction();
202    }
203
204    partial void OnConstruction();
205
206    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
207    public TestMap(TestMap other) : this() {
208      mapInt32Int32_ = other.mapInt32Int32_.Clone();
209      mapInt64Int64_ = other.mapInt64Int64_.Clone();
210      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
211      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
212      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
213      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
214      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
215      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
216      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
217      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
218      mapInt32Float_ = other.mapInt32Float_.Clone();
219      mapInt32Double_ = other.mapInt32Double_.Clone();
220      mapBoolBool_ = other.mapBoolBool_.Clone();
221      mapStringString_ = other.mapStringString_.Clone();
222      mapInt32Bytes_ = other.mapInt32Bytes_.Clone();
223      mapInt32Enum_ = other.mapInt32Enum_.Clone();
224      mapInt32ForeignMessage_ = other.mapInt32ForeignMessage_.Clone();
225      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
226    }
227
228    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
229    public TestMap Clone() {
230      return new TestMap(this);
231    }
232
233    /// <summary>Field number for the "map_int32_int32" field.</summary>
234    public const int MapInt32Int32FieldNumber = 1;
235    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
236        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 10);
237    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
238    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
239    public pbc::MapField<int, int> MapInt32Int32 {
240      get { return mapInt32Int32_; }
241    }
242
243    /// <summary>Field number for the "map_int64_int64" field.</summary>
244    public const int MapInt64Int64FieldNumber = 2;
245    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
246        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8, 0L), pb::FieldCodec.ForInt64(16, 0L), 18);
247    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
248    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
249    public pbc::MapField<long, long> MapInt64Int64 {
250      get { return mapInt64Int64_; }
251    }
252
253    /// <summary>Field number for the "map_uint32_uint32" field.</summary>
254    public const int MapUint32Uint32FieldNumber = 3;
255    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
256        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForUInt32(16, 0), 26);
257    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
258    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
259    public pbc::MapField<uint, uint> MapUint32Uint32 {
260      get { return mapUint32Uint32_; }
261    }
262
263    /// <summary>Field number for the "map_uint64_uint64" field.</summary>
264    public const int MapUint64Uint64FieldNumber = 4;
265    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
266        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8, 0UL), pb::FieldCodec.ForUInt64(16, 0UL), 34);
267    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
268    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
269    public pbc::MapField<ulong, ulong> MapUint64Uint64 {
270      get { return mapUint64Uint64_; }
271    }
272
273    /// <summary>Field number for the "map_sint32_sint32" field.</summary>
274    public const int MapSint32Sint32FieldNumber = 5;
275    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
276        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8, 0), pb::FieldCodec.ForSInt32(16, 0), 42);
277    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
278    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
279    public pbc::MapField<int, int> MapSint32Sint32 {
280      get { return mapSint32Sint32_; }
281    }
282
283    /// <summary>Field number for the "map_sint64_sint64" field.</summary>
284    public const int MapSint64Sint64FieldNumber = 6;
285    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
286        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8, 0L), pb::FieldCodec.ForSInt64(16, 0L), 50);
287    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
288    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
289    public pbc::MapField<long, long> MapSint64Sint64 {
290      get { return mapSint64Sint64_; }
291    }
292
293    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
294    public const int MapFixed32Fixed32FieldNumber = 7;
295    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
296        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13, 0), pb::FieldCodec.ForFixed32(21, 0), 58);
297    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
298    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
299    public pbc::MapField<uint, uint> MapFixed32Fixed32 {
300      get { return mapFixed32Fixed32_; }
301    }
302
303    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
304    public const int MapFixed64Fixed64FieldNumber = 8;
305    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
306        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9, 0UL), pb::FieldCodec.ForFixed64(17, 0UL), 66);
307    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
308    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
309    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
310      get { return mapFixed64Fixed64_; }
311    }
312
313    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
314    public const int MapSfixed32Sfixed32FieldNumber = 9;
315    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
316        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13, 0), pb::FieldCodec.ForSFixed32(21, 0), 74);
317    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
318    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
319    public pbc::MapField<int, int> MapSfixed32Sfixed32 {
320      get { return mapSfixed32Sfixed32_; }
321    }
322
323    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
324    public const int MapSfixed64Sfixed64FieldNumber = 10;
325    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
326        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9, 0L), pb::FieldCodec.ForSFixed64(17, 0L), 82);
327    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
328    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
329    public pbc::MapField<long, long> MapSfixed64Sfixed64 {
330      get { return mapSfixed64Sfixed64_; }
331    }
332
333    /// <summary>Field number for the "map_int32_float" field.</summary>
334    public const int MapInt32FloatFieldNumber = 11;
335    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
336        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForFloat(21, 0F), 90);
337    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
338    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
339    public pbc::MapField<int, float> MapInt32Float {
340      get { return mapInt32Float_; }
341    }
342
343    /// <summary>Field number for the "map_int32_double" field.</summary>
344    public const int MapInt32DoubleFieldNumber = 12;
345    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
346        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForDouble(17, 0D), 98);
347    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
348    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
349    public pbc::MapField<int, double> MapInt32Double {
350      get { return mapInt32Double_; }
351    }
352
353    /// <summary>Field number for the "map_bool_bool" field.</summary>
354    public const int MapBoolBoolFieldNumber = 13;
355    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
356        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8, false), pb::FieldCodec.ForBool(16, false), 106);
357    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
358    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
359    public pbc::MapField<bool, bool> MapBoolBool {
360      get { return mapBoolBool_; }
361    }
362
363    /// <summary>Field number for the "map_string_string" field.</summary>
364    public const int MapStringStringFieldNumber = 14;
365    private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec
366        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 114);
367    private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();
368    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
369    public pbc::MapField<string, string> MapStringString {
370      get { return mapStringString_; }
371    }
372
373    /// <summary>Field number for the "map_int32_bytes" field.</summary>
374    public const int MapInt32BytesFieldNumber = 15;
375    private static readonly pbc::MapField<int, pb::ByteString>.Codec _map_mapInt32Bytes_codec
376        = new pbc::MapField<int, pb::ByteString>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForBytes(18, pb::ByteString.Empty), 122);
377    private readonly pbc::MapField<int, pb::ByteString> mapInt32Bytes_ = new pbc::MapField<int, pb::ByteString>();
378    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
379    public pbc::MapField<int, pb::ByteString> MapInt32Bytes {
380      get { return mapInt32Bytes_; }
381    }
382
383    /// <summary>Field number for the "map_int32_enum" field.</summary>
384    public const int MapInt32EnumFieldNumber = 16;
385    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec _map_mapInt32Enum_codec
386        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Google.Protobuf.TestProtos.MapEnum) x, global::Google.Protobuf.TestProtos.MapEnum.Foo), 130);
387    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> mapInt32Enum_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>();
388    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
389    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> MapInt32Enum {
390      get { return mapInt32Enum_; }
391    }
392
393    /// <summary>Field number for the "map_int32_foreign_message" field.</summary>
394    public const int MapInt32ForeignMessageFieldNumber = 17;
395    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec _map_mapInt32ForeignMessage_codec
396        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.ForeignMessage.Parser), 138);
397    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> mapInt32ForeignMessage_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>();
398    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
399    public pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> MapInt32ForeignMessage {
400      get { return mapInt32ForeignMessage_; }
401    }
402
403    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
404    public override bool Equals(object other) {
405      return Equals(other as TestMap);
406    }
407
408    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
409    public bool Equals(TestMap other) {
410      if (ReferenceEquals(other, null)) {
411        return false;
412      }
413      if (ReferenceEquals(other, this)) {
414        return true;
415      }
416      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
417      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
418      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
419      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
420      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
421      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
422      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
423      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
424      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
425      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
426      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
427      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
428      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
429      if (!MapStringString.Equals(other.MapStringString)) return false;
430      if (!MapInt32Bytes.Equals(other.MapInt32Bytes)) return false;
431      if (!MapInt32Enum.Equals(other.MapInt32Enum)) return false;
432      if (!MapInt32ForeignMessage.Equals(other.MapInt32ForeignMessage)) return false;
433      return Equals(_unknownFields, other._unknownFields);
434    }
435
436    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
437    public override int GetHashCode() {
438      int hash = 1;
439      hash ^= MapInt32Int32.GetHashCode();
440      hash ^= MapInt64Int64.GetHashCode();
441      hash ^= MapUint32Uint32.GetHashCode();
442      hash ^= MapUint64Uint64.GetHashCode();
443      hash ^= MapSint32Sint32.GetHashCode();
444      hash ^= MapSint64Sint64.GetHashCode();
445      hash ^= MapFixed32Fixed32.GetHashCode();
446      hash ^= MapFixed64Fixed64.GetHashCode();
447      hash ^= MapSfixed32Sfixed32.GetHashCode();
448      hash ^= MapSfixed64Sfixed64.GetHashCode();
449      hash ^= MapInt32Float.GetHashCode();
450      hash ^= MapInt32Double.GetHashCode();
451      hash ^= MapBoolBool.GetHashCode();
452      hash ^= MapStringString.GetHashCode();
453      hash ^= MapInt32Bytes.GetHashCode();
454      hash ^= MapInt32Enum.GetHashCode();
455      hash ^= MapInt32ForeignMessage.GetHashCode();
456      if (_unknownFields != null) {
457        hash ^= _unknownFields.GetHashCode();
458      }
459      return hash;
460    }
461
462    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
463    public override string ToString() {
464      return pb::JsonFormatter.ToDiagnosticString(this);
465    }
466
467    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
468    public void WriteTo(pb::CodedOutputStream output) {
469    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
470      output.WriteRawMessage(this);
471    #else
472      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
473      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
474      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
475      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
476      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
477      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
478      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
479      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
480      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
481      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
482      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
483      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
484      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
485      mapStringString_.WriteTo(output, _map_mapStringString_codec);
486      mapInt32Bytes_.WriteTo(output, _map_mapInt32Bytes_codec);
487      mapInt32Enum_.WriteTo(output, _map_mapInt32Enum_codec);
488      mapInt32ForeignMessage_.WriteTo(output, _map_mapInt32ForeignMessage_codec);
489      if (_unknownFields != null) {
490        _unknownFields.WriteTo(output);
491      }
492    #endif
493    }
494
495    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
496    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
497    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
498      mapInt32Int32_.WriteTo(ref output, _map_mapInt32Int32_codec);
499      mapInt64Int64_.WriteTo(ref output, _map_mapInt64Int64_codec);
500      mapUint32Uint32_.WriteTo(ref output, _map_mapUint32Uint32_codec);
501      mapUint64Uint64_.WriteTo(ref output, _map_mapUint64Uint64_codec);
502      mapSint32Sint32_.WriteTo(ref output, _map_mapSint32Sint32_codec);
503      mapSint64Sint64_.WriteTo(ref output, _map_mapSint64Sint64_codec);
504      mapFixed32Fixed32_.WriteTo(ref output, _map_mapFixed32Fixed32_codec);
505      mapFixed64Fixed64_.WriteTo(ref output, _map_mapFixed64Fixed64_codec);
506      mapSfixed32Sfixed32_.WriteTo(ref output, _map_mapSfixed32Sfixed32_codec);
507      mapSfixed64Sfixed64_.WriteTo(ref output, _map_mapSfixed64Sfixed64_codec);
508      mapInt32Float_.WriteTo(ref output, _map_mapInt32Float_codec);
509      mapInt32Double_.WriteTo(ref output, _map_mapInt32Double_codec);
510      mapBoolBool_.WriteTo(ref output, _map_mapBoolBool_codec);
511      mapStringString_.WriteTo(ref output, _map_mapStringString_codec);
512      mapInt32Bytes_.WriteTo(ref output, _map_mapInt32Bytes_codec);
513      mapInt32Enum_.WriteTo(ref output, _map_mapInt32Enum_codec);
514      mapInt32ForeignMessage_.WriteTo(ref output, _map_mapInt32ForeignMessage_codec);
515      if (_unknownFields != null) {
516        _unknownFields.WriteTo(ref output);
517      }
518    }
519    #endif
520
521    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
522    public int CalculateSize() {
523      int size = 0;
524      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
525      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
526      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
527      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
528      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
529      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
530      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
531      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
532      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
533      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
534      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
535      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
536      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
537      size += mapStringString_.CalculateSize(_map_mapStringString_codec);
538      size += mapInt32Bytes_.CalculateSize(_map_mapInt32Bytes_codec);
539      size += mapInt32Enum_.CalculateSize(_map_mapInt32Enum_codec);
540      size += mapInt32ForeignMessage_.CalculateSize(_map_mapInt32ForeignMessage_codec);
541      if (_unknownFields != null) {
542        size += _unknownFields.CalculateSize();
543      }
544      return size;
545    }
546
547    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
548    public void MergeFrom(TestMap other) {
549      if (other == null) {
550        return;
551      }
552      mapInt32Int32_.Add(other.mapInt32Int32_);
553      mapInt64Int64_.Add(other.mapInt64Int64_);
554      mapUint32Uint32_.Add(other.mapUint32Uint32_);
555      mapUint64Uint64_.Add(other.mapUint64Uint64_);
556      mapSint32Sint32_.Add(other.mapSint32Sint32_);
557      mapSint64Sint64_.Add(other.mapSint64Sint64_);
558      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
559      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
560      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
561      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
562      mapInt32Float_.Add(other.mapInt32Float_);
563      mapInt32Double_.Add(other.mapInt32Double_);
564      mapBoolBool_.Add(other.mapBoolBool_);
565      mapStringString_.Add(other.mapStringString_);
566      mapInt32Bytes_.Add(other.mapInt32Bytes_);
567      mapInt32Enum_.Add(other.mapInt32Enum_);
568      mapInt32ForeignMessage_.Add(other.mapInt32ForeignMessage_);
569      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
570    }
571
572    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
573    public void MergeFrom(pb::CodedInputStream input) {
574    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
575      input.ReadRawMessage(this);
576    #else
577      uint tag;
578      while ((tag = input.ReadTag()) != 0) {
579        switch(tag) {
580          default:
581            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
582            break;
583          case 10: {
584            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
585            break;
586          }
587          case 18: {
588            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
589            break;
590          }
591          case 26: {
592            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
593            break;
594          }
595          case 34: {
596            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
597            break;
598          }
599          case 42: {
600            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
601            break;
602          }
603          case 50: {
604            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
605            break;
606          }
607          case 58: {
608            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
609            break;
610          }
611          case 66: {
612            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
613            break;
614          }
615          case 74: {
616            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
617            break;
618          }
619          case 82: {
620            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
621            break;
622          }
623          case 90: {
624            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
625            break;
626          }
627          case 98: {
628            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
629            break;
630          }
631          case 106: {
632            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
633            break;
634          }
635          case 114: {
636            mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);
637            break;
638          }
639          case 122: {
640            mapInt32Bytes_.AddEntriesFrom(input, _map_mapInt32Bytes_codec);
641            break;
642          }
643          case 130: {
644            mapInt32Enum_.AddEntriesFrom(input, _map_mapInt32Enum_codec);
645            break;
646          }
647          case 138: {
648            mapInt32ForeignMessage_.AddEntriesFrom(input, _map_mapInt32ForeignMessage_codec);
649            break;
650          }
651        }
652      }
653    #endif
654    }
655
656    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
657    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
658    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
659      uint tag;
660      while ((tag = input.ReadTag()) != 0) {
661        switch(tag) {
662          default:
663            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
664            break;
665          case 10: {
666            mapInt32Int32_.AddEntriesFrom(ref input, _map_mapInt32Int32_codec);
667            break;
668          }
669          case 18: {
670            mapInt64Int64_.AddEntriesFrom(ref input, _map_mapInt64Int64_codec);
671            break;
672          }
673          case 26: {
674            mapUint32Uint32_.AddEntriesFrom(ref input, _map_mapUint32Uint32_codec);
675            break;
676          }
677          case 34: {
678            mapUint64Uint64_.AddEntriesFrom(ref input, _map_mapUint64Uint64_codec);
679            break;
680          }
681          case 42: {
682            mapSint32Sint32_.AddEntriesFrom(ref input, _map_mapSint32Sint32_codec);
683            break;
684          }
685          case 50: {
686            mapSint64Sint64_.AddEntriesFrom(ref input, _map_mapSint64Sint64_codec);
687            break;
688          }
689          case 58: {
690            mapFixed32Fixed32_.AddEntriesFrom(ref input, _map_mapFixed32Fixed32_codec);
691            break;
692          }
693          case 66: {
694            mapFixed64Fixed64_.AddEntriesFrom(ref input, _map_mapFixed64Fixed64_codec);
695            break;
696          }
697          case 74: {
698            mapSfixed32Sfixed32_.AddEntriesFrom(ref input, _map_mapSfixed32Sfixed32_codec);
699            break;
700          }
701          case 82: {
702            mapSfixed64Sfixed64_.AddEntriesFrom(ref input, _map_mapSfixed64Sfixed64_codec);
703            break;
704          }
705          case 90: {
706            mapInt32Float_.AddEntriesFrom(ref input, _map_mapInt32Float_codec);
707            break;
708          }
709          case 98: {
710            mapInt32Double_.AddEntriesFrom(ref input, _map_mapInt32Double_codec);
711            break;
712          }
713          case 106: {
714            mapBoolBool_.AddEntriesFrom(ref input, _map_mapBoolBool_codec);
715            break;
716          }
717          case 114: {
718            mapStringString_.AddEntriesFrom(ref input, _map_mapStringString_codec);
719            break;
720          }
721          case 122: {
722            mapInt32Bytes_.AddEntriesFrom(ref input, _map_mapInt32Bytes_codec);
723            break;
724          }
725          case 130: {
726            mapInt32Enum_.AddEntriesFrom(ref input, _map_mapInt32Enum_codec);
727            break;
728          }
729          case 138: {
730            mapInt32ForeignMessage_.AddEntriesFrom(ref input, _map_mapInt32ForeignMessage_codec);
731            break;
732          }
733        }
734      }
735    }
736    #endif
737
738  }
739
740  public sealed partial class TestMapSubmessage : pb::IMessage<TestMapSubmessage>
741  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
742      , pb::IBufferMessage
743  #endif
744  {
745    private static readonly pb::MessageParser<TestMapSubmessage> _parser = new pb::MessageParser<TestMapSubmessage>(() => new TestMapSubmessage());
746    private pb::UnknownFieldSet _unknownFields;
747    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
748    public static pb::MessageParser<TestMapSubmessage> Parser { get { return _parser; } }
749
750    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
751    public static pbr::MessageDescriptor Descriptor {
752      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[1]; }
753    }
754
755    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
756    pbr::MessageDescriptor pb::IMessage.Descriptor {
757      get { return Descriptor; }
758    }
759
760    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
761    public TestMapSubmessage() {
762      OnConstruction();
763    }
764
765    partial void OnConstruction();
766
767    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
768    public TestMapSubmessage(TestMapSubmessage other) : this() {
769      testMap_ = other.testMap_ != null ? other.testMap_.Clone() : null;
770      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
771    }
772
773    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
774    public TestMapSubmessage Clone() {
775      return new TestMapSubmessage(this);
776    }
777
778    /// <summary>Field number for the "test_map" field.</summary>
779    public const int TestMapFieldNumber = 1;
780    private global::Google.Protobuf.TestProtos.TestMap testMap_;
781    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
782    public global::Google.Protobuf.TestProtos.TestMap TestMap {
783      get { return testMap_; }
784      set {
785        testMap_ = value;
786      }
787    }
788
789    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
790    public override bool Equals(object other) {
791      return Equals(other as TestMapSubmessage);
792    }
793
794    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
795    public bool Equals(TestMapSubmessage other) {
796      if (ReferenceEquals(other, null)) {
797        return false;
798      }
799      if (ReferenceEquals(other, this)) {
800        return true;
801      }
802      if (!object.Equals(TestMap, other.TestMap)) return false;
803      return Equals(_unknownFields, other._unknownFields);
804    }
805
806    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
807    public override int GetHashCode() {
808      int hash = 1;
809      if (testMap_ != null) hash ^= TestMap.GetHashCode();
810      if (_unknownFields != null) {
811        hash ^= _unknownFields.GetHashCode();
812      }
813      return hash;
814    }
815
816    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
817    public override string ToString() {
818      return pb::JsonFormatter.ToDiagnosticString(this);
819    }
820
821    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
822    public void WriteTo(pb::CodedOutputStream output) {
823    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
824      output.WriteRawMessage(this);
825    #else
826      if (testMap_ != null) {
827        output.WriteRawTag(10);
828        output.WriteMessage(TestMap);
829      }
830      if (_unknownFields != null) {
831        _unknownFields.WriteTo(output);
832      }
833    #endif
834    }
835
836    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
837    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
838    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
839      if (testMap_ != null) {
840        output.WriteRawTag(10);
841        output.WriteMessage(TestMap);
842      }
843      if (_unknownFields != null) {
844        _unknownFields.WriteTo(ref output);
845      }
846    }
847    #endif
848
849    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
850    public int CalculateSize() {
851      int size = 0;
852      if (testMap_ != null) {
853        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TestMap);
854      }
855      if (_unknownFields != null) {
856        size += _unknownFields.CalculateSize();
857      }
858      return size;
859    }
860
861    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
862    public void MergeFrom(TestMapSubmessage other) {
863      if (other == null) {
864        return;
865      }
866      if (other.testMap_ != null) {
867        if (testMap_ == null) {
868          TestMap = new global::Google.Protobuf.TestProtos.TestMap();
869        }
870        TestMap.MergeFrom(other.TestMap);
871      }
872      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
873    }
874
875    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
876    public void MergeFrom(pb::CodedInputStream input) {
877    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
878      input.ReadRawMessage(this);
879    #else
880      uint tag;
881      while ((tag = input.ReadTag()) != 0) {
882        switch(tag) {
883          default:
884            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
885            break;
886          case 10: {
887            if (testMap_ == null) {
888              TestMap = new global::Google.Protobuf.TestProtos.TestMap();
889            }
890            input.ReadMessage(TestMap);
891            break;
892          }
893        }
894      }
895    #endif
896    }
897
898    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
899    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
900    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
901      uint tag;
902      while ((tag = input.ReadTag()) != 0) {
903        switch(tag) {
904          default:
905            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
906            break;
907          case 10: {
908            if (testMap_ == null) {
909              TestMap = new global::Google.Protobuf.TestProtos.TestMap();
910            }
911            input.ReadMessage(TestMap);
912            break;
913          }
914        }
915      }
916    }
917    #endif
918
919  }
920
921  public sealed partial class TestMessageMap : pb::IMessage<TestMessageMap>
922  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
923      , pb::IBufferMessage
924  #endif
925  {
926    private static readonly pb::MessageParser<TestMessageMap> _parser = new pb::MessageParser<TestMessageMap>(() => new TestMessageMap());
927    private pb::UnknownFieldSet _unknownFields;
928    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
929    public static pb::MessageParser<TestMessageMap> Parser { get { return _parser; } }
930
931    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
932    public static pbr::MessageDescriptor Descriptor {
933      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[2]; }
934    }
935
936    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
937    pbr::MessageDescriptor pb::IMessage.Descriptor {
938      get { return Descriptor; }
939    }
940
941    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
942    public TestMessageMap() {
943      OnConstruction();
944    }
945
946    partial void OnConstruction();
947
948    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
949    public TestMessageMap(TestMessageMap other) : this() {
950      mapInt32Message_ = other.mapInt32Message_.Clone();
951      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
952    }
953
954    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
955    public TestMessageMap Clone() {
956      return new TestMessageMap(this);
957    }
958
959    /// <summary>Field number for the "map_int32_message" field.</summary>
960    public const int MapInt32MessageFieldNumber = 1;
961    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>.Codec _map_mapInt32Message_codec
962        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.TestAllTypes.Parser), 10);
963    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes> mapInt32Message_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes>();
964    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
965    public pbc::MapField<int, global::Google.Protobuf.TestProtos.TestAllTypes> MapInt32Message {
966      get { return mapInt32Message_; }
967    }
968
969    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
970    public override bool Equals(object other) {
971      return Equals(other as TestMessageMap);
972    }
973
974    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
975    public bool Equals(TestMessageMap other) {
976      if (ReferenceEquals(other, null)) {
977        return false;
978      }
979      if (ReferenceEquals(other, this)) {
980        return true;
981      }
982      if (!MapInt32Message.Equals(other.MapInt32Message)) return false;
983      return Equals(_unknownFields, other._unknownFields);
984    }
985
986    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
987    public override int GetHashCode() {
988      int hash = 1;
989      hash ^= MapInt32Message.GetHashCode();
990      if (_unknownFields != null) {
991        hash ^= _unknownFields.GetHashCode();
992      }
993      return hash;
994    }
995
996    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
997    public override string ToString() {
998      return pb::JsonFormatter.ToDiagnosticString(this);
999    }
1000
1001    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1002    public void WriteTo(pb::CodedOutputStream output) {
1003    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1004      output.WriteRawMessage(this);
1005    #else
1006      mapInt32Message_.WriteTo(output, _map_mapInt32Message_codec);
1007      if (_unknownFields != null) {
1008        _unknownFields.WriteTo(output);
1009      }
1010    #endif
1011    }
1012
1013    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1014    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1015    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1016      mapInt32Message_.WriteTo(ref output, _map_mapInt32Message_codec);
1017      if (_unknownFields != null) {
1018        _unknownFields.WriteTo(ref output);
1019      }
1020    }
1021    #endif
1022
1023    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1024    public int CalculateSize() {
1025      int size = 0;
1026      size += mapInt32Message_.CalculateSize(_map_mapInt32Message_codec);
1027      if (_unknownFields != null) {
1028        size += _unknownFields.CalculateSize();
1029      }
1030      return size;
1031    }
1032
1033    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1034    public void MergeFrom(TestMessageMap other) {
1035      if (other == null) {
1036        return;
1037      }
1038      mapInt32Message_.Add(other.mapInt32Message_);
1039      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1040    }
1041
1042    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1043    public void MergeFrom(pb::CodedInputStream input) {
1044    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1045      input.ReadRawMessage(this);
1046    #else
1047      uint tag;
1048      while ((tag = input.ReadTag()) != 0) {
1049        switch(tag) {
1050          default:
1051            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1052            break;
1053          case 10: {
1054            mapInt32Message_.AddEntriesFrom(input, _map_mapInt32Message_codec);
1055            break;
1056          }
1057        }
1058      }
1059    #endif
1060    }
1061
1062    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1063    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1064    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1065      uint tag;
1066      while ((tag = input.ReadTag()) != 0) {
1067        switch(tag) {
1068          default:
1069            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1070            break;
1071          case 10: {
1072            mapInt32Message_.AddEntriesFrom(ref input, _map_mapInt32Message_codec);
1073            break;
1074          }
1075        }
1076      }
1077    }
1078    #endif
1079
1080  }
1081
1082  /// <summary>
1083  /// Two map fields share the same entry default instance.
1084  /// </summary>
1085  public sealed partial class TestSameTypeMap : pb::IMessage<TestSameTypeMap>
1086  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1087      , pb::IBufferMessage
1088  #endif
1089  {
1090    private static readonly pb::MessageParser<TestSameTypeMap> _parser = new pb::MessageParser<TestSameTypeMap>(() => new TestSameTypeMap());
1091    private pb::UnknownFieldSet _unknownFields;
1092    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1093    public static pb::MessageParser<TestSameTypeMap> Parser { get { return _parser; } }
1094
1095    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1096    public static pbr::MessageDescriptor Descriptor {
1097      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[3]; }
1098    }
1099
1100    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1101    pbr::MessageDescriptor pb::IMessage.Descriptor {
1102      get { return Descriptor; }
1103    }
1104
1105    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1106    public TestSameTypeMap() {
1107      OnConstruction();
1108    }
1109
1110    partial void OnConstruction();
1111
1112    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1113    public TestSameTypeMap(TestSameTypeMap other) : this() {
1114      map1_ = other.map1_.Clone();
1115      map2_ = other.map2_.Clone();
1116      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1117    }
1118
1119    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1120    public TestSameTypeMap Clone() {
1121      return new TestSameTypeMap(this);
1122    }
1123
1124    /// <summary>Field number for the "map1" field.</summary>
1125    public const int Map1FieldNumber = 1;
1126    private static readonly pbc::MapField<int, int>.Codec _map_map1_codec
1127        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 10);
1128    private readonly pbc::MapField<int, int> map1_ = new pbc::MapField<int, int>();
1129    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1130    public pbc::MapField<int, int> Map1 {
1131      get { return map1_; }
1132    }
1133
1134    /// <summary>Field number for the "map2" field.</summary>
1135    public const int Map2FieldNumber = 2;
1136    private static readonly pbc::MapField<int, int>.Codec _map_map2_codec
1137        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 18);
1138    private readonly pbc::MapField<int, int> map2_ = new pbc::MapField<int, int>();
1139    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1140    public pbc::MapField<int, int> Map2 {
1141      get { return map2_; }
1142    }
1143
1144    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1145    public override bool Equals(object other) {
1146      return Equals(other as TestSameTypeMap);
1147    }
1148
1149    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1150    public bool Equals(TestSameTypeMap other) {
1151      if (ReferenceEquals(other, null)) {
1152        return false;
1153      }
1154      if (ReferenceEquals(other, this)) {
1155        return true;
1156      }
1157      if (!Map1.Equals(other.Map1)) return false;
1158      if (!Map2.Equals(other.Map2)) return false;
1159      return Equals(_unknownFields, other._unknownFields);
1160    }
1161
1162    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1163    public override int GetHashCode() {
1164      int hash = 1;
1165      hash ^= Map1.GetHashCode();
1166      hash ^= Map2.GetHashCode();
1167      if (_unknownFields != null) {
1168        hash ^= _unknownFields.GetHashCode();
1169      }
1170      return hash;
1171    }
1172
1173    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1174    public override string ToString() {
1175      return pb::JsonFormatter.ToDiagnosticString(this);
1176    }
1177
1178    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1179    public void WriteTo(pb::CodedOutputStream output) {
1180    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1181      output.WriteRawMessage(this);
1182    #else
1183      map1_.WriteTo(output, _map_map1_codec);
1184      map2_.WriteTo(output, _map_map2_codec);
1185      if (_unknownFields != null) {
1186        _unknownFields.WriteTo(output);
1187      }
1188    #endif
1189    }
1190
1191    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1192    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1193    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1194      map1_.WriteTo(ref output, _map_map1_codec);
1195      map2_.WriteTo(ref output, _map_map2_codec);
1196      if (_unknownFields != null) {
1197        _unknownFields.WriteTo(ref output);
1198      }
1199    }
1200    #endif
1201
1202    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1203    public int CalculateSize() {
1204      int size = 0;
1205      size += map1_.CalculateSize(_map_map1_codec);
1206      size += map2_.CalculateSize(_map_map2_codec);
1207      if (_unknownFields != null) {
1208        size += _unknownFields.CalculateSize();
1209      }
1210      return size;
1211    }
1212
1213    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1214    public void MergeFrom(TestSameTypeMap other) {
1215      if (other == null) {
1216        return;
1217      }
1218      map1_.Add(other.map1_);
1219      map2_.Add(other.map2_);
1220      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1221    }
1222
1223    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1224    public void MergeFrom(pb::CodedInputStream input) {
1225    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1226      input.ReadRawMessage(this);
1227    #else
1228      uint tag;
1229      while ((tag = input.ReadTag()) != 0) {
1230        switch(tag) {
1231          default:
1232            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1233            break;
1234          case 10: {
1235            map1_.AddEntriesFrom(input, _map_map1_codec);
1236            break;
1237          }
1238          case 18: {
1239            map2_.AddEntriesFrom(input, _map_map2_codec);
1240            break;
1241          }
1242        }
1243      }
1244    #endif
1245    }
1246
1247    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1248    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1249    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1250      uint tag;
1251      while ((tag = input.ReadTag()) != 0) {
1252        switch(tag) {
1253          default:
1254            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1255            break;
1256          case 10: {
1257            map1_.AddEntriesFrom(ref input, _map_map1_codec);
1258            break;
1259          }
1260          case 18: {
1261            map2_.AddEntriesFrom(ref input, _map_map2_codec);
1262            break;
1263          }
1264        }
1265      }
1266    }
1267    #endif
1268
1269  }
1270
1271  public sealed partial class TestArenaMap : pb::IMessage<TestArenaMap>
1272  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1273      , pb::IBufferMessage
1274  #endif
1275  {
1276    private static readonly pb::MessageParser<TestArenaMap> _parser = new pb::MessageParser<TestArenaMap>(() => new TestArenaMap());
1277    private pb::UnknownFieldSet _unknownFields;
1278    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1279    public static pb::MessageParser<TestArenaMap> Parser { get { return _parser; } }
1280
1281    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1282    public static pbr::MessageDescriptor Descriptor {
1283      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[4]; }
1284    }
1285
1286    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1287    pbr::MessageDescriptor pb::IMessage.Descriptor {
1288      get { return Descriptor; }
1289    }
1290
1291    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1292    public TestArenaMap() {
1293      OnConstruction();
1294    }
1295
1296    partial void OnConstruction();
1297
1298    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1299    public TestArenaMap(TestArenaMap other) : this() {
1300      mapInt32Int32_ = other.mapInt32Int32_.Clone();
1301      mapInt64Int64_ = other.mapInt64Int64_.Clone();
1302      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
1303      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
1304      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
1305      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
1306      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
1307      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
1308      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
1309      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
1310      mapInt32Float_ = other.mapInt32Float_.Clone();
1311      mapInt32Double_ = other.mapInt32Double_.Clone();
1312      mapBoolBool_ = other.mapBoolBool_.Clone();
1313      mapInt32Enum_ = other.mapInt32Enum_.Clone();
1314      mapInt32ForeignMessage_ = other.mapInt32ForeignMessage_.Clone();
1315      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1316    }
1317
1318    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1319    public TestArenaMap Clone() {
1320      return new TestArenaMap(this);
1321    }
1322
1323    /// <summary>Field number for the "map_int32_int32" field.</summary>
1324    public const int MapInt32Int32FieldNumber = 1;
1325    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
1326        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 10);
1327    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
1328    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1329    public pbc::MapField<int, int> MapInt32Int32 {
1330      get { return mapInt32Int32_; }
1331    }
1332
1333    /// <summary>Field number for the "map_int64_int64" field.</summary>
1334    public const int MapInt64Int64FieldNumber = 2;
1335    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
1336        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8, 0L), pb::FieldCodec.ForInt64(16, 0L), 18);
1337    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
1338    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1339    public pbc::MapField<long, long> MapInt64Int64 {
1340      get { return mapInt64Int64_; }
1341    }
1342
1343    /// <summary>Field number for the "map_uint32_uint32" field.</summary>
1344    public const int MapUint32Uint32FieldNumber = 3;
1345    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
1346        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForUInt32(16, 0), 26);
1347    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
1348    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1349    public pbc::MapField<uint, uint> MapUint32Uint32 {
1350      get { return mapUint32Uint32_; }
1351    }
1352
1353    /// <summary>Field number for the "map_uint64_uint64" field.</summary>
1354    public const int MapUint64Uint64FieldNumber = 4;
1355    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
1356        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8, 0UL), pb::FieldCodec.ForUInt64(16, 0UL), 34);
1357    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
1358    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1359    public pbc::MapField<ulong, ulong> MapUint64Uint64 {
1360      get { return mapUint64Uint64_; }
1361    }
1362
1363    /// <summary>Field number for the "map_sint32_sint32" field.</summary>
1364    public const int MapSint32Sint32FieldNumber = 5;
1365    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
1366        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8, 0), pb::FieldCodec.ForSInt32(16, 0), 42);
1367    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
1368    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1369    public pbc::MapField<int, int> MapSint32Sint32 {
1370      get { return mapSint32Sint32_; }
1371    }
1372
1373    /// <summary>Field number for the "map_sint64_sint64" field.</summary>
1374    public const int MapSint64Sint64FieldNumber = 6;
1375    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
1376        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8, 0L), pb::FieldCodec.ForSInt64(16, 0L), 50);
1377    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
1378    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1379    public pbc::MapField<long, long> MapSint64Sint64 {
1380      get { return mapSint64Sint64_; }
1381    }
1382
1383    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
1384    public const int MapFixed32Fixed32FieldNumber = 7;
1385    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
1386        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13, 0), pb::FieldCodec.ForFixed32(21, 0), 58);
1387    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
1388    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1389    public pbc::MapField<uint, uint> MapFixed32Fixed32 {
1390      get { return mapFixed32Fixed32_; }
1391    }
1392
1393    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
1394    public const int MapFixed64Fixed64FieldNumber = 8;
1395    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
1396        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9, 0UL), pb::FieldCodec.ForFixed64(17, 0UL), 66);
1397    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
1398    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1399    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
1400      get { return mapFixed64Fixed64_; }
1401    }
1402
1403    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
1404    public const int MapSfixed32Sfixed32FieldNumber = 9;
1405    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
1406        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13, 0), pb::FieldCodec.ForSFixed32(21, 0), 74);
1407    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
1408    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1409    public pbc::MapField<int, int> MapSfixed32Sfixed32 {
1410      get { return mapSfixed32Sfixed32_; }
1411    }
1412
1413    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
1414    public const int MapSfixed64Sfixed64FieldNumber = 10;
1415    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
1416        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9, 0L), pb::FieldCodec.ForSFixed64(17, 0L), 82);
1417    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
1418    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1419    public pbc::MapField<long, long> MapSfixed64Sfixed64 {
1420      get { return mapSfixed64Sfixed64_; }
1421    }
1422
1423    /// <summary>Field number for the "map_int32_float" field.</summary>
1424    public const int MapInt32FloatFieldNumber = 11;
1425    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
1426        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForFloat(21, 0F), 90);
1427    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
1428    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1429    public pbc::MapField<int, float> MapInt32Float {
1430      get { return mapInt32Float_; }
1431    }
1432
1433    /// <summary>Field number for the "map_int32_double" field.</summary>
1434    public const int MapInt32DoubleFieldNumber = 12;
1435    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
1436        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForDouble(17, 0D), 98);
1437    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
1438    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1439    public pbc::MapField<int, double> MapInt32Double {
1440      get { return mapInt32Double_; }
1441    }
1442
1443    /// <summary>Field number for the "map_bool_bool" field.</summary>
1444    public const int MapBoolBoolFieldNumber = 13;
1445    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
1446        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8, false), pb::FieldCodec.ForBool(16, false), 106);
1447    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
1448    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1449    public pbc::MapField<bool, bool> MapBoolBool {
1450      get { return mapBoolBool_; }
1451    }
1452
1453    /// <summary>Field number for the "map_int32_enum" field.</summary>
1454    public const int MapInt32EnumFieldNumber = 14;
1455    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec _map_mapInt32Enum_codec
1456        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Google.Protobuf.TestProtos.MapEnum) x, global::Google.Protobuf.TestProtos.MapEnum.Foo), 114);
1457    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> mapInt32Enum_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum>();
1458    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1459    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MapEnum> MapInt32Enum {
1460      get { return mapInt32Enum_; }
1461    }
1462
1463    /// <summary>Field number for the "map_int32_foreign_message" field.</summary>
1464    public const int MapInt32ForeignMessageFieldNumber = 15;
1465    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec _map_mapInt32ForeignMessage_codec
1466        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.ForeignMessage.Parser), 122);
1467    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> mapInt32ForeignMessage_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage>();
1468    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1469    public pbc::MapField<int, global::Google.Protobuf.TestProtos.ForeignMessage> MapInt32ForeignMessage {
1470      get { return mapInt32ForeignMessage_; }
1471    }
1472
1473    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1474    public override bool Equals(object other) {
1475      return Equals(other as TestArenaMap);
1476    }
1477
1478    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1479    public bool Equals(TestArenaMap other) {
1480      if (ReferenceEquals(other, null)) {
1481        return false;
1482      }
1483      if (ReferenceEquals(other, this)) {
1484        return true;
1485      }
1486      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
1487      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
1488      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
1489      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
1490      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
1491      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
1492      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
1493      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
1494      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
1495      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
1496      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
1497      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
1498      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
1499      if (!MapInt32Enum.Equals(other.MapInt32Enum)) return false;
1500      if (!MapInt32ForeignMessage.Equals(other.MapInt32ForeignMessage)) return false;
1501      return Equals(_unknownFields, other._unknownFields);
1502    }
1503
1504    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1505    public override int GetHashCode() {
1506      int hash = 1;
1507      hash ^= MapInt32Int32.GetHashCode();
1508      hash ^= MapInt64Int64.GetHashCode();
1509      hash ^= MapUint32Uint32.GetHashCode();
1510      hash ^= MapUint64Uint64.GetHashCode();
1511      hash ^= MapSint32Sint32.GetHashCode();
1512      hash ^= MapSint64Sint64.GetHashCode();
1513      hash ^= MapFixed32Fixed32.GetHashCode();
1514      hash ^= MapFixed64Fixed64.GetHashCode();
1515      hash ^= MapSfixed32Sfixed32.GetHashCode();
1516      hash ^= MapSfixed64Sfixed64.GetHashCode();
1517      hash ^= MapInt32Float.GetHashCode();
1518      hash ^= MapInt32Double.GetHashCode();
1519      hash ^= MapBoolBool.GetHashCode();
1520      hash ^= MapInt32Enum.GetHashCode();
1521      hash ^= MapInt32ForeignMessage.GetHashCode();
1522      if (_unknownFields != null) {
1523        hash ^= _unknownFields.GetHashCode();
1524      }
1525      return hash;
1526    }
1527
1528    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1529    public override string ToString() {
1530      return pb::JsonFormatter.ToDiagnosticString(this);
1531    }
1532
1533    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1534    public void WriteTo(pb::CodedOutputStream output) {
1535    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1536      output.WriteRawMessage(this);
1537    #else
1538      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
1539      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
1540      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
1541      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
1542      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
1543      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
1544      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
1545      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
1546      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
1547      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
1548      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
1549      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
1550      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
1551      mapInt32Enum_.WriteTo(output, _map_mapInt32Enum_codec);
1552      mapInt32ForeignMessage_.WriteTo(output, _map_mapInt32ForeignMessage_codec);
1553      if (_unknownFields != null) {
1554        _unknownFields.WriteTo(output);
1555      }
1556    #endif
1557    }
1558
1559    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1560    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1561    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1562      mapInt32Int32_.WriteTo(ref output, _map_mapInt32Int32_codec);
1563      mapInt64Int64_.WriteTo(ref output, _map_mapInt64Int64_codec);
1564      mapUint32Uint32_.WriteTo(ref output, _map_mapUint32Uint32_codec);
1565      mapUint64Uint64_.WriteTo(ref output, _map_mapUint64Uint64_codec);
1566      mapSint32Sint32_.WriteTo(ref output, _map_mapSint32Sint32_codec);
1567      mapSint64Sint64_.WriteTo(ref output, _map_mapSint64Sint64_codec);
1568      mapFixed32Fixed32_.WriteTo(ref output, _map_mapFixed32Fixed32_codec);
1569      mapFixed64Fixed64_.WriteTo(ref output, _map_mapFixed64Fixed64_codec);
1570      mapSfixed32Sfixed32_.WriteTo(ref output, _map_mapSfixed32Sfixed32_codec);
1571      mapSfixed64Sfixed64_.WriteTo(ref output, _map_mapSfixed64Sfixed64_codec);
1572      mapInt32Float_.WriteTo(ref output, _map_mapInt32Float_codec);
1573      mapInt32Double_.WriteTo(ref output, _map_mapInt32Double_codec);
1574      mapBoolBool_.WriteTo(ref output, _map_mapBoolBool_codec);
1575      mapInt32Enum_.WriteTo(ref output, _map_mapInt32Enum_codec);
1576      mapInt32ForeignMessage_.WriteTo(ref output, _map_mapInt32ForeignMessage_codec);
1577      if (_unknownFields != null) {
1578        _unknownFields.WriteTo(ref output);
1579      }
1580    }
1581    #endif
1582
1583    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1584    public int CalculateSize() {
1585      int size = 0;
1586      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
1587      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
1588      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
1589      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
1590      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
1591      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
1592      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
1593      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
1594      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
1595      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
1596      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
1597      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
1598      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
1599      size += mapInt32Enum_.CalculateSize(_map_mapInt32Enum_codec);
1600      size += mapInt32ForeignMessage_.CalculateSize(_map_mapInt32ForeignMessage_codec);
1601      if (_unknownFields != null) {
1602        size += _unknownFields.CalculateSize();
1603      }
1604      return size;
1605    }
1606
1607    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1608    public void MergeFrom(TestArenaMap other) {
1609      if (other == null) {
1610        return;
1611      }
1612      mapInt32Int32_.Add(other.mapInt32Int32_);
1613      mapInt64Int64_.Add(other.mapInt64Int64_);
1614      mapUint32Uint32_.Add(other.mapUint32Uint32_);
1615      mapUint64Uint64_.Add(other.mapUint64Uint64_);
1616      mapSint32Sint32_.Add(other.mapSint32Sint32_);
1617      mapSint64Sint64_.Add(other.mapSint64Sint64_);
1618      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
1619      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
1620      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
1621      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
1622      mapInt32Float_.Add(other.mapInt32Float_);
1623      mapInt32Double_.Add(other.mapInt32Double_);
1624      mapBoolBool_.Add(other.mapBoolBool_);
1625      mapInt32Enum_.Add(other.mapInt32Enum_);
1626      mapInt32ForeignMessage_.Add(other.mapInt32ForeignMessage_);
1627      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1628    }
1629
1630    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1631    public void MergeFrom(pb::CodedInputStream input) {
1632    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1633      input.ReadRawMessage(this);
1634    #else
1635      uint tag;
1636      while ((tag = input.ReadTag()) != 0) {
1637        switch(tag) {
1638          default:
1639            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1640            break;
1641          case 10: {
1642            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
1643            break;
1644          }
1645          case 18: {
1646            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
1647            break;
1648          }
1649          case 26: {
1650            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
1651            break;
1652          }
1653          case 34: {
1654            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
1655            break;
1656          }
1657          case 42: {
1658            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
1659            break;
1660          }
1661          case 50: {
1662            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
1663            break;
1664          }
1665          case 58: {
1666            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
1667            break;
1668          }
1669          case 66: {
1670            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
1671            break;
1672          }
1673          case 74: {
1674            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
1675            break;
1676          }
1677          case 82: {
1678            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
1679            break;
1680          }
1681          case 90: {
1682            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
1683            break;
1684          }
1685          case 98: {
1686            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
1687            break;
1688          }
1689          case 106: {
1690            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
1691            break;
1692          }
1693          case 114: {
1694            mapInt32Enum_.AddEntriesFrom(input, _map_mapInt32Enum_codec);
1695            break;
1696          }
1697          case 122: {
1698            mapInt32ForeignMessage_.AddEntriesFrom(input, _map_mapInt32ForeignMessage_codec);
1699            break;
1700          }
1701        }
1702      }
1703    #endif
1704    }
1705
1706    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1707    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1708    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1709      uint tag;
1710      while ((tag = input.ReadTag()) != 0) {
1711        switch(tag) {
1712          default:
1713            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1714            break;
1715          case 10: {
1716            mapInt32Int32_.AddEntriesFrom(ref input, _map_mapInt32Int32_codec);
1717            break;
1718          }
1719          case 18: {
1720            mapInt64Int64_.AddEntriesFrom(ref input, _map_mapInt64Int64_codec);
1721            break;
1722          }
1723          case 26: {
1724            mapUint32Uint32_.AddEntriesFrom(ref input, _map_mapUint32Uint32_codec);
1725            break;
1726          }
1727          case 34: {
1728            mapUint64Uint64_.AddEntriesFrom(ref input, _map_mapUint64Uint64_codec);
1729            break;
1730          }
1731          case 42: {
1732            mapSint32Sint32_.AddEntriesFrom(ref input, _map_mapSint32Sint32_codec);
1733            break;
1734          }
1735          case 50: {
1736            mapSint64Sint64_.AddEntriesFrom(ref input, _map_mapSint64Sint64_codec);
1737            break;
1738          }
1739          case 58: {
1740            mapFixed32Fixed32_.AddEntriesFrom(ref input, _map_mapFixed32Fixed32_codec);
1741            break;
1742          }
1743          case 66: {
1744            mapFixed64Fixed64_.AddEntriesFrom(ref input, _map_mapFixed64Fixed64_codec);
1745            break;
1746          }
1747          case 74: {
1748            mapSfixed32Sfixed32_.AddEntriesFrom(ref input, _map_mapSfixed32Sfixed32_codec);
1749            break;
1750          }
1751          case 82: {
1752            mapSfixed64Sfixed64_.AddEntriesFrom(ref input, _map_mapSfixed64Sfixed64_codec);
1753            break;
1754          }
1755          case 90: {
1756            mapInt32Float_.AddEntriesFrom(ref input, _map_mapInt32Float_codec);
1757            break;
1758          }
1759          case 98: {
1760            mapInt32Double_.AddEntriesFrom(ref input, _map_mapInt32Double_codec);
1761            break;
1762          }
1763          case 106: {
1764            mapBoolBool_.AddEntriesFrom(ref input, _map_mapBoolBool_codec);
1765            break;
1766          }
1767          case 114: {
1768            mapInt32Enum_.AddEntriesFrom(ref input, _map_mapInt32Enum_codec);
1769            break;
1770          }
1771          case 122: {
1772            mapInt32ForeignMessage_.AddEntriesFrom(ref input, _map_mapInt32ForeignMessage_codec);
1773            break;
1774          }
1775        }
1776      }
1777    }
1778    #endif
1779
1780  }
1781
1782  /// <summary>
1783  /// Previously, message containing enum called Type cannot be used as value of
1784  /// map field.
1785  /// </summary>
1786  public sealed partial class MessageContainingEnumCalledType : pb::IMessage<MessageContainingEnumCalledType>
1787  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1788      , pb::IBufferMessage
1789  #endif
1790  {
1791    private static readonly pb::MessageParser<MessageContainingEnumCalledType> _parser = new pb::MessageParser<MessageContainingEnumCalledType>(() => new MessageContainingEnumCalledType());
1792    private pb::UnknownFieldSet _unknownFields;
1793    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1794    public static pb::MessageParser<MessageContainingEnumCalledType> Parser { get { return _parser; } }
1795
1796    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1797    public static pbr::MessageDescriptor Descriptor {
1798      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[5]; }
1799    }
1800
1801    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1802    pbr::MessageDescriptor pb::IMessage.Descriptor {
1803      get { return Descriptor; }
1804    }
1805
1806    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1807    public MessageContainingEnumCalledType() {
1808      OnConstruction();
1809    }
1810
1811    partial void OnConstruction();
1812
1813    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1814    public MessageContainingEnumCalledType(MessageContainingEnumCalledType other) : this() {
1815      type_ = other.type_.Clone();
1816      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1817    }
1818
1819    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1820    public MessageContainingEnumCalledType Clone() {
1821      return new MessageContainingEnumCalledType(this);
1822    }
1823
1824    /// <summary>Field number for the "type" field.</summary>
1825    public const int TypeFieldNumber = 1;
1826    private static readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>.Codec _map_type_codec
1827        = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType.Parser), 10);
1828    private readonly pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType> type_ = new pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType>();
1829    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1830    public pbc::MapField<int, global::Google.Protobuf.TestProtos.MessageContainingEnumCalledType> Type {
1831      get { return type_; }
1832    }
1833
1834    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1835    public override bool Equals(object other) {
1836      return Equals(other as MessageContainingEnumCalledType);
1837    }
1838
1839    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1840    public bool Equals(MessageContainingEnumCalledType other) {
1841      if (ReferenceEquals(other, null)) {
1842        return false;
1843      }
1844      if (ReferenceEquals(other, this)) {
1845        return true;
1846      }
1847      if (!Type.Equals(other.Type)) return false;
1848      return Equals(_unknownFields, other._unknownFields);
1849    }
1850
1851    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1852    public override int GetHashCode() {
1853      int hash = 1;
1854      hash ^= Type.GetHashCode();
1855      if (_unknownFields != null) {
1856        hash ^= _unknownFields.GetHashCode();
1857      }
1858      return hash;
1859    }
1860
1861    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1862    public override string ToString() {
1863      return pb::JsonFormatter.ToDiagnosticString(this);
1864    }
1865
1866    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1867    public void WriteTo(pb::CodedOutputStream output) {
1868    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1869      output.WriteRawMessage(this);
1870    #else
1871      type_.WriteTo(output, _map_type_codec);
1872      if (_unknownFields != null) {
1873        _unknownFields.WriteTo(output);
1874      }
1875    #endif
1876    }
1877
1878    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1879    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1880    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1881      type_.WriteTo(ref output, _map_type_codec);
1882      if (_unknownFields != null) {
1883        _unknownFields.WriteTo(ref output);
1884      }
1885    }
1886    #endif
1887
1888    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1889    public int CalculateSize() {
1890      int size = 0;
1891      size += type_.CalculateSize(_map_type_codec);
1892      if (_unknownFields != null) {
1893        size += _unknownFields.CalculateSize();
1894      }
1895      return size;
1896    }
1897
1898    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1899    public void MergeFrom(MessageContainingEnumCalledType other) {
1900      if (other == null) {
1901        return;
1902      }
1903      type_.Add(other.type_);
1904      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1905    }
1906
1907    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1908    public void MergeFrom(pb::CodedInputStream input) {
1909    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1910      input.ReadRawMessage(this);
1911    #else
1912      uint tag;
1913      while ((tag = input.ReadTag()) != 0) {
1914        switch(tag) {
1915          default:
1916            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1917            break;
1918          case 10: {
1919            type_.AddEntriesFrom(input, _map_type_codec);
1920            break;
1921          }
1922        }
1923      }
1924    #endif
1925    }
1926
1927    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1928    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1929    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1930      uint tag;
1931      while ((tag = input.ReadTag()) != 0) {
1932        switch(tag) {
1933          default:
1934            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1935            break;
1936          case 10: {
1937            type_.AddEntriesFrom(ref input, _map_type_codec);
1938            break;
1939          }
1940        }
1941      }
1942    }
1943    #endif
1944
1945    #region Nested types
1946    /// <summary>Container for nested types declared in the MessageContainingEnumCalledType message type.</summary>
1947    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1948    public static partial class Types {
1949      public enum Type {
1950        [pbr::OriginalName("TYPE_FOO")] Foo = 0,
1951      }
1952
1953    }
1954    #endregion
1955
1956  }
1957
1958  /// <summary>
1959  /// Previously, message cannot contain map field called "entry".
1960  /// </summary>
1961  public sealed partial class MessageContainingMapCalledEntry : pb::IMessage<MessageContainingMapCalledEntry>
1962  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1963      , pb::IBufferMessage
1964  #endif
1965  {
1966    private static readonly pb::MessageParser<MessageContainingMapCalledEntry> _parser = new pb::MessageParser<MessageContainingMapCalledEntry>(() => new MessageContainingMapCalledEntry());
1967    private pb::UnknownFieldSet _unknownFields;
1968    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1969    public static pb::MessageParser<MessageContainingMapCalledEntry> Parser { get { return _parser; } }
1970
1971    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1972    public static pbr::MessageDescriptor Descriptor {
1973      get { return global::Google.Protobuf.TestProtos.MapUnittestProto3Reflection.Descriptor.MessageTypes[6]; }
1974    }
1975
1976    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1977    pbr::MessageDescriptor pb::IMessage.Descriptor {
1978      get { return Descriptor; }
1979    }
1980
1981    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1982    public MessageContainingMapCalledEntry() {
1983      OnConstruction();
1984    }
1985
1986    partial void OnConstruction();
1987
1988    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1989    public MessageContainingMapCalledEntry(MessageContainingMapCalledEntry other) : this() {
1990      entry_ = other.entry_.Clone();
1991      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1992    }
1993
1994    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1995    public MessageContainingMapCalledEntry Clone() {
1996      return new MessageContainingMapCalledEntry(this);
1997    }
1998
1999    /// <summary>Field number for the "entry" field.</summary>
2000    public const int EntryFieldNumber = 1;
2001    private static readonly pbc::MapField<int, int>.Codec _map_entry_codec
2002        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 10);
2003    private readonly pbc::MapField<int, int> entry_ = new pbc::MapField<int, int>();
2004    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2005    public pbc::MapField<int, int> Entry {
2006      get { return entry_; }
2007    }
2008
2009    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2010    public override bool Equals(object other) {
2011      return Equals(other as MessageContainingMapCalledEntry);
2012    }
2013
2014    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2015    public bool Equals(MessageContainingMapCalledEntry other) {
2016      if (ReferenceEquals(other, null)) {
2017        return false;
2018      }
2019      if (ReferenceEquals(other, this)) {
2020        return true;
2021      }
2022      if (!Entry.Equals(other.Entry)) return false;
2023      return Equals(_unknownFields, other._unknownFields);
2024    }
2025
2026    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2027    public override int GetHashCode() {
2028      int hash = 1;
2029      hash ^= Entry.GetHashCode();
2030      if (_unknownFields != null) {
2031        hash ^= _unknownFields.GetHashCode();
2032      }
2033      return hash;
2034    }
2035
2036    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2037    public override string ToString() {
2038      return pb::JsonFormatter.ToDiagnosticString(this);
2039    }
2040
2041    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2042    public void WriteTo(pb::CodedOutputStream output) {
2043    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2044      output.WriteRawMessage(this);
2045    #else
2046      entry_.WriteTo(output, _map_entry_codec);
2047      if (_unknownFields != null) {
2048        _unknownFields.WriteTo(output);
2049      }
2050    #endif
2051    }
2052
2053    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2054    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2055    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2056      entry_.WriteTo(ref output, _map_entry_codec);
2057      if (_unknownFields != null) {
2058        _unknownFields.WriteTo(ref output);
2059      }
2060    }
2061    #endif
2062
2063    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2064    public int CalculateSize() {
2065      int size = 0;
2066      size += entry_.CalculateSize(_map_entry_codec);
2067      if (_unknownFields != null) {
2068        size += _unknownFields.CalculateSize();
2069      }
2070      return size;
2071    }
2072
2073    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2074    public void MergeFrom(MessageContainingMapCalledEntry other) {
2075      if (other == null) {
2076        return;
2077      }
2078      entry_.Add(other.entry_);
2079      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2080    }
2081
2082    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2083    public void MergeFrom(pb::CodedInputStream input) {
2084    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2085      input.ReadRawMessage(this);
2086    #else
2087      uint tag;
2088      while ((tag = input.ReadTag()) != 0) {
2089        switch(tag) {
2090          default:
2091            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2092            break;
2093          case 10: {
2094            entry_.AddEntriesFrom(input, _map_entry_codec);
2095            break;
2096          }
2097        }
2098      }
2099    #endif
2100    }
2101
2102    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2103    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2104    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2105      uint tag;
2106      while ((tag = input.ReadTag()) != 0) {
2107        switch(tag) {
2108          default:
2109            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2110            break;
2111          case 10: {
2112            entry_.AddEntriesFrom(ref input, _map_entry_codec);
2113            break;
2114          }
2115        }
2116      }
2117    }
2118    #endif
2119
2120  }
2121
2122  #endregion
2123
2124}
2125
2126#endregion Designer generated code
2127