1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2008 Google Inc. All rights reserved. 3 // https://developers.google.com/protocol-buffers/ 4 // 5 // Redistribution and use in source and binary forms, with or without 6 // modification, are permitted provided that the following conditions are 7 // met: 8 // 9 // * Redistributions of source code must retain the above copyright 10 // notice, this list of conditions and the following disclaimer. 11 // * Redistributions in binary form must reproduce the above 12 // copyright notice, this list of conditions and the following disclaimer 13 // in the documentation and/or other materials provided with the 14 // distribution. 15 // * Neither the name of Google Inc. nor the names of its 16 // contributors may be used to endorse or promote products derived from 17 // this software without specific prior written permission. 18 // 19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31 package com.google.protobuf; 32 33 import com.google.protobuf.testing.Proto3TestingLite.Proto3MessageLite; 34 import com.google.protobuf.testing.Proto3TestingLite.Proto3MessageLiteWithMaps; 35 import java.util.HashMap; 36 import java.util.Map; 37 38 /** Creates instances of {@link Proto3MessageLite} based on the tree configuration. */ 39 public final class Proto3MessageLiteFactory 40 implements ExperimentalMessageFactory<Proto3MessageLite> { 41 private final int numRepeatedFields; 42 private final int branchingFactor; 43 private final Proto3MessageLiteFactory nextLevel; 44 private final ExperimentalTestDataProvider data; 45 Proto3MessageLiteFactory( int numRepeatedFields, int stringLength, int branchingFactor, int treeDepth)46 public Proto3MessageLiteFactory( 47 int numRepeatedFields, int stringLength, int branchingFactor, int treeDepth) { 48 this( 49 new ExperimentalTestDataProvider(stringLength), 50 numRepeatedFields, 51 branchingFactor, 52 treeDepth); 53 } 54 Proto3MessageLiteFactory( ExperimentalTestDataProvider data, int numRepeatedFields, int branchingFactor, int treeDepth)55 private Proto3MessageLiteFactory( 56 ExperimentalTestDataProvider data, 57 int numRepeatedFields, 58 int branchingFactor, 59 int treeDepth) { 60 this.numRepeatedFields = numRepeatedFields; 61 this.branchingFactor = branchingFactor; 62 this.data = data; 63 if (treeDepth > 0) { 64 nextLevel = 65 new Proto3MessageLiteFactory(data, numRepeatedFields, branchingFactor, treeDepth - 1); 66 } else { 67 nextLevel = null; 68 } 69 } 70 71 @Override dataProvider()72 public ExperimentalTestDataProvider dataProvider() { 73 return data; 74 } 75 76 @Override newMessage()77 public Proto3MessageLite newMessage() { 78 Proto3MessageLite.Builder builder = Proto3MessageLite.newBuilder(); 79 builder.setFieldDouble1(data.getDouble()); 80 builder.setFieldFloat2(data.getFloat()); 81 builder.setFieldInt643(data.getLong()); 82 builder.setFieldUint644(data.getLong()); 83 builder.setFieldInt325(data.getInt()); 84 builder.setFieldFixed646(data.getLong()); 85 builder.setFieldFixed327(data.getInt()); 86 builder.setFieldBool8(data.getBool()); 87 builder.setFieldString9(data.getString()); 88 // We don't populate the message field. Instead we apply the branching factor to the 89 // repeated message field below. 90 builder.setFieldBytes11(data.getBytes()); 91 builder.setFieldUint3212(data.getInt()); 92 builder.setFieldEnum13Value(data.getEnum()); 93 builder.setFieldSfixed3214(data.getInt()); 94 builder.setFieldSfixed6415(data.getLong()); 95 builder.setFieldSint3216(data.getInt()); 96 builder.setFieldSint6417(data.getLong()); 97 98 for (int i = 0; i < numRepeatedFields; ++i) { 99 builder.addFieldDoubleList18(data.getDouble()); 100 builder.addFieldFloatList19(data.getFloat()); 101 builder.addFieldInt64List20(data.getLong()); 102 builder.addFieldUint64List21(data.getLong()); 103 builder.addFieldInt32List22(data.getInt()); 104 builder.addFieldFixed64List23(data.getLong()); 105 builder.addFieldFixed32List24(data.getInt()); 106 builder.addFieldBoolList25(data.getBool()); 107 builder.addFieldStringList26(data.getString()); 108 // Repeated message field is controlled by the branching factor below. 109 builder.addFieldBytesList28(data.getBytes()); 110 builder.addFieldUint32List29(data.getInt()); 111 builder.addFieldEnumList30Value(data.getEnum()); 112 builder.addFieldSfixed32List31(data.getInt()); 113 builder.addFieldSfixed64List32(data.getLong()); 114 builder.addFieldSint32List33(data.getInt()); 115 builder.addFieldSint64List34(data.getLong()); 116 117 builder.addFieldDoubleListPacked35(data.getDouble()); 118 builder.addFieldFloatListPacked36(data.getFloat()); 119 builder.addFieldInt64ListPacked37(data.getLong()); 120 builder.addFieldUint64ListPacked38(data.getLong()); 121 builder.addFieldInt32ListPacked39(data.getInt()); 122 builder.addFieldFixed64ListPacked40(data.getLong()); 123 builder.addFieldFixed32ListPacked41(data.getInt()); 124 builder.addFieldBoolListPacked42(data.getBool()); 125 builder.addFieldUint32ListPacked43(data.getInt()); 126 builder.addFieldEnumListPacked44Value(data.getEnum()); 127 builder.addFieldSfixed32ListPacked45(data.getInt()); 128 builder.addFieldSfixed64ListPacked46(data.getLong()); 129 builder.addFieldSint32ListPacked47(data.getInt()); 130 builder.addFieldSint64ListPacked48(data.getLong()); 131 } 132 133 // Handle the branching factor. 134 if (nextLevel != null) { 135 for (int i = 0; i < branchingFactor; ++i) { 136 builder.addFieldMessageList27(nextLevel.newMessage()); 137 } 138 } 139 140 return builder.build(); 141 } 142 143 private interface MapValueProvider<T> { getValue()144 public T getValue(); 145 } 146 147 private final MapValueProvider<Integer> integerProvider = 148 new MapValueProvider<Integer>() { 149 @Override 150 public Integer getValue() { 151 return data.getInt(); 152 } 153 }; 154 private final MapValueProvider<Long> longProvider = 155 new MapValueProvider<Long>() { 156 @Override 157 public Long getValue() { 158 return data.getLong(); 159 } 160 }; 161 private final MapValueProvider<String> stringProvider = 162 new MapValueProvider<String>() { 163 @Override 164 public String getValue() { 165 return data.getString(); 166 } 167 }; 168 private final MapValueProvider<ByteString> bytesProvider = 169 new MapValueProvider<ByteString>() { 170 @Override 171 public ByteString getValue() { 172 return data.getBytes(); 173 } 174 }; 175 private final MapValueProvider<Boolean> booleanProvider = 176 new MapValueProvider<Boolean>() { 177 @Override 178 public Boolean getValue() { 179 return data.getBool(); 180 } 181 }; 182 private final MapValueProvider<Float> floatProvider = 183 new MapValueProvider<Float>() { 184 @Override 185 public Float getValue() { 186 return data.getFloat(); 187 } 188 }; 189 private final MapValueProvider<Double> doubleProvider = 190 new MapValueProvider<Double>() { 191 @Override 192 public Double getValue() { 193 return data.getDouble(); 194 } 195 }; 196 private final MapValueProvider<Proto3MessageLite> messageProvider = 197 new MapValueProvider<Proto3MessageLite>() { 198 @Override 199 public Proto3MessageLite getValue() { 200 return newMessage(); 201 } 202 }; 203 private final MapValueProvider<Proto3MessageLite.TestEnum> enumProvider = 204 new MapValueProvider<Proto3MessageLite.TestEnum>() { 205 @Override 206 public Proto3MessageLite.TestEnum getValue() { 207 return Proto3MessageLite.TestEnum.forNumber(data.getEnum()); 208 } 209 }; 210 populateIntegerMap(MapValueProvider<V> provider)211 private <V> Map<Integer, V> populateIntegerMap(MapValueProvider<V> provider) { 212 Map<Integer, V> map = new HashMap<>(); 213 for (int i = 0; i < numRepeatedFields; ++i) { 214 map.put(data.getInt(), provider.getValue()); 215 } 216 return map; 217 } 218 populateLongMap(MapValueProvider<V> provider)219 private <V> Map<Long, V> populateLongMap(MapValueProvider<V> provider) { 220 Map<Long, V> map = new HashMap<>(); 221 for (int i = 0; i < numRepeatedFields; ++i) { 222 map.put(data.getLong(), provider.getValue()); 223 } 224 return map; 225 } 226 populateStringMap(MapValueProvider<V> provider)227 private <V> Map<String, V> populateStringMap(MapValueProvider<V> provider) { 228 Map<String, V> map = new HashMap<>(); 229 for (int i = 0; i < numRepeatedFields; ++i) { 230 map.put(data.getString(), provider.getValue()); 231 } 232 return map; 233 } 234 populateBooleanMap(MapValueProvider<V> provider)235 private <V> Map<Boolean, V> populateBooleanMap(MapValueProvider<V> provider) { 236 Map<Boolean, V> map = new HashMap<>(); 237 map.put(false, provider.getValue()); 238 map.put(true, provider.getValue()); 239 return map; 240 } 241 newMessageWithMaps()242 public Proto3MessageLiteWithMaps newMessageWithMaps() { 243 Proto3MessageLiteWithMaps.Builder builder = Proto3MessageLiteWithMaps.newBuilder(); 244 245 builder.putAllFieldMapBoolBool1(populateBooleanMap(booleanProvider)); 246 builder.putAllFieldMapBoolBytes2(populateBooleanMap(bytesProvider)); 247 builder.putAllFieldMapBoolDouble3(populateBooleanMap(doubleProvider)); 248 builder.putAllFieldMapBoolEnum4(populateBooleanMap(enumProvider)); 249 builder.putAllFieldMapBoolFixed325(populateBooleanMap(integerProvider)); 250 builder.putAllFieldMapBoolFixed646(populateBooleanMap(longProvider)); 251 builder.putAllFieldMapBoolFloat7(populateBooleanMap(floatProvider)); 252 builder.putAllFieldMapBoolInt328(populateBooleanMap(integerProvider)); 253 builder.putAllFieldMapBoolInt649(populateBooleanMap(longProvider)); 254 builder.putAllFieldMapBoolMessage10(populateBooleanMap(messageProvider)); 255 builder.putAllFieldMapBoolSfixed3211(populateBooleanMap(integerProvider)); 256 builder.putAllFieldMapBoolSfixed6412(populateBooleanMap(longProvider)); 257 builder.putAllFieldMapBoolSint3213(populateBooleanMap(integerProvider)); 258 builder.putAllFieldMapBoolSint6414(populateBooleanMap(longProvider)); 259 builder.putAllFieldMapBoolString15(populateBooleanMap(stringProvider)); 260 builder.putAllFieldMapBoolUint3216(populateBooleanMap(integerProvider)); 261 builder.putAllFieldMapBoolUint6417(populateBooleanMap(longProvider)); 262 builder.putAllFieldMapFixed32Bool18(populateIntegerMap(booleanProvider)); 263 builder.putAllFieldMapFixed32Bytes19(populateIntegerMap(bytesProvider)); 264 builder.putAllFieldMapFixed32Double20(populateIntegerMap(doubleProvider)); 265 builder.putAllFieldMapFixed32Enum21(populateIntegerMap(enumProvider)); 266 builder.putAllFieldMapFixed32Fixed3222(populateIntegerMap(integerProvider)); 267 builder.putAllFieldMapFixed32Fixed6423(populateIntegerMap(longProvider)); 268 builder.putAllFieldMapFixed32Float24(populateIntegerMap(floatProvider)); 269 builder.putAllFieldMapFixed32Int3225(populateIntegerMap(integerProvider)); 270 builder.putAllFieldMapFixed32Int6426(populateIntegerMap(longProvider)); 271 builder.putAllFieldMapFixed32Message27(populateIntegerMap(messageProvider)); 272 builder.putAllFieldMapFixed32Sfixed3228(populateIntegerMap(integerProvider)); 273 builder.putAllFieldMapFixed32Sfixed6429(populateIntegerMap(longProvider)); 274 builder.putAllFieldMapFixed32Sint3230(populateIntegerMap(integerProvider)); 275 builder.putAllFieldMapFixed32Sint6431(populateIntegerMap(longProvider)); 276 builder.putAllFieldMapFixed32String32(populateIntegerMap(stringProvider)); 277 builder.putAllFieldMapFixed32Uint3233(populateIntegerMap(integerProvider)); 278 builder.putAllFieldMapFixed32Uint6434(populateIntegerMap(longProvider)); 279 builder.putAllFieldMapFixed64Bool35(populateLongMap(booleanProvider)); 280 builder.putAllFieldMapFixed64Bytes36(populateLongMap(bytesProvider)); 281 builder.putAllFieldMapFixed64Double37(populateLongMap(doubleProvider)); 282 builder.putAllFieldMapFixed64Enum38(populateLongMap(enumProvider)); 283 builder.putAllFieldMapFixed64Fixed3239(populateLongMap(integerProvider)); 284 builder.putAllFieldMapFixed64Fixed6440(populateLongMap(longProvider)); 285 builder.putAllFieldMapFixed64Float41(populateLongMap(floatProvider)); 286 builder.putAllFieldMapFixed64Int3242(populateLongMap(integerProvider)); 287 builder.putAllFieldMapFixed64Int6443(populateLongMap(longProvider)); 288 builder.putAllFieldMapFixed64Message44(populateLongMap(messageProvider)); 289 builder.putAllFieldMapFixed64Sfixed3245(populateLongMap(integerProvider)); 290 builder.putAllFieldMapFixed64Sfixed6446(populateLongMap(longProvider)); 291 builder.putAllFieldMapFixed64Sint3247(populateLongMap(integerProvider)); 292 builder.putAllFieldMapFixed64Sint6448(populateLongMap(longProvider)); 293 builder.putAllFieldMapFixed64String49(populateLongMap(stringProvider)); 294 builder.putAllFieldMapFixed64Uint3250(populateLongMap(integerProvider)); 295 builder.putAllFieldMapFixed64Uint6451(populateLongMap(longProvider)); 296 builder.putAllFieldMapInt32Bool52(populateIntegerMap(booleanProvider)); 297 builder.putAllFieldMapInt32Bytes53(populateIntegerMap(bytesProvider)); 298 builder.putAllFieldMapInt32Double54(populateIntegerMap(doubleProvider)); 299 builder.putAllFieldMapInt32Enum55(populateIntegerMap(enumProvider)); 300 builder.putAllFieldMapInt32Fixed3256(populateIntegerMap(integerProvider)); 301 builder.putAllFieldMapInt32Fixed6457(populateIntegerMap(longProvider)); 302 builder.putAllFieldMapInt32Float58(populateIntegerMap(floatProvider)); 303 builder.putAllFieldMapInt32Int3259(populateIntegerMap(integerProvider)); 304 builder.putAllFieldMapInt32Int6460(populateIntegerMap(longProvider)); 305 builder.putAllFieldMapInt32Message61(populateIntegerMap(messageProvider)); 306 builder.putAllFieldMapInt32Sfixed3262(populateIntegerMap(integerProvider)); 307 builder.putAllFieldMapInt32Sfixed6463(populateIntegerMap(longProvider)); 308 builder.putAllFieldMapInt32Sint3264(populateIntegerMap(integerProvider)); 309 builder.putAllFieldMapInt32Sint6465(populateIntegerMap(longProvider)); 310 builder.putAllFieldMapInt32String66(populateIntegerMap(stringProvider)); 311 builder.putAllFieldMapInt32Uint3267(populateIntegerMap(integerProvider)); 312 builder.putAllFieldMapInt32Uint6468(populateIntegerMap(longProvider)); 313 builder.putAllFieldMapInt64Bool69(populateLongMap(booleanProvider)); 314 builder.putAllFieldMapInt64Bytes70(populateLongMap(bytesProvider)); 315 builder.putAllFieldMapInt64Double71(populateLongMap(doubleProvider)); 316 builder.putAllFieldMapInt64Enum72(populateLongMap(enumProvider)); 317 builder.putAllFieldMapInt64Fixed3273(populateLongMap(integerProvider)); 318 builder.putAllFieldMapInt64Fixed6474(populateLongMap(longProvider)); 319 builder.putAllFieldMapInt64Float75(populateLongMap(floatProvider)); 320 builder.putAllFieldMapInt64Int3276(populateLongMap(integerProvider)); 321 builder.putAllFieldMapInt64Int6477(populateLongMap(longProvider)); 322 builder.putAllFieldMapInt64Message78(populateLongMap(messageProvider)); 323 builder.putAllFieldMapInt64Sfixed3279(populateLongMap(integerProvider)); 324 builder.putAllFieldMapInt64Sfixed6480(populateLongMap(longProvider)); 325 builder.putAllFieldMapInt64Sint3281(populateLongMap(integerProvider)); 326 builder.putAllFieldMapInt64Sint6482(populateLongMap(longProvider)); 327 builder.putAllFieldMapInt64String83(populateLongMap(stringProvider)); 328 builder.putAllFieldMapInt64Uint3284(populateLongMap(integerProvider)); 329 builder.putAllFieldMapInt64Uint6485(populateLongMap(longProvider)); 330 builder.putAllFieldMapSfixed32Bool86(populateIntegerMap(booleanProvider)); 331 builder.putAllFieldMapSfixed32Bytes87(populateIntegerMap(bytesProvider)); 332 builder.putAllFieldMapSfixed32Double88(populateIntegerMap(doubleProvider)); 333 builder.putAllFieldMapSfixed32Enum89(populateIntegerMap(enumProvider)); 334 builder.putAllFieldMapSfixed32Fixed3290(populateIntegerMap(integerProvider)); 335 builder.putAllFieldMapSfixed32Fixed6491(populateIntegerMap(longProvider)); 336 builder.putAllFieldMapSfixed32Float92(populateIntegerMap(floatProvider)); 337 builder.putAllFieldMapSfixed32Int3293(populateIntegerMap(integerProvider)); 338 builder.putAllFieldMapSfixed32Int6494(populateIntegerMap(longProvider)); 339 builder.putAllFieldMapSfixed32Message95(populateIntegerMap(messageProvider)); 340 builder.putAllFieldMapSfixed32Sfixed3296(populateIntegerMap(integerProvider)); 341 builder.putAllFieldMapSfixed32Sfixed6497(populateIntegerMap(longProvider)); 342 builder.putAllFieldMapSfixed32Sint3298(populateIntegerMap(integerProvider)); 343 builder.putAllFieldMapSfixed32Sint6499(populateIntegerMap(longProvider)); 344 builder.putAllFieldMapSfixed32String100(populateIntegerMap(stringProvider)); 345 builder.putAllFieldMapSfixed32Uint32101(populateIntegerMap(integerProvider)); 346 builder.putAllFieldMapSfixed32Uint64102(populateIntegerMap(longProvider)); 347 builder.putAllFieldMapSfixed64Bool103(populateLongMap(booleanProvider)); 348 builder.putAllFieldMapSfixed64Bytes104(populateLongMap(bytesProvider)); 349 builder.putAllFieldMapSfixed64Double105(populateLongMap(doubleProvider)); 350 builder.putAllFieldMapSfixed64Enum106(populateLongMap(enumProvider)); 351 builder.putAllFieldMapSfixed64Fixed32107(populateLongMap(integerProvider)); 352 builder.putAllFieldMapSfixed64Fixed64108(populateLongMap(longProvider)); 353 builder.putAllFieldMapSfixed64Float109(populateLongMap(floatProvider)); 354 builder.putAllFieldMapSfixed64Int32110(populateLongMap(integerProvider)); 355 builder.putAllFieldMapSfixed64Int64111(populateLongMap(longProvider)); 356 builder.putAllFieldMapSfixed64Message112(populateLongMap(messageProvider)); 357 builder.putAllFieldMapSfixed64Sfixed32113(populateLongMap(integerProvider)); 358 builder.putAllFieldMapSfixed64Sfixed64114(populateLongMap(longProvider)); 359 builder.putAllFieldMapSfixed64Sint32115(populateLongMap(integerProvider)); 360 builder.putAllFieldMapSfixed64Sint64116(populateLongMap(longProvider)); 361 builder.putAllFieldMapSfixed64String117(populateLongMap(stringProvider)); 362 builder.putAllFieldMapSfixed64Uint32118(populateLongMap(integerProvider)); 363 builder.putAllFieldMapSfixed64Uint64119(populateLongMap(longProvider)); 364 builder.putAllFieldMapSint32Bool120(populateIntegerMap(booleanProvider)); 365 builder.putAllFieldMapSint32Bytes121(populateIntegerMap(bytesProvider)); 366 builder.putAllFieldMapSint32Double122(populateIntegerMap(doubleProvider)); 367 builder.putAllFieldMapSint32Enum123(populateIntegerMap(enumProvider)); 368 builder.putAllFieldMapSint32Fixed32124(populateIntegerMap(integerProvider)); 369 builder.putAllFieldMapSint32Fixed64125(populateIntegerMap(longProvider)); 370 builder.putAllFieldMapSint32Float126(populateIntegerMap(floatProvider)); 371 builder.putAllFieldMapSint32Int32127(populateIntegerMap(integerProvider)); 372 builder.putAllFieldMapSint32Int64128(populateIntegerMap(longProvider)); 373 builder.putAllFieldMapSint32Message129(populateIntegerMap(messageProvider)); 374 builder.putAllFieldMapSint32Sfixed32130(populateIntegerMap(integerProvider)); 375 builder.putAllFieldMapSint32Sfixed64131(populateIntegerMap(longProvider)); 376 builder.putAllFieldMapSint32Sint32132(populateIntegerMap(integerProvider)); 377 builder.putAllFieldMapSint32Sint64133(populateIntegerMap(longProvider)); 378 builder.putAllFieldMapSint32String134(populateIntegerMap(stringProvider)); 379 builder.putAllFieldMapSint32Uint32135(populateIntegerMap(integerProvider)); 380 builder.putAllFieldMapSint32Uint64136(populateIntegerMap(longProvider)); 381 builder.putAllFieldMapSint64Bool137(populateLongMap(booleanProvider)); 382 builder.putAllFieldMapSint64Bytes138(populateLongMap(bytesProvider)); 383 builder.putAllFieldMapSint64Double139(populateLongMap(doubleProvider)); 384 builder.putAllFieldMapSint64Enum140(populateLongMap(enumProvider)); 385 builder.putAllFieldMapSint64Fixed32141(populateLongMap(integerProvider)); 386 builder.putAllFieldMapSint64Fixed64142(populateLongMap(longProvider)); 387 builder.putAllFieldMapSint64Float143(populateLongMap(floatProvider)); 388 builder.putAllFieldMapSint64Int32144(populateLongMap(integerProvider)); 389 builder.putAllFieldMapSint64Int64145(populateLongMap(longProvider)); 390 builder.putAllFieldMapSint64Message146(populateLongMap(messageProvider)); 391 builder.putAllFieldMapSint64Sfixed32147(populateLongMap(integerProvider)); 392 builder.putAllFieldMapSint64Sfixed64148(populateLongMap(longProvider)); 393 builder.putAllFieldMapSint64Sint32149(populateLongMap(integerProvider)); 394 builder.putAllFieldMapSint64Sint64150(populateLongMap(longProvider)); 395 builder.putAllFieldMapSint64String151(populateLongMap(stringProvider)); 396 builder.putAllFieldMapSint64Uint32152(populateLongMap(integerProvider)); 397 builder.putAllFieldMapSint64Uint64153(populateLongMap(longProvider)); 398 builder.putAllFieldMapStringBool154(populateStringMap(booleanProvider)); 399 builder.putAllFieldMapStringBytes155(populateStringMap(bytesProvider)); 400 builder.putAllFieldMapStringDouble156(populateStringMap(doubleProvider)); 401 builder.putAllFieldMapStringEnum157(populateStringMap(enumProvider)); 402 builder.putAllFieldMapStringFixed32158(populateStringMap(integerProvider)); 403 builder.putAllFieldMapStringFixed64159(populateStringMap(longProvider)); 404 builder.putAllFieldMapStringFloat160(populateStringMap(floatProvider)); 405 builder.putAllFieldMapStringInt32161(populateStringMap(integerProvider)); 406 builder.putAllFieldMapStringInt64162(populateStringMap(longProvider)); 407 builder.putAllFieldMapStringMessage163(populateStringMap(messageProvider)); 408 builder.putAllFieldMapStringSfixed32164(populateStringMap(integerProvider)); 409 builder.putAllFieldMapStringSfixed64165(populateStringMap(longProvider)); 410 builder.putAllFieldMapStringSint32166(populateStringMap(integerProvider)); 411 builder.putAllFieldMapStringSint64167(populateStringMap(longProvider)); 412 builder.putAllFieldMapStringString168(populateStringMap(stringProvider)); 413 builder.putAllFieldMapStringUint32169(populateStringMap(integerProvider)); 414 builder.putAllFieldMapStringUint64170(populateStringMap(longProvider)); 415 builder.putAllFieldMapUint32Bool171(populateIntegerMap(booleanProvider)); 416 builder.putAllFieldMapUint32Bytes172(populateIntegerMap(bytesProvider)); 417 builder.putAllFieldMapUint32Double173(populateIntegerMap(doubleProvider)); 418 builder.putAllFieldMapUint32Enum174(populateIntegerMap(enumProvider)); 419 builder.putAllFieldMapUint32Fixed32175(populateIntegerMap(integerProvider)); 420 builder.putAllFieldMapUint32Fixed64176(populateIntegerMap(longProvider)); 421 builder.putAllFieldMapUint32Float177(populateIntegerMap(floatProvider)); 422 builder.putAllFieldMapUint32Int32178(populateIntegerMap(integerProvider)); 423 builder.putAllFieldMapUint32Int64179(populateIntegerMap(longProvider)); 424 builder.putAllFieldMapUint32Message180(populateIntegerMap(messageProvider)); 425 builder.putAllFieldMapUint32Sfixed32181(populateIntegerMap(integerProvider)); 426 builder.putAllFieldMapUint32Sfixed64182(populateIntegerMap(longProvider)); 427 builder.putAllFieldMapUint32Sint32183(populateIntegerMap(integerProvider)); 428 builder.putAllFieldMapUint32Sint64184(populateIntegerMap(longProvider)); 429 builder.putAllFieldMapUint32String185(populateIntegerMap(stringProvider)); 430 builder.putAllFieldMapUint32Uint32186(populateIntegerMap(integerProvider)); 431 builder.putAllFieldMapUint32Uint64187(populateIntegerMap(longProvider)); 432 builder.putAllFieldMapUint64Bool188(populateLongMap(booleanProvider)); 433 builder.putAllFieldMapUint64Bytes189(populateLongMap(bytesProvider)); 434 builder.putAllFieldMapUint64Double190(populateLongMap(doubleProvider)); 435 builder.putAllFieldMapUint64Enum191(populateLongMap(enumProvider)); 436 builder.putAllFieldMapUint64Fixed32192(populateLongMap(integerProvider)); 437 builder.putAllFieldMapUint64Fixed64193(populateLongMap(longProvider)); 438 builder.putAllFieldMapUint64Float194(populateLongMap(floatProvider)); 439 builder.putAllFieldMapUint64Int32195(populateLongMap(integerProvider)); 440 builder.putAllFieldMapUint64Int64196(populateLongMap(longProvider)); 441 builder.putAllFieldMapUint64Message197(populateLongMap(messageProvider)); 442 builder.putAllFieldMapUint64Sfixed32198(populateLongMap(integerProvider)); 443 builder.putAllFieldMapUint64Sfixed64199(populateLongMap(longProvider)); 444 builder.putAllFieldMapUint64Sint32200(populateLongMap(integerProvider)); 445 builder.putAllFieldMapUint64Sint64201(populateLongMap(longProvider)); 446 builder.putAllFieldMapUint64String202(populateLongMap(stringProvider)); 447 builder.putAllFieldMapUint64Uint32203(populateLongMap(integerProvider)); 448 builder.putAllFieldMapUint64Uint64204(populateLongMap(longProvider)); 449 450 return builder.build(); 451 } 452 } 453