static CommunicationReflection() { byte[] descriptorData = System.Convert.FromBase64String( string.Concat( "ChNjb21tdW5pY2F0aW9uLnByb3RvEg1Db21tdW5pY2F0aW9uGh9nb29nbGUv", "cHJvdG9idWYvdGltZXN0YW1wLnByb3RvIvcBCg5SZXF1ZXN0TWVzc2FnZRIQ", "CghjbGllbnRJZBgBIAEoCRIRCgltZXNzYWdlSWQYAiABKAkSKAoEdHlwZRgD", "IAEoDjIaLkNvbW11bmljYXRpb24uTWVzc2FnZVR5cGUSKAoEdGltZRgEIAEo", "CzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoGc3RhdHVzGAUgASgO", "MhwuQ29tbXVuaWNhdGlvbi5NZXNzYWdlU3RhdHVzEg8KB3BheWxvYWQYBiAB", "KAwSLQoIcmVzcG9uc2UYByABKA4yGy5Db21tdW5pY2F0aW9uLlJlc3BvbnNl", "VHlwZSLJAQoPUmVzcG9uc2VNZXNzYWdlEhAKCGNsaWVudElkGAEgASgJEhEK", "CW1lc3NhZ2VJZBgCIAEoCRIoCgR0eXBlGAMgASgOMhouQ29tbXVuaWNhdGlv", "bi5NZXNzYWdlVHlwZRIoCgR0aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVm", "LlRpbWVzdGFtcBIsCgZzdGF0dXMYBSABKA4yHC5Db21tdW5pY2F0aW9uLk1l", "c3NhZ2VTdGF0dXMSDwoHcGF5bG9hZBgGIAEoDCpdCgtNZXNzYWdlVHlwZRIZ", "ChVNRVNTQUdFVFlQRV9VTkRFRklORUQQABIYChRNRVNTQUdFVFlQRV9PUkRJ", "TkFSWRABEhkKFU1FU1NBR0VUWVBFX0lNUE9SVEFOVBACKrEBCg1NZXNzYWdl", "U3RhdHVzEhsKF01FU1NBR0VTVEFUVVNfVU5ERUZJTkVEEAASGQoVTUVTU0FH", "RVNUQVRVU19DUkVBVEVEEAESFgoSTUVTU0FHRVNUQVRVU19TRU5UEAISGgoW", "TUVTU0FHRVNUQVRVU19SRUNFSVZFRBADEhsKF01FU1NBR0VTVEFUVVNfUFJP", "Q0VTU0VEEAQSFwoTTUVTU0FHRVNUQVRVU19FUlJPUhAFKmQKDFJlc3BvbnNl", "VHlwZRIaChZSRVNQT05TRVRZUEVfVU5ERUZJTkVEEAASGQoVUkVTUE9OU0VU", "WVBFX1JFUVVJUkVEEAESHQoZUkVTUE9OU0VUWVBFX05PVF9SRVFVSVJFRBAC", "MmEKCU1lc3NhZ2luZxJUCg9DcmVhdGVTdHJlYW1pbmcSHS5Db21tdW5pY2F0", "aW9uLlJlcXVlc3RNZXNzYWdlGh4uQ29tbXVuaWNhdGlvbi5SZXNwb25zZU1l", "c3NhZ2UoATABYgZwcm90bzM=")); descriptor = pbr.FileDescriptor.FromGeneratedCode(descriptorData, new pbr.FileDescriptor[] { Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, }, new pbr.GeneratedClrTypeInfo(new[] { typeof(MessageType), typeof(MessageStatus), typeof(ResponseType), }, null, new pbr.GeneratedClrTypeInfo[] { new pbr.GeneratedClrTypeInfo(typeof(RequestMessage), RequestMessage.Parser, new[] { "ClientId", "MessageId", "Type", "Time", "Status", "Payload", "Response" }, null, null, null, null), new pbr.GeneratedClrTypeInfo(typeof(ResponseMessage), ResponseMessage.Parser, new[] { "ClientId", "MessageId", "Type", "Time", "Status", "Payload" }, null, null, null, null) })); }
public MessageDescriptor(DescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int typeIndex, GeneratedClrTypeInfo generatedCodeInfo) : base(file, file.ComputeFullName(parent, proto.Name), typeIndex) { Proto = proto; Parser = generatedCodeInfo?.Parser; ClrType = generatedCodeInfo?.ClrType; ContainingType = parent; // Note use of generatedCodeInfo. rather than generatedCodeInfo?. here... we don't expect // to see any nested oneofs, types or enums in "not actually generated" code... we do // expect fields though (for map entry messages). Oneofs = DescriptorUtil.ConvertAndMakeReadOnly( proto.OneofDecl, (oneof, index) => new OneofDescriptor(oneof, file, this, index, generatedCodeInfo.OneofNames[index])); NestedTypes = DescriptorUtil.ConvertAndMakeReadOnly( proto.NestedType, (type, index) => new MessageDescriptor(type, file, this, index, generatedCodeInfo.NestedTypes[index])); EnumTypes = DescriptorUtil.ConvertAndMakeReadOnly( proto.EnumType, (type, index) => new EnumDescriptor(type, file, this, index, generatedCodeInfo.NestedEnums[index])); fieldsInDeclarationOrder = DescriptorUtil.ConvertAndMakeReadOnly( proto.Field, (field, index) => new FieldDescriptor(field, file, this, index, generatedCodeInfo?.PropertyNames[index])); fieldsInNumberOrder = new ReadOnlyCollection <FieldDescriptor>(fieldsInDeclarationOrder.OrderBy(field => field.FieldNumber).ToArray()); // TODO: Use field => field.Proto.JsonName when we're confident it's appropriate. (And then use it in the formatter, too.) jsonFieldMap = CreateJsonFieldMap(fieldsInNumberOrder); file.DescriptorPool.AddSymbol(this); Fields = new FieldCollection(this); }
private void TestFileDescriptor(FileDescriptor file, FileDescriptor importedFile, FileDescriptor importedPublicFile) { Assert.AreEqual("unittest_proto3.proto", file.Name); Assert.AreEqual("protobuf_unittest3", file.Package); Assert.AreEqual("UnittestProto", file.Proto.Options.JavaOuterClassname); Assert.AreEqual("unittest_proto3.proto", file.Proto.Name); // unittest_proto3.proto doesn't have any public imports, but unittest_import_proto3.proto does. Assert.AreEqual(0, file.PublicDependencies.Count); Assert.AreEqual(1, importedFile.PublicDependencies.Count); Assert.AreEqual(importedPublicFile, importedFile.PublicDependencies[0]); Assert.AreEqual(1, file.Dependencies.Count); Assert.AreEqual(importedFile, file.Dependencies[0]); Assert.Null(file.FindTypeByName <MessageDescriptor>("NoSuchType")); Assert.Null(file.FindTypeByName <MessageDescriptor>("protobuf_unittest3.TestAllTypes")); for (int i = 0; i < file.MessageTypes.Count; i++) { Assert.AreEqual(i, file.MessageTypes[i].Index); } Assert.AreEqual(file.EnumTypes[0], file.FindTypeByName <EnumDescriptor>("ForeignEnum")); Assert.Null(file.FindTypeByName <EnumDescriptor>("NoSuchType")); Assert.Null(file.FindTypeByName <EnumDescriptor>("protobuf_unittest3.ForeignEnum")); Assert.AreEqual(1, importedFile.EnumTypes.Count); Assert.AreEqual("ImportEnum", importedFile.EnumTypes[0].Name); for (int i = 0; i < file.EnumTypes.Count; i++) { Assert.AreEqual(i, file.EnumTypes[i].Index); } Assert.AreEqual(10, file.SerializedData[0]); TestDescriptorToProto(file.ToProto, file.Proto); }
internal MessageDescriptor(DescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int typeIndex, GeneratedClrTypeInfo generatedCodeInfo) : base(file, file.ComputeFullName(parent, proto.Name), typeIndex) { Proto = proto; Parser = generatedCodeInfo?.Parser; ClrType = generatedCodeInfo?.ClrType; ContainingType = parent; // If generatedCodeInfo is null, we just won't generate an accessor for any fields. Oneofs = DescriptorUtil.ConvertAndMakeReadOnly( proto.OneofDecl, (oneof, index) => new OneofDescriptor(oneof, file, this, index, generatedCodeInfo?.OneofNames[index])); NestedTypes = DescriptorUtil.ConvertAndMakeReadOnly( proto.NestedType, (type, index) => new MessageDescriptor(type, file, this, index, generatedCodeInfo?.NestedTypes[index])); EnumTypes = DescriptorUtil.ConvertAndMakeReadOnly( proto.EnumType, (type, index) => new EnumDescriptor(type, file, this, index, generatedCodeInfo?.NestedEnums[index])); Extensions = new ExtensionCollection(this, generatedCodeInfo?.Extensions); fieldsInDeclarationOrder = DescriptorUtil.ConvertAndMakeReadOnly( proto.Field, (field, index) => new FieldDescriptor(field, file, this, index, generatedCodeInfo?.PropertyNames[index], null)); fieldsInNumberOrder = new ReadOnlyCollection <FieldDescriptor>(fieldsInDeclarationOrder.OrderBy(field => field.FieldNumber).ToArray()); // TODO: Use field => field.Proto.JsonName when we're confident it's appropriate. (And then use it in the formatter, too.) jsonFieldMap = CreateJsonFieldMap(fieldsInNumberOrder); file.DescriptorPool.AddSymbol(this); Fields = new FieldCollection(this); }
/// <summary> /// Converts the given descriptor binary data into FileDescriptor objects. /// Note: reflection using the returned FileDescriptors is not currently supported. /// </summary> /// <param name="descriptorData">The binary file descriptor proto data. Must not be null, and any /// dependencies must come before the descriptor which depends on them. (If A depends on B, and B /// depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible /// with the order in which protoc provides descriptors to plugins.</param> /// <returns>The file descriptors corresponding to <paramref name="descriptorData"/>.</returns> public static IReadOnlyList <FileDescriptor> BuildFromByteStrings(IEnumerable <ByteString> descriptorData) { ProtoPreconditions.CheckNotNull(descriptorData, nameof(descriptorData)); // TODO: See if we can build a single DescriptorPool instead of building lots of them. // This will all behave correctly, but it's less efficient than we'd like. var descriptors = new List <FileDescriptor>(); var descriptorsByName = new Dictionary <string, FileDescriptor>(); foreach (var data in descriptorData) { var proto = FileDescriptorProto.Parser.ParseFrom(data); var dependencies = new List <FileDescriptor>(); foreach (var dependencyName in proto.Dependency) { FileDescriptor dependency; if (!descriptorsByName.TryGetValue(dependencyName, out dependency)) { throw new ArgumentException($"Dependency missing: {dependencyName}"); } dependencies.Add(dependency); } var pool = new DescriptorPool(dependencies); FileDescriptor descriptor = new FileDescriptor( data, proto, dependencies, pool, allowUnknownDependencies: false, generatedCodeInfo: null); descriptor.CrossLink(); descriptors.Add(descriptor); if (descriptorsByName.ContainsKey(descriptor.Name)) { throw new ArgumentException($"Duplicate descriptor name: {descriptor.Name}"); } descriptorsByName.Add(descriptor.Name, descriptor); } return(new ReadOnlyCollection <FileDescriptor>(descriptors)); }
private static FileDescriptor BuildFrom(ByteString descriptorData, FileDescriptorProto proto, FileDescriptor[] dependencies, bool allowUnknownDependencies, GeneratedCodeInfo generatedCodeInfo) { if (dependencies == null) { goto IL_18; } goto IL_122; uint arg_D3_0; FileDescriptor fileDescriptor; int num2; while (true) { IL_CE: uint num; switch ((num = (arg_D3_0 ^ 4161713641u)) % 12u) { case 0u: fileDescriptor.CrossLink(); arg_D3_0 = (num * 1953233347u ^ 2707760628u); continue; case 1u: num2 = 0; arg_D3_0 = 2574715432u; continue; case 2u: num2++; arg_D3_0 = 4243801185u; continue; case 3u: dependencies = new FileDescriptor[0]; arg_D3_0 = (num * 3942966366u ^ 4286440245u); continue; case 4u: arg_D3_0 = ((num2 < proto.Dependency.Count) ? 2982469083u : 3757505837u); continue; case 5u: arg_D3_0 = (num * 314203903u ^ 1276877662u); continue; case 6u: arg_D3_0 = ((!FileDescriptor.smethod_5(dependencies[num2].Name, proto.Dependency[num2])) ? 3773742995u : 2893382989u); continue; case 7u: goto IL_18; case 8u: goto IL_14B; case 10u: goto IL_122; case 11u: goto IL_183; } break; } return(fileDescriptor); IL_14B: throw new DescriptorValidationException(fileDescriptor, FileDescriptor.smethod_6(Module.smethod_37 <string>(2509052754u), proto.Dependency[num2], Module.smethod_35 <string>(3048061080u), dependencies[num2].Name)); IL_183: throw new DescriptorValidationException(fileDescriptor, Module.smethod_33 <string>(2639691648u)); IL_18: arg_D3_0 = 3320637418u; goto IL_CE; IL_122: DescriptorPool pool = new DescriptorPool(dependencies); fileDescriptor = new FileDescriptor(descriptorData, proto, dependencies, pool, allowUnknownDependencies, generatedCodeInfo); arg_D3_0 = ((dependencies.Length != proto.Dependency.Count) ? 2984046962u : 2591580144u); goto IL_CE; }
public T FindTypeByName <T>(string name) where T : class, IDescriptor { if (FileDescriptor.smethod_4(name, '.') != -1) { goto IL_49; } goto IL_FD; uint arg_BD_0; while (true) { IL_B8: uint num; switch ((num = (arg_BD_0 ^ 464370408u)) % 9u) { case 0u: { T t; arg_BD_0 = (((t.File == this) ? 192187766u : 338264466u) ^ num * 343090665u); continue; } case 2u: name = FileDescriptor.smethod_1(this.Package, Module.smethod_36 <string>(1323488018u), name); arg_BD_0 = (num * 3152909545u ^ 3774283465u); continue; case 3u: { T t = this.DescriptorPool.FindSymbol <T>(name); arg_BD_0 = 1469809664u; continue; } case 4u: goto IL_FD; case 5u: goto IL_49; case 6u: { T t; return(t); } case 7u: { T t; arg_BD_0 = (((t != null) ? 484983571u : 1629139297u) ^ num * 2175120638u); continue; } case 8u: goto IL_11C; } break; } return(default(T)); IL_11C: return(default(T)); IL_49: arg_BD_0 = 1699441690u; goto IL_B8; IL_FD: arg_BD_0 = ((FileDescriptor.smethod_2(this.Package) <= 0) ? 1039614224u : 1192626073u); goto IL_B8; }
private static IList <FileDescriptor> DeterminePublicDependencies(FileDescriptor @this, FileDescriptorProto proto, FileDescriptor[] dependencies, bool allowUnknownDependencies) { Dictionary <string, FileDescriptor> dictionary = new Dictionary <string, FileDescriptor>(); List <FileDescriptor> list; string text; while (true) { IL_25F: uint arg_1FD_0 = 1480753851u; while (true) { uint num; switch ((num = (arg_1FD_0 ^ 354656998u)) % 21u) { case 0u: { int num2; arg_1FD_0 = ((num2 < dependencies.Length) ? 755598000u : 1625878074u); continue; } case 1u: { FileDescriptor fileDescriptor; arg_1FD_0 = (((fileDescriptor != null) ? 3503588187u : 2689291383u) ^ num * 269180022u); continue; } case 2u: arg_1FD_0 = (num * 1428810503u ^ 597188103u); continue; case 3u: { int num2; num2++; arg_1FD_0 = (num * 4026010881u ^ 1873699178u); continue; } case 4u: { list = new List <FileDescriptor>(); int num3 = 0; arg_1FD_0 = (num * 172851441u ^ 2057392629u); continue; } case 5u: { int num4; text = proto.Dependency[num4]; arg_1FD_0 = 1182864162u; continue; } case 6u: { int num4; arg_1FD_0 = (((num4 < proto.Dependency.Count) ? 199583157u : 1553389033u) ^ num * 904630291u); continue; } case 7u: { int num2 = 0; arg_1FD_0 = (num * 2059016605u ^ 2886768975u); continue; } case 8u: { FileDescriptor fileDescriptor2; dictionary[fileDescriptor2.Name] = fileDescriptor2; arg_1FD_0 = (num * 2415469140u ^ 158078469u); continue; } case 9u: { FileDescriptor fileDescriptor = dictionary[text]; arg_1FD_0 = (num * 1703034579u ^ 4134718755u); continue; } case 10u: { int num3; num3++; arg_1FD_0 = 1400639947u; continue; } case 11u: goto IL_266; case 13u: goto IL_277; case 14u: { int num3; int num4 = proto.PublicDependency[num3]; arg_1FD_0 = ((num4 < 0) ? 43381538u : 749549455u); continue; } case 15u: arg_1FD_0 = (num * 1315834947u ^ 1640480294u); continue; case 16u: arg_1FD_0 = (((!allowUnknownDependencies) ? 1742178966u : 1225729944u) ^ num * 865084290u); continue; case 17u: { FileDescriptor fileDescriptor; list.Add(fileDescriptor); arg_1FD_0 = 83744118u; continue; } case 18u: { int num2; FileDescriptor fileDescriptor2 = dependencies[num2]; arg_1FD_0 = 266579083u; continue; } case 19u: goto IL_25F; case 20u: { int num3; arg_1FD_0 = ((num3 < proto.PublicDependency.Count) ? 1502489908u : 1152782524u); continue; } } goto Block_7; } } Block_7: goto IL_28F; IL_266: throw new DescriptorValidationException(@this, Module.smethod_34 <string>(2614455357u)); IL_277: throw new DescriptorValidationException(@this, FileDescriptor.smethod_3(Module.smethod_35 <string>(82095339u), text)); IL_28F: return(new ReadOnlyCollection <FileDescriptor>(list)); }
private FileDescriptor(ByteString descriptorData, FileDescriptorProto proto, FileDescriptor[] dependencies, DescriptorPool pool, bool allowUnknownDependencies, GeneratedCodeInfo generatedCodeInfo) { FileDescriptor __4__this; while (true) { IL_113: uint arg_E7_0 = 3109136426u; while (true) { uint num; switch ((num = (arg_E7_0 ^ 2557234891u)) % 8u) { case 0u: pool.AddPackage(this.Package, this); arg_E7_0 = (num * 1105332455u ^ 1354664894u); continue; case 1u: __4__this = this; arg_E7_0 = (num * 4125576103u ^ 2241118048u); continue; case 2u: this.< Dependencies > k__BackingField = new ReadOnlyCollection <FileDescriptor>((FileDescriptor[])FileDescriptor.smethod_0(dependencies)); this.< PublicDependencies > k__BackingField = FileDescriptor.DeterminePublicDependencies(this, proto, dependencies, allowUnknownDependencies); arg_E7_0 = (num * 2070285500u ^ 1583842795u); continue; case 3u: goto IL_113; case 4u: this.< SerializedData > k__BackingField = descriptorData; arg_E7_0 = (num * 559784837u ^ 3768172688u); continue; case 5u: this.< MessageTypes > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <DescriptorProto, MessageDescriptor>(proto.MessageType, (DescriptorProto message, int index) => new MessageDescriptor(message, __4__this, null, index, generatedCodeInfo.NestedTypes[index])); arg_E7_0 = (num * 3261531694u ^ 3702070131u); continue; case 7u: this.< DescriptorPool > k__BackingField = pool; this.< Proto > k__BackingField = proto; arg_E7_0 = (num * 2550378934u ^ 3723757811u); continue; } goto Block_1; } } Block_1: this.< EnumTypes > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <EnumDescriptorProto, EnumDescriptor>(proto.EnumType, (EnumDescriptorProto enumType, int index) => new EnumDescriptor(enumType, __4__this, null, index, generatedCodeInfo.NestedEnums[index])); this.< Services > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <ServiceDescriptorProto, ServiceDescriptor>(proto.Service, (ServiceDescriptorProto service, int index) => new ServiceDescriptor(service, this, index)); }
static DescriptorReflection() { DescriptorReflection.descriptor = FileDescriptor.FromGeneratedCode(DescriptorReflection.smethod_1(DescriptorReflection.smethod_0(new string[] { Module.smethod_36 <string>(1133750113u), Module.smethod_36 <string>(3865843889u), Module.smethod_33 <string>(4011389919u), Module.smethod_37 <string>(147719445u), Module.smethod_35 <string>(2144082553u), Module.smethod_37 <string>(1345641909u), Module.smethod_35 <string>(3459124441u), Module.smethod_33 <string>(551634098u), Module.smethod_36 <string>(1515663841u), Module.smethod_34 <string>(3053824082u), Module.smethod_33 <string>(3108195874u), Module.smethod_34 <string>(2303931186u), Module.smethod_36 <string>(4236018081u), Module.smethod_34 <string>(2135232157u), Module.smethod_33 <string>(1556921151u), Module.smethod_36 <string>(928319522u), Module.smethod_35 <string>(4052590466u), Module.smethod_35 <string>(3395069522u), Module.smethod_36 <string>(916579986u), Module.smethod_33 <string>(1659014159u), Module.smethod_33 <string>(738764895u), Module.smethod_37 <string>(347216190u), Module.smethod_36 <string>(2873106770u), Module.smethod_33 <string>(22701647u), Module.smethod_34 <string>(1555895629u), Module.smethod_37 <string>(2743061118u), Module.smethod_36 <string>(1298493714u), Module.smethod_33 <string>(2681356431u), Module.smethod_33 <string>(1761107167u), Module.smethod_34 <string>(431056285u), Module.smethod_37 <string>(1486783918u), Module.smethod_33 <string>(1045043919u), Module.smethod_35 <string>(2122189954u), Module.smethod_36 <string>(2861367234u), Module.smethod_33 <string>(1965293183u), Module.smethod_36 <string>(117533922u), Module.smethod_37 <string>(4087106190u), Module.smethod_36 <string>(1286754178u), Module.smethod_36 <string>(3636934226u), Module.smethod_36 <string>(2074060706u), Module.smethod_36 <string>(511187186u), Module.smethod_35 <string>(499468754u), Module.smethod_37 <string>(4058164590u), Module.smethod_36 <string>(3554757474u), Module.smethod_35 <string>(3690205762u), Module.smethod_33 <string>(838033519u), Module.smethod_33 <string>(940126527u), Module.smethod_33 <string>(2678532047u), Module.smethod_35 <string>(1060121986u), Module.smethod_35 <string>(402601042u), Module.smethod_35 <string>(1409963618u), Module.smethod_33 <string>(1042219535u), Module.smethod_35 <string>(2725005506u), Module.smethod_35 <string>(2067484562u), Module.smethod_37 <string>(1662319662u), Module.smethod_33 <string>(3700874319u), Module.smethod_37 <string>(2860242126u), Module.smethod_37 <string>(113797246u), Module.smethod_33 <string>(326156287u), Module.smethod_34 <string>(294333629u), Module.smethod_36 <string>(2755711410u), Module.smethod_33 <string>(2882718063u), Module.smethod_35 <string>(2109646882u), Module.smethod_37 <string>(406042462u), Module.smethod_36 <string>(417270898u), Module.smethod_34 <string>(2339622237u), Module.smethod_35 <string>(3774530402u), Module.smethod_33 <string>(3086904079u), Module.smethod_37 <string>(1457842318u), Module.smethod_37 <string>(3006364734u), Module.smethod_35 <string>(1144446626u), Module.smethod_35 <string>(486925682u), Module.smethod_33 <string>(530342303u), Module.smethod_36 <string>(3531278402u), Module.smethod_37 <string>(2071274350u), Module.smethod_37 <string>(3619796766u), Module.smethod_36 <string>(464229042u), Module.smethod_35 <string>(2598518546u), Module.smethod_34 <string>(3532129005u), Module.smethod_34 <string>(3907075453u), Module.smethod_36 <string>(2420755826u), Module.smethod_35 <string>(4263402066u), Module.smethod_37 <string>(1574551790u), Module.smethod_34 <string>(2407289661u), Module.smethod_36 <string>(846142770u), Module.smethod_36 <string>(3578236546u), Module.smethod_34 <string>(532557421u), Module.smethod_34 <string>(907503869u), Module.smethod_36 <string>(2802669554u), Module.smethod_37 <string>(2421874302u), Module.smethod_36 <string>(58836242u), Module.smethod_36 <string>(2790930018u), Module.smethod_34 <string>(2577846029u), Module.smethod_37 <string>(1516197054u), Module.smethod_35 <string>(1675480610u), Module.smethod_37 <string>(2714119518u), Module.smethod_37 <string>(2363519566u), Module.smethod_35 <string>(2333001554u), Module.smethod_35 <string>(3340364130u), Module.smethod_37 <string>(4116519326u), Module.smethod_34 <string>(3873241741u), Module.smethod_36 <string>(47096706u), Module.smethod_34 <string>(3123348845u), Module.smethod_35 <string>(52759410u), Module.smethod_37 <string>(1866797006u), Module.smethod_33 <string>(2474346031u), Module.smethod_37 <string>(726757742u), Module.smethod_34 <string>(3023235517u), Module.smethod_35 <string>(263571010u), Module.smethod_33 <string>(2071622767u), Module.smethod_35 <string>(613412642u), Module.smethod_33 <string>(3912121295u) })), new FileDescriptor[0], new GeneratedCodeInfo(null, new GeneratedCodeInfo[] { new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(FileDescriptorSet).TypeHandle), FileDescriptorSet.Parser, new string[] { Module.smethod_35 <string>(1542966915u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(FileDescriptorProto).TypeHandle), FileDescriptorProto.Parser, new string[] { Module.smethod_36 <string>(2649665489u), Module.smethod_33 <string>(3068851852u), Module.smethod_37 <string>(3829225238u), Module.smethod_33 <string>(2960201507u), Module.smethod_37 <string>(2952695887u), Module.smethod_36 <string>(1697472868u), Module.smethod_36 <string>(2380496312u), Module.smethod_34 <string>(4181851784u), Module.smethod_35 <string>(647564994u), Module.smethod_34 <string>(796587241u), Module.smethod_35 <string>(1822726893u), Module.smethod_35 <string>(1485711652u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(DescriptorProto).TypeHandle), DescriptorProto.Parser, new string[] { Module.smethod_37 <string>(2134609685u), Module.smethod_33 <string>(3778357763u), Module.smethod_37 <string>(3653925262u), Module.smethod_37 <string>(3420182137u), Module.smethod_36 <string>(2380496312u), Module.smethod_34 <string>(2268709666u), Module.smethod_34 <string>(1452743525u), Module.smethod_35 <string>(1556926582u), Module.smethod_34 <string>(3905274903u), Module.smethod_37 <string>(1427987117u) }, null, null, new GeneratedCodeInfo[] { new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(DescriptorProto.Types.ExtensionRange).TypeHandle), DescriptorProto.Types.ExtensionRange.Parser, new string[] { Module.smethod_37 <string>(3741575250u), Module.smethod_35 <string>(3991291701u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(DescriptorProto.Types.ReservedRange).TypeHandle), DescriptorProto.Types.ReservedRange.Parser, new string[] { Module.smethod_37 <string>(3741575250u), Module.smethod_34 <string>(1237606934u) }, null, null, null) }), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(FieldDescriptorProto).TypeHandle), FieldDescriptorProto.Parser, new string[] { Module.smethod_37 <string>(2134609685u), Module.smethod_36 <string>(652736699u), Module.smethod_37 <string>(2017752858u), Module.smethod_34 <string>(1425080158u), Module.smethod_36 <string>(3581657107u), Module.smethod_35 <string>(88045038u), Module.smethod_37 <string>(323137305u), Module.smethod_34 <string>(1518816770u), Module.smethod_34 <string>(2078311244u), Module.smethod_37 <string>(819830394u) }, null, new Type[] { DescriptorReflection.smethod_2(typeof(FieldDescriptorProto.Types.Type).TypeHandle), DescriptorReflection.smethod_2(typeof(FieldDescriptorProto.Types.Label).TypeHandle) }, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(OneofDescriptorProto).TypeHandle), OneofDescriptorProto.Parser, new string[] { Module.smethod_34 <string>(2643656114u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(EnumDescriptorProto).TypeHandle), EnumDescriptorProto.Parser, new string[] { Module.smethod_35 <string>(3235769769u), Module.smethod_33 <string>(3388245550u), Module.smethod_35 <string>(1556926582u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(EnumValueDescriptorProto).TypeHandle), EnumValueDescriptorProto.Parser, new string[] { Module.smethod_33 <string>(1982348402u), Module.smethod_34 <string>(3338222276u), Module.smethod_34 <string>(796587241u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(ServiceDescriptorProto).TypeHandle), ServiceDescriptorProto.Parser, new string[] { Module.smethod_35 <string>(3235769769u), Module.smethod_35 <string>(2032688536u), Module.smethod_33 <string>(2909155003u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(MethodDescriptorProto).TypeHandle), MethodDescriptorProto.Parser, new string[] { Module.smethod_37 <string>(2134609685u), Module.smethod_37 <string>(3537068435u), Module.smethod_36 <string>(1821956955u), Module.smethod_36 <string>(1842157958u), Module.smethod_33 <string>(2883221686u), Module.smethod_34 <string>(304873769u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(FileOptions).TypeHandle), FileOptions.Parser, new string[] { Module.smethod_34 <string>(2869539216u), Module.smethod_33 <string>(1816094216u), Module.smethod_35 <string>(353845349u), Module.smethod_37 <string>(2163845995u), Module.smethod_36 <string>(2690067495u), Module.smethod_37 <string>(3624777365u), Module.smethod_35 <string>(3837452045u), Module.smethod_35 <string>(451846337u), Module.smethod_36 <string>(1810217419u), Module.smethod_36 <string>(3714602661u), Module.smethod_35 <string>(983446959u), Module.smethod_33 <string>(3100522376u), Module.smethod_36 <string>(1487391468u), Module.smethod_33 <string>(4187025826u), Module.smethod_33 <string>(1304513015u), Module.smethod_37 <string>(4092263615u) }, null, new Type[] { DescriptorReflection.smethod_2(typeof(FileOptions.Types.OptimizeMode).TypeHandle) }, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(MessageOptions).TypeHandle), MessageOptions.Parser, new string[] { Module.smethod_37 <string>(440082545u), Module.smethod_36 <string>(2296414231u), Module.smethod_36 <string>(3859287751u), Module.smethod_33 <string>(537403263u), Module.smethod_35 <string>(1892808547u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(FieldOptions).TypeHandle), FieldOptions.Parser, new string[] { Module.smethod_37 <string>(1258168747u), Module.smethod_33 <string>(2678739639u), Module.smethod_35 <string>(1886575529u), Module.smethod_37 <string>(3449477389u), Module.smethod_37 <string>(2631391187u), Module.smethod_36 <string>(693138705u), Module.smethod_35 <string>(1892808547u) }, null, new Type[] { DescriptorReflection.smethod_2(typeof(FieldOptions.Types.CType).TypeHandle), DescriptorReflection.smethod_2(typeof(FieldOptions.Types.JSType).TypeHandle) }, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(EnumOptions).TypeHandle), EnumOptions.Parser, new string[] { Module.smethod_33 <string>(2454881612u), Module.smethod_33 <string>(4040147620u), Module.smethod_35 <string>(1892808547u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(EnumValueOptions).TypeHandle), EnumValueOptions.Parser, new string[] { Module.smethod_34 <string>(1182280200u), Module.smethod_33 <string>(3605546240u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(ServiceOptions).TypeHandle), ServiceOptions.Parser, new string[] { Module.smethod_36 <string>(3859287751u), Module.smethod_37 <string>(4092263615u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(MethodOptions).TypeHandle), MethodOptions.Parser, new string[] { Module.smethod_33 <string>(4040147620u), Module.smethod_37 <string>(4092263615u) }, null, null, null), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(UninterpretedOption).TypeHandle), UninterpretedOption.Parser, new string[] { Module.smethod_36 <string>(2649665489u), Module.smethod_33 <string>(2020280232u), Module.smethod_33 <string>(3432734717u), Module.smethod_33 <string>(3106783682u), Module.smethod_37 <string>(673825670u), Module.smethod_34 <string>(1904509729u), Module.smethod_36 <string>(3497575026u) }, null, null, new GeneratedCodeInfo[] { new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(UninterpretedOption.Types.NamePart).TypeHandle), UninterpretedOption.Types.NamePart.Parser, new string[] { Module.smethod_36 <string>(154800351u), Module.smethod_33 <string>(2838436488u) }, null, null, null) }), new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(SourceCodeInfo).TypeHandle), SourceCodeInfo.Parser, new string[] { Module.smethod_37 <string>(2280791235u) }, null, null, new GeneratedCodeInfo[] { new GeneratedCodeInfo(DescriptorReflection.smethod_2(typeof(SourceCodeInfo.Types.Location).TypeHandle), SourceCodeInfo.Types.Location.Parser, new string[] { Module.smethod_36 <string>(1934701506u), Module.smethod_35 <string>(4201253344u), Module.smethod_34 <string>(967143609u), Module.smethod_33 <string>(281874712u), Module.smethod_35 <string>(3061737428u) }, null, null, null) }) })); }
internal void AddPackage(string fullName, FileDescriptor file) { int num = DescriptorPool.smethod_2(fullName, '.'); if (num != -1) { goto IL_2D; } goto IL_DD; uint arg_B1_0; IDescriptor descriptor; string text; while (true) { IL_AC: uint num2; switch ((num2 = (arg_B1_0 ^ 3316964695u)) % 8u) { case 0u: arg_B1_0 = (this.descriptorsByName.TryGetValue(fullName, out descriptor) ? 2404316941u : 3896060576u); continue; case 1u: this.AddPackage(DescriptorPool.smethod_3(fullName, 0, num), file); text = DescriptorPool.smethod_4(fullName, num + 1); arg_B1_0 = (num2 * 1743673299u ^ 1753241596u); continue; case 2u: arg_B1_0 = (((descriptor is PackageDescriptor) ? 932590856u : 1724073788u) ^ num2 * 1699437476u); continue; case 3u: goto IL_E6; case 5u: goto IL_DD; case 6u: goto IL_2D; case 7u: this.descriptorsByName[fullName] = new PackageDescriptor(text, fullName, file); arg_B1_0 = 2781272387u; continue; } break; } return; IL_E6: throw new DescriptorValidationException(file, DescriptorPool.smethod_5(new string[] { Module.smethod_33 <string>(3031927268u), text, Module.smethod_35 <string>(2921857439u), descriptor.File.Name, Module.smethod_35 <string>(2292255829u) })); IL_2D: arg_B1_0 = 4212142822u; goto IL_AC; IL_DD: text = fullName; arg_B1_0 = 3564429855u; goto IL_AC; }
public static TypeRegistry FromFiles(IEnumerable <FileDescriptor> fileDescriptors) { Preconditions.CheckNotNull <IEnumerable <FileDescriptor> >(fileDescriptors, Module.smethod_37 <string>(3823684690u)); TypeRegistry.Builder builder; while (true) { IL_43: uint arg_2B_0 = 572427948u; while (true) { uint num; switch ((num = (arg_2B_0 ^ 570727210u)) % 3u) { case 0u: goto IL_43; case 1u: builder = new TypeRegistry.Builder(); arg_2B_0 = (num * 1860881079u ^ 2819786057u); continue; } goto Block_1; } } Block_1: IEnumerator <FileDescriptor> enumerator = fileDescriptors.GetEnumerator(); try { while (true) { IL_BB: uint arg_8F_0 = TypeRegistry.smethod_0(enumerator) ? 1131359393u : 689609985u; while (true) { uint num; switch ((num = (arg_8F_0 ^ 570727210u)) % 5u) { case 1u: { FileDescriptor current = enumerator.Current; arg_8F_0 = 1834372445u; continue; } case 2u: arg_8F_0 = 1131359393u; continue; case 3u: goto IL_BB; case 4u: { FileDescriptor current; builder.AddFile(current); arg_8F_0 = (num * 4146575965u ^ 593622994u); continue; } } goto Block_4; } } Block_4 :; } finally { if (enumerator != null) { while (true) { IL_FC : uint arg_E4_0 = 2091946684u; while (true) { uint num; switch ((num = (arg_E4_0 ^ 570727210u)) % 3u) { case 0u: goto IL_FC; case 1u: TypeRegistry.smethod_1(enumerator); arg_E4_0 = (num * 3508695067u ^ 703506824u); continue; } goto Block_8; } } Block_8 :; } } return(builder.Build()); }
internal void AddFile(FileDescriptor fileDescriptor) { if (!this.fileDescriptorNames.Add(fileDescriptor.Name)) { return; } IEnumerator <FileDescriptor> enumerator = fileDescriptor.Dependencies.GetEnumerator(); try { while (true) { IL_7F: int arg_56_0 = (!TypeRegistry.Builder.smethod_0(enumerator)) ? -1090525266 : -792330836; while (true) { switch ((arg_56_0 ^ -136632362) % 4) { case 1: goto IL_7F; case 2: { FileDescriptor current = enumerator.Current; this.AddFile(current); arg_56_0 = -67223049; continue; } case 3: arg_56_0 = -792330836; continue; } goto Block_5; } } Block_5 :; } finally { if (enumerator != null) { while (true) { IL_C2 : uint arg_A9_0 = 2376606614u; while (true) { uint num; switch ((num = (arg_A9_0 ^ 4158334934u)) % 3u) { case 0u: goto IL_C2; case 2u: TypeRegistry.Builder.smethod_1(enumerator); arg_A9_0 = (num * 353277277u ^ 1794307014u); continue; } goto Block_9; } } Block_9 :; } } IEnumerator <MessageDescriptor> enumerator2 = fileDescriptor.MessageTypes.GetEnumerator(); try { while (true) { IL_12E: int arg_105_0 = (!TypeRegistry.Builder.smethod_0(enumerator2)) ? -2052165515 : -913572613; while (true) { switch ((arg_105_0 ^ -136632362) % 4) { case 0: arg_105_0 = -913572613; continue; case 1: { MessageDescriptor current2 = enumerator2.Current; this.AddMessage(current2); arg_105_0 = -1785936184; continue; } case 2: goto IL_12E; } goto Block_11; } } Block_11 :; } finally { if (enumerator2 != null) { while (true) { IL_171 : uint arg_158_0 = 2295237479u; while (true) { uint num; switch ((num = (arg_158_0 ^ 4158334934u)) % 3u) { case 0u: goto IL_171; case 2u: TypeRegistry.Builder.smethod_1(enumerator2); arg_158_0 = (num * 2014248563u ^ 3207272856u); continue; } goto Block_15; } } Block_15 :; } } }
internal ExtensionCollection(FileDescriptor file, Extension[] extensions) { UnorderedExtensions = DescriptorUtil.ConvertAndMakeReadOnly( file.Proto.Extension, (extension, i) => new FieldDescriptor(extension, file, null, i, null, extensions?[i])); }
private void CrossLink() { IEnumerator <MessageDescriptor> enumerator = this.MessageTypes.GetEnumerator(); try { while (true) { IL_60: int arg_38_0 = (!FileDescriptor.smethod_7(enumerator)) ? -152615990 : -2058392403; while (true) { switch ((arg_38_0 ^ -323940801) % 4) { case 0: arg_38_0 = -2058392403; continue; case 2: enumerator.Current.CrossLink(); arg_38_0 = -393624028; continue; case 3: goto IL_60; } goto Block_4; } } Block_4 :; } finally { if (enumerator != null) { while (true) { IL_A1 : uint arg_89_0 = 3921181848u; while (true) { uint num; switch ((num = (arg_89_0 ^ 3971026495u)) % 3u) { case 1u: FileDescriptor.smethod_8(enumerator); arg_89_0 = (num * 3830264196u ^ 519961653u); continue; case 2u: goto IL_A1; } goto Block_8; } } Block_8 :; } } IEnumerator <ServiceDescriptor> enumerator2 = this.Services.GetEnumerator(); try { while (true) { IL_109: int arg_E1_0 = (!FileDescriptor.smethod_7(enumerator2)) ? -1638352192 : -1864184730; while (true) { switch ((arg_E1_0 ^ -323940801) % 4) { case 0: arg_E1_0 = -1864184730; continue; case 1: enumerator2.Current.CrossLink(); arg_E1_0 = -584973483; continue; case 2: goto IL_109; } goto Block_10; } } Block_10 :; } finally { if (enumerator2 != null) { while (true) { IL_14A : uint arg_132_0 = 3979203725u; while (true) { uint num; switch ((num = (arg_132_0 ^ 3971026495u)) % 3u) { case 0u: goto IL_14A; case 1u: FileDescriptor.smethod_8(enumerator2); arg_132_0 = (num * 2140043047u ^ 1525068915u); continue; } goto Block_14; } } Block_14 :; } } }
internal DescriptorBase(FileDescriptor file, string fullName, int index) { File = file; FullName = fullName; Index = index; }
internal MessageDescriptor(DescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int typeIndex, GeneratedCodeInfo generatedCodeInfo) : base(file, file.ComputeFullName(parent, proto.Name), typeIndex) { MessageDescriptor __4__this; while (true) { IL_247: uint arg_20A_0 = 4043199534u; while (true) { uint num; switch ((num = (arg_20A_0 ^ 3788346645u)) % 12u) { case 0u: this.< ContainingType > k__BackingField = parent; arg_20A_0 = (num * 1002898729u ^ 1601684763u); continue; case 1u: { GeneratedCodeInfo expr_1D9 = generatedCodeInfo; this.< Parser > k__BackingField = ((expr_1D9 != null) ? expr_1D9.Parser : null); arg_20A_0 = 2694476678u; continue; } case 2u: file.DescriptorPool.AddSymbol(this); this.Fieldsk__BackingField = new MessageDescriptor.FieldCollection(this); arg_20A_0 = (num * 174268781u ^ 339015310u); continue; case 3u: goto IL_247; case 4u: this.< NestedTypes > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <DescriptorProto, MessageDescriptor>(proto.NestedType, (DescriptorProto type, int index) => new MessageDescriptor(type, file, __4__this, index, generatedCodeInfo.NestedTypes[index])); arg_20A_0 = (num * 1204710165u ^ 359963217u); continue; case 5u: { IEnumerable <FieldDescriptor> arg_161_0 = this.fieldsInNumberOrder; Func <FieldDescriptor, string> arg_161_1; if ((arg_161_1 = MessageDescriptor.__c.__9__4_5) == null) { arg_161_1 = (MessageDescriptor.__c.__9__4_5 = new Func <FieldDescriptor, string>(MessageDescriptor.__c.__9.<.ctor > b__4_5)); } this.jsonFieldMap = new ReadOnlyDictionary <string, FieldDescriptor>(arg_161_0.ToDictionary(arg_161_1)); arg_20A_0 = 3491112463u; continue; } case 6u: { this.fieldsInDeclarationOrder = DescriptorUtil.ConvertAndMakeReadOnly <FieldDescriptorProto, FieldDescriptor>(proto.Field, delegate(FieldDescriptorProto field, int index) { FileDescriptor arg_26_1 = file; MessageDescriptor arg_26_2 = __4__this; GeneratedCodeInfo expr_14 = generatedCodeInfo; return(new FieldDescriptor(field, arg_26_1, arg_26_2, index, (expr_14 != null) ? expr_14.PropertyNames[index] : null)); }); IEnumerable <FieldDescriptor> arg_11D_0 = this.fieldsInDeclarationOrder; Func <FieldDescriptor, int> arg_11D_1; if ((arg_11D_1 = MessageDescriptor.__c.__9__4_4) == null) { arg_11D_1 = (MessageDescriptor.__c.__9__4_4 = new Func <FieldDescriptor, int>(MessageDescriptor.__c.__9.<.ctor > b__4_4)); } this.fieldsInNumberOrder = new ReadOnlyCollection <FieldDescriptor>(arg_11D_0.OrderBy(arg_11D_1).ToArray <FieldDescriptor>()); arg_20A_0 = 2414391428u; continue; } case 7u: { GeneratedCodeInfo expr_BF = generatedCodeInfo; this.< ClrType > k__BackingField = ((expr_BF != null) ? expr_BF.ClrType : null); arg_20A_0 = 3870743541u; continue; } case 8u: this.< EnumTypes > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <EnumDescriptorProto, EnumDescriptor>(proto.EnumType, (EnumDescriptorProto type, int index) => new EnumDescriptor(type, file, __4__this, index, generatedCodeInfo.NestedEnums[index])); arg_20A_0 = (num * 3914277205u ^ 2964567391u); continue; case 10u: this.< Oneofs > k__BackingField = DescriptorUtil.ConvertAndMakeReadOnly <OneofDescriptorProto, OneofDescriptor>(proto.OneofDecl, (OneofDescriptorProto oneof, int index) => new OneofDescriptor(oneof, file, __4__this, index, generatedCodeInfo.OneofNames[index])); arg_20A_0 = (num * 3879854900u ^ 3765292269u); continue; case 11u: __4__this = this; this.< Proto > k__BackingField = proto; arg_20A_0 = (num * 1105444768u ^ 1991989292u); continue; } return; } } }
private void ImportPublicDependencies(FileDescriptor file) { IEnumerator <FileDescriptor> enumerator = file.PublicDependencies.GetEnumerator(); try { while (true) { IL_AF: uint arg_7C_0 = DescriptorPool.smethod_0(enumerator) ? 483463677u : 1013596277u; while (true) { uint num; switch ((num = (arg_7C_0 ^ 1510700764u)) % 6u) { case 0u: goto IL_AF; case 1u: { FileDescriptor current = enumerator.Current; arg_7C_0 = 2088187487u; continue; } case 2u: arg_7C_0 = 483463677u; continue; case 3u: { FileDescriptor current; arg_7C_0 = ((this.dependencies.Add(current) ? 3551628460u : 3841956582u) ^ num * 990315274u); continue; } case 4u: { FileDescriptor current; this.ImportPublicDependencies(current); arg_7C_0 = (num * 2977631201u ^ 244456022u); continue; } } goto Block_4; } } Block_4 :; } finally { if (enumerator != null) { while (true) { IL_F3 : uint arg_DB_0 = 273087490u; while (true) { uint num; switch ((num = (arg_DB_0 ^ 1510700764u)) % 3u) { case 0u: goto IL_F3; case 1u: DescriptorPool.smethod_1(enumerator); arg_DB_0 = (num * 2366569890u ^ 4210252562u); continue; } goto Block_8; } } Block_8 :; } } }
internal DescriptorBase(FileDescriptor file, string fullName, int index) { this.file = file; this.fullName = fullName; this.index = index; }
internal DescriptorPool(FileDescriptor[] dependencyFiles) { while (true) { IL_15F: uint arg_125_0 = 2867741474u; while (true) { uint num; switch ((num = (arg_125_0 ^ 3587480274u)) % 11u) { case 0u: { int num2; arg_125_0 = ((num2 < dependencyFiles.Length) ? 4207413293u : 3795583198u); continue; } case 1u: { int num3; arg_125_0 = ((num3 < dependencyFiles.Length) ? 3513816270u : 2166799543u); continue; } case 2u: { this.dependencies = new HashSet <FileDescriptor>(); int num3 = 0; arg_125_0 = (num * 2631113323u ^ 2574616807u); continue; } case 3u: { int num2; FileDescriptor fileDescriptor = dependencyFiles[num2]; this.AddPackage(fileDescriptor.Package, fileDescriptor); num2++; arg_125_0 = 3276048337u; continue; } case 4u: { int num3; this.dependencies.Add(dependencyFiles[num3]); arg_125_0 = 3179756802u; continue; } case 5u: arg_125_0 = (num * 3693977428u ^ 1260750322u); continue; case 6u: { int num2 = 0; arg_125_0 = (num * 1946987356u ^ 281619545u); continue; } case 7u: { int num3; this.ImportPublicDependencies(dependencyFiles[num3]); num3++; arg_125_0 = (num * 4050069737u ^ 2871900550u); continue; } case 8u: arg_125_0 = (num * 2664253148u ^ 3891939312u); continue; case 9u: goto IL_15F; } return; } } }
internal FieldDescriptor(FieldDescriptorProto proto, FileDescriptor file, MessageDescriptor parent, int index, string propertyName) : base(file, file.ComputeFullName(parent, proto.Name), index) { while (true) { IL_192: uint arg_155_0 = 668326049u; while (true) { uint num; switch ((num = (arg_155_0 ^ 1907900556u)) % 12u) { case 0u: this.containingOneof = parent.Oneofs[proto.OneofIndex]; arg_155_0 = 951252349u; continue; case 2u: goto IL_192; case 3u: arg_155_0 = (((proto.OneofIndex != -1) ? 3178787542u : 4269045895u) ^ num * 287148678u); continue; case 4u: arg_155_0 = (((proto.OneofIndex < 0) ? 830153714u : 1120517676u) ^ num * 2667568972u); continue; case 5u: this.proto = proto; arg_155_0 = (((proto.Type == (FieldDescriptorProto.Types.Type) 0) ? 1249293554u : 878441721u) ^ num * 64997452u); continue; case 6u: arg_155_0 = ((this.FieldNumber > 0) ? 416220771u : 1243880467u); continue; case 7u: goto IL_199; case 8u: arg_155_0 = (((proto.OneofIndex < parent.Proto.OneofDecl.Count) ? 3890232560u : 2326943442u) ^ num * 1872585197u); continue; case 9u: this.fieldType = FieldDescriptor.GetFieldTypeFromProtoType(proto.Type); arg_155_0 = (num * 2182631442u ^ 3138733388u); continue; case 10u: goto IL_1AA; case 11u: this.containingType = parent; arg_155_0 = 1386389043u; continue; } goto Block_6; } } Block_6: goto IL_1CF; IL_199: throw new DescriptorValidationException(this, Module.smethod_33 <string>(1349002182u)); IL_1AA: throw new DescriptorValidationException(this, FieldDescriptor.smethod_0(Module.smethod_37 <string>(3181016348u), new object[] { parent.Name })); IL_1CF: file.DescriptorPool.AddSymbol(this); this.propertyName = propertyName; }