internal void AddSymbol(IDescriptor descriptor) { DescriptorPool.ValidateSymbolName(descriptor); string description; while (true) { IL_220: uint arg_1DA_0 = 1985145293u; while (true) { uint num; switch ((num = (arg_1DA_0 ^ 2053731764u)) % 14u) { case 0u: { string fullName; int num2; description = DescriptorPool.smethod_5(new string[] { Module.smethod_36 <string>(1708679815u), DescriptorPool.smethod_4(fullName, num2 + 1), Module.smethod_37 <string>(2801180086u), DescriptorPool.smethod_3(fullName, 0, num2), Module.smethod_35 <string>(2292255829u) }); arg_1DA_0 = 1833202264u; continue; } case 1u: { IDescriptor descriptor2; arg_1DA_0 = (((descriptor.File != descriptor2.File) ? 461553329u : 98503376u) ^ num * 1094856435u); continue; } case 2u: { string fullName; IDescriptor descriptor2; description = DescriptorPool.smethod_5(new string[] { Module.smethod_36 <string>(1708679815u), fullName, Module.smethod_35 <string>(2935817106u), descriptor2.File.Name, Module.smethod_34 <string>(4290967862u) }); arg_1DA_0 = 399949226u; continue; } case 4u: arg_1DA_0 = (num * 512943130u ^ 3276706322u); continue; case 5u: { string fullName; IDescriptor descriptor2; arg_1DA_0 = ((this.descriptorsByName.TryGetValue(fullName, out descriptor2) ? 724224651u : 816491605u) ^ num * 3835365548u); continue; } case 6u: arg_1DA_0 = (num * 587877992u ^ 2721817162u); continue; case 7u: { string fullName = descriptor.FullName; arg_1DA_0 = (num * 3042641918u ^ 2879375567u); continue; } case 8u: { string fullName; description = DescriptorPool.smethod_6(Module.smethod_33 <string>(3031927268u), fullName, Module.smethod_36 <string>(4135403163u)); arg_1DA_0 = (num * 294609173u ^ 513628476u); continue; } case 9u: { string fullName; this.descriptorsByName[fullName] = descriptor; arg_1DA_0 = 560751961u; continue; } case 10u: goto IL_220; case 11u: { int num2; arg_1DA_0 = (((num2 != -1) ? 3906432723u : 2856908785u) ^ num * 923807959u); continue; } case 12u: goto IL_227; case 13u: { string fullName; int num2 = DescriptorPool.smethod_2(fullName, '.'); arg_1DA_0 = (num * 2071959698u ^ 1993918755u); continue; } } goto Block_4; } } Block_4: return; IL_227: throw new DescriptorValidationException(descriptor, description); }
internal IDescriptor LookupSymbol(string name, IDescriptor relativeTo) { if (DescriptorPool.smethod_10(name, Module.smethod_37 <string>(3886401134u))) { goto IL_1E0; } goto IL_25F; uint arg_1EA_0; IDescriptor descriptor; int num2; string string_; while (true) { IL_1E5: uint num; switch ((num = (arg_1EA_0 ^ 1120319073u)) % 20u) { case 0u: goto IL_1E0; case 1u: arg_1EA_0 = ((descriptor == null) ? 870869395u : 499394510u); continue; case 2u: goto IL_248; case 3u: arg_1EA_0 = (num * 3182389240u ^ 2661154485u); continue; case 4u: arg_1EA_0 = (((num2 != -1) ? 1585465210u : 655580376u) ^ num * 49592841u); continue; case 5u: descriptor = this.FindSymbol <IDescriptor>(DescriptorPool.smethod_4(name, 1)); arg_1EA_0 = (num * 3672446899u ^ 3969592099u); continue; case 6u: { StringBuilder stringBuilder; descriptor = this.FindSymbol <IDescriptor>(DescriptorPool.smethod_13(stringBuilder)); arg_1EA_0 = (((descriptor != null) ? 64710281u : 267317740u) ^ num * 1678552982u); continue; } case 8u: { StringBuilder stringBuilder; int num3 = DescriptorPool.smethod_14(DescriptorPool.smethod_13(stringBuilder), Module.smethod_37 <string>(3886401134u)); arg_1EA_0 = 2002560569u; continue; } case 9u: { StringBuilder stringBuilder = DescriptorPool.smethod_12(relativeTo.FullName); arg_1EA_0 = (num * 3531444233u ^ 3381061816u); continue; } case 10u: { StringBuilder stringBuilder; DescriptorPool.smethod_16(stringBuilder, name); arg_1EA_0 = (num * 817521685u ^ 2631391113u); continue; } case 11u: arg_1EA_0 = (num * 552099699u ^ 2537391261u); continue; case 12u: { StringBuilder stringBuilder; int num3; DescriptorPool.smethod_15(stringBuilder, num3 + 1); DescriptorPool.smethod_16(stringBuilder, string_); arg_1EA_0 = 1012720395u; continue; } case 13u: descriptor = this.FindSymbol <IDescriptor>(name); arg_1EA_0 = (num * 2889115466u ^ 2648762352u); continue; case 14u: goto IL_271; case 15u: goto IL_25F; case 16u: { int num3; arg_1EA_0 = (((num3 == -1) ? 4120049240u : 3230677641u) ^ num * 813323212u); continue; } case 17u: { StringBuilder stringBuilder; int num3; DescriptorPool.smethod_15(stringBuilder, num3); arg_1EA_0 = 782561782u; continue; } case 18u: { StringBuilder stringBuilder; descriptor = this.FindSymbol <IDescriptor>(DescriptorPool.smethod_13(stringBuilder)); arg_1EA_0 = (num * 2911074500u ^ 582846468u); continue; } case 19u: { StringBuilder stringBuilder; int num3; DescriptorPool.smethod_15(stringBuilder, num3 + 1); arg_1EA_0 = (num * 3586444226u ^ 2060538829u); continue; } } break; } return(descriptor); IL_248: string arg_250_0 = DescriptorPool.smethod_3(name, 0, num2); goto IL_250; IL_271: throw new DescriptorValidationException(relativeTo, DescriptorPool.smethod_6(Module.smethod_36 <string>(1708679815u), name, Module.smethod_35 <string>(165853341u))); IL_1E0: arg_1EA_0 = 1226689332u; goto IL_1E5; IL_250: string_ = arg_250_0; arg_1EA_0 = 1911610428u; goto IL_1E5; IL_25F: num2 = DescriptorPool.smethod_11(name, '.'); if (num2 != -1) { arg_1EA_0 = 604030619u; goto IL_1E5; } arg_250_0 = name; goto IL_250; }
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; }