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