예제 #1
0
    internal void method_23(MathLimitLocation A_0)
    {
        int num = 0;

        if (A_0 == MathLimitLocation.Undefined)
        {
            throw new ArgumentException(BookmarkStart.b("爥䀧䌩弫อ唯就䄳嬵ᠷ䰹崻刽㔿❁摃⽅㭇橉≋⅍⑏牑㕓㩕㑗㕙⭛㭝џ䱡", num));
        }
        this.mathLimitLocation_1 = A_0;
    }
예제 #2
0
    internal void method_15(MathLimitLocation A_0)
    {
        int num = 7;

        if (A_0 == MathLimitLocation.Undefined)
        {
            throw new ArgumentException(BookmarkStart.b("礬䜮堰䀲ᔴ制圸为值Ἶ㝀≂⥄㉆ⱈ歊⑌㱎煐㵒㩔⍖祘㩚ㅜ㍞๠ᑢdͦ䝨", num));
        }
        this.mathLimitLocation_0 = A_0;
    }
예제 #3
0
    private bool method_14(Class5 A_0, MathLimitLocation A_1)
    {
        int num = 9;

        if ((A_0.LastChild == null) || !(A_0.LastChild is Class5))
        {
            return(false);
        }
        Class5 lastChild = A_0.LastChild as Class5;
        bool   flag      = (lastChild.method_32().vmethod_1() == MathObjectType.SubSuperscript) && (lastChild.ChildObjects.Count == 3);
        bool   flag2     = (((lastChild.method_32().vmethod_1() == MathObjectType.LowerLimit) || (lastChild.method_32().vmethod_1() == MathObjectType.UpperLimit)) || (lastChild.method_32().vmethod_1() == MathObjectType.Subscript)) ? (lastChild.ChildObjects.Count == 2) : false;

        if (!flag && !flag2)
        {
            return(false);
        }
        Class5 class3 = new Class5(this.class857_0.method_9(), new Class41());

        A_0.method_13(class3);
        string text = ((TextRange)lastChild.ChildObjects[0]).Text;

        if (Class567.smethod_16(text))
        {
            class3.method_32().SetAttr(0x3ac5, text[0]);
        }
        class3.method_32().SetAttr(0x3c96, A_1);
        if (flag)
        {
            class3.method_13(lastChild.ChildObjects[1].Clone());
            class3.method_13(lastChild.ChildObjects[2].Clone());
        }
        else
        {
            class3.method_32().SetAttr(0x3caa, true);
            Class5 class4 = new Class5(this.class857_0.method_9(), new Class34(MathObjectType.SubscriptPart));
            foreach (DocumentObject obj2 in lastChild.ChildObjects[1].ChildObjects)
            {
                class4.method_13(obj2.Clone());
            }
            class3.method_13(class4);
        }
        lastChild.method_19();
        Class5 class5 = new Class5(this.class857_0.method_9(), new Class34(MathObjectType.Argument));

        this.method_4(class5, BookmarkStart.b("䈮䌰尲䈴", num));
        class3.method_13(class5);
        return(true);
    }
예제 #4
0
    private static string smethod_1(Class5 A_0, char A_1, bool A_2, bool A_3)
    {
        int               num       = 12;
        object            obj2      = A_0.method_32().method_31(0x3c96);
        MathLimitLocation undefined = MathLimitLocation.Undefined;

        if (obj2 != null)
        {
            undefined = (MathLimitLocation)obj2;
        }
        if (undefined == MathLimitLocation.SubscriptSuperscript)
        {
            return(smethod_2(A_2, A_3, BookmarkStart.b("弱夳娵ȷ圹伻䬽〿", num), BookmarkStart.b("弱夳娵ȷ圹伻䬽∿", num), BookmarkStart.b("弱夳娵ȷ圹伻䬽∿ㅁㅃ㙅", num)));
        }
        if ((undefined != MathLimitLocation.UnderOver) && (A_1 == '∫'))
        {
            return(smethod_2(A_2, A_3, BookmarkStart.b("弱夳娵ȷ圹伻䬽〿", num), BookmarkStart.b("弱夳娵ȷ圹伻䬽∿", num), BookmarkStart.b("弱夳娵ȷ圹伻䬽∿ㅁㅃ㙅", num)));
        }
        return(smethod_2(A_2, A_3, BookmarkStart.b("弱夳娵ȷ圹医䠽┿ぁ", num), BookmarkStart.b("弱夳娵ȷ圹䤻倽␿❁㙃", num), BookmarkStart.b("弱夳娵ȷ圹䤻倽␿❁㙃⥅㹇⽉㹋", num)));
    }
예제 #5
0
    private void method_4(Class5 A_0, string A_1)
    {
        int num  = 6;
        int num2 = 0;
        MathLimitLocation undefined = MathLimitLocation.Undefined;

        while (this.class396_0.method_9(A_1))
        {
            Class5 class2;
            if (A_1 == BookmarkStart.b("䄫伭䐯娱", num))
            {
                this.bool_0 = true;
            }
            string str2 = this.class396_0.method_1();
            string key  = str2;
            if (key != null)
            {
                int num3;
                if (Class1160.dictionary_13 == null)
                {
                    Dictionary <string, int> dictionary1 = new Dictionary <string, int>(0x15);
                    dictionary1.Add(BookmarkStart.b("弫䬭崯匱娳䈵儷夹伻", num), 0);
                    dictionary1.Add(BookmarkStart.b("䄫䠭唯就圳匵尷", num), 1);
                    dictionary1.Add(BookmarkStart.b("䄫䠭䈯匱圳", num), 2);
                    dictionary1.Add(BookmarkStart.b("䄫崭䔯䈱", num), 3);
                    dictionary1.Add(BookmarkStart.b("䄫崭䔯倱", num), 4);
                    dictionary1.Add(BookmarkStart.b("䄫崭䔯倱䜳䌵䠷", num), 5);
                    dictionary1.Add(BookmarkStart.b("䄫嬭帯嘱儳䐵圷䰹夻䰽", num), 6);
                    dictionary1.Add(BookmarkStart.b("䄫䌭䔯帱䀳張䬷夹主圽〿㙁㝃", num), 7);
                    dictionary1.Add(BookmarkStart.b("䄫尭弯崱䀳", num), 8);
                    dictionary1.Add(BookmarkStart.b("䄫崭䄯䀱䀳", num), 9);
                    dictionary1.Add(BookmarkStart.b("䄫娭儯倱堳匵", num), 10);
                    dictionary1.Add(BookmarkStart.b("䄫娭䈯", num), 11);
                    dictionary1.Add(BookmarkStart.b("䄫娭启", num), 12);
                    dictionary1.Add(BookmarkStart.b("䄫䬭帯儱堳夵䬷弹", num), 13);
                    dictionary1.Add(BookmarkStart.b("䄫嬭帯嘱儳䐵", num), 14);
                    dictionary1.Add(BookmarkStart.b("䄫䄭䘯圱䘳", num), 15);
                    dictionary1.Add(BookmarkStart.b("䄫席儯嘱倳匵尷", num), 0x10);
                    dictionary1.Add(BookmarkStart.b("䄫尭弯䔱", num), 0x11);
                    dictionary1.Add(BookmarkStart.b("䄫䜭", num), 0x12);
                    dictionary1.Add(BookmarkStart.b("䄫䄭", num), 0x13);
                    dictionary1.Add(BookmarkStart.b("䄫䀭", num), 20);
                    Class1160.dictionary_13 = dictionary1;
                }
                if (Class1160.dictionary_13.TryGetValue(key, out num3))
                {
                    switch (num3)
                    {
                    case 0:
                        this.method_4(A_0, A_1);
                        return;

                    case 1:
                        class2 = new Class5(this.class857_0.method_9(), new Class30());
                        this.method_18(class2);
                        goto Label_03E7;

                    case 2:
                        class2 = new Class5(this.class857_0.method_9(), new Class38());
                        this.method_16(class2);
                        goto Label_03E7;

                    case 3:
                        class2 = new Class5(this.class857_0.method_9(), new Class27());
                        goto Label_03E7;

                    case 4:
                        undefined = MathLimitLocation.SubscriptSuperscript;
                        class2    = new Class5(this.class857_0.method_9(), new Class31());
                        goto Label_03E7;

                    case 5:
                    case 6:
                        undefined = (str2 == BookmarkStart.b("䄫崭䔯倱䜳䌵䠷", num)) ? MathLimitLocation.SubscriptSuperscript : MathLimitLocation.UnderOver;
                        class2    = new Class5(this.class857_0.method_9(), new Class39());
                        goto Label_03E7;

                    case 7:
                        class2 = new Class5(this.class857_0.method_9(), new Class26());
                        goto Label_03E7;

                    case 8:
                        class2 = new Class5(this.class857_0.method_9(), new Class40());
                        goto Label_03E7;

                    case 9:
                        class2 = this.method_7();
                        goto Label_03E7;

                    case 10:
                        class2 = this.method_6();
                        goto Label_03E7;

                    case 11:
                        class2 = new Class5(this.class857_0.method_9(), new Class29());
                        goto Label_03E7;

                    case 12:
                        class2 = new Class5(this.class857_0.method_9(), new Class34(MathObjectType.Argument));
                        goto Label_03E7;

                    case 13:
                        class2 = new Class5(this.class857_0.method_9(), new Class25());
                        goto Label_03E7;

                    case 14:
                    case 15:
                        class2 = new Class5(this.class857_0.method_9(), this.method_15(str2));
                        goto Label_03E7;

                    case 0x10:
                        class2 = new Class5(this.class857_0.method_9(), new Class36());
                        this.method_17(class2);
                        goto Label_03E7;

                    case 0x11:
                        class2    = this.method_11(A_0, A_1, num2++, undefined);
                        undefined = MathLimitLocation.Undefined;
                        goto Label_03E7;

                    case 0x12:
                    case 0x13:
                    case 20:
                    {
                        num2 = this.method_8(A_0, A_1, num2);
                        continue;
                    }
                    }
                }
            }
            goto Label_040E;
Label_03E7:
            if (class2 != null)
            {
                this.method_4(class2, str2);
                num2 = this.method_5(A_0, A_1, class2, str2, num2);
            }
            continue;
Label_040E:
            this.class396_0.vmethod_1();
        }
    }
예제 #6
0
    private Class5 method_11(Class5 A_0, string A_1, int A_2, MathLimitLocation A_3)
    {
        int            num      = 1;
        MathObjectType argument = MathObjectType.Argument;

        switch (A_0.method_32().vmethod_1())
        {
        case MathObjectType.Fraction:
            argument = (A_2 == 0) ? MathObjectType.Numerator : MathObjectType.Denominator;
            break;

        case MathObjectType.Function:
            if (A_2 == 0)
            {
                argument = MathObjectType.FunctionName;
            }
            break;

        case MathObjectType.GroupCharacter:
            if ((A_2 == 0) && (A_1 == BookmarkStart.b("䨦尨䔪䤬䨮䌰", num)))
            {
                A_0.method_32().Remove(0x3bba);
                A_0.method_32().Remove(0x3bc4);
            }
            if (A_2 == 1)
            {
                if (A_1 == BookmarkStart.b("䨦尨䔪䤬䨮䌰", num))
                {
                    A_0.method_32().Remove(0x3bc4);
                }
                if (A_1 == BookmarkStart.b("䨦䘨崪䠬崮", num))
                {
                    A_0.method_32().Remove(0x3bba);
                }
            }
            break;

        case MathObjectType.LowerLimit:
            if (A_2 == 1)
            {
                argument = MathObjectType.Limit;
            }
            break;

        case MathObjectType.UpperLimit:
            if (A_2 == 1)
            {
                argument = MathObjectType.Limit;
            }
            break;

        case MathObjectType.Delimiter:
            break;

        case MathObjectType.Radical:
            if (A_2 == 1)
            {
                argument = MathObjectType.Degree;
            }
            break;

        case MathObjectType.PreSubSuperscript:
        case MathObjectType.SubSuperscript:
            if (A_2 == 1)
            {
                argument = MathObjectType.SubscriptPart;
            }
            if (A_2 == 2)
            {
                argument = MathObjectType.SuperscriptPart;
            }
            break;

        case MathObjectType.Subscript:
            if (A_2 == 1)
            {
                argument = MathObjectType.SubscriptPart;
            }
            break;

        case MathObjectType.Supercript:
            if (A_2 == 1)
            {
                argument = MathObjectType.SuperscriptPart;
            }
            break;

        default:
            if (!this.method_14(A_0, A_3))
            {
                this.method_4(A_0, BookmarkStart.b("䨦嬨䐪娬", num));
                this.method_12(A_0);
            }
            return(null);
        }
        return(new Class5(this.class857_0.method_9(), new Class34(argument)));
    }
예제 #7
0
 internal void method_51(MathLimitLocation A_0)
 {
     base.SetAttr(0x3c96, A_0, A_0 != MathLimitLocation.Undefined);
 }