예제 #1
0
        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);
        }
예제 #2
0
        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;
        }