예제 #1
0
        private static void ValidateSymbolName(IDescriptor descriptor)
        {
            if (!DescriptorPool.smethod_7(descriptor.Name, ""))
            {
                goto IL_55;
            }
IL_21:
            int arg_2B_0 = 164232957;

IL_26:
            switch ((arg_2B_0 ^ 1498968607) % 5)
            {
            case 1:
                throw new DescriptorValidationException(descriptor, Module.smethod_35 <string>(3327537739u));

            case 2:
IL_55:
                arg_2B_0 = (DescriptorPool.smethod_8(DescriptorPool.ValidationRegex, descriptor.Name) ? 956386433 : 1225429300);
                goto IL_26;

            case 3:
                throw new DescriptorValidationException(descriptor, DescriptorPool.smethod_6(Module.smethod_33 <string>(3031927268u), descriptor.Name, Module.smethod_37 <string>(1895443896u)));

            case 4:
                goto IL_21;
            }
        }
예제 #2
0
        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;
        }
예제 #3
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);
        }