示例#1
0
        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;
        }