UnityScript.Parser.UnityScriptParser.assignment_expression C# (CSharp) Method

assignment_expression() public method

public assignment_expression ( ) : Expression
return Expression
        public Expression assignment_expression()
        {
            Expression expression = null;
            IToken token = null;
            IToken token2 = null;
            IToken token3 = null;
            IToken token4 = null;
            IToken token5 = null;
            IToken token6 = null;
            IToken token7 = null;
            IToken token8 = null;
            IToken token9 = null;
            IToken token10 = null;
            try
            {
                expression = this.conditional_expression();
                int num = this.LA(1);
                if ((((num == 0x34) || (num == 0x35)) || ((num == 0x36) || (num == 0x37))) || ((((num == 0x47) || (num == 0x4a)) || ((num == 0x4e) || (num == 0x5e))) || ((num == 0x62) || (num == 0x66))))
                {
                    IToken token11;
                    BinaryOperatorType type;
                    num = this.LA(1);
                    switch (num)
                    {
                        case 0x4e:
                            token = this.LT(1);
                            this.match(0x4e);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token;
                                type = 15;
                            }
                            break;

                        case 0x35:
                            token2 = this.LT(1);
                            this.match(0x35);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token2;
                                type = 0x10;
                            }
                            break;

                        case 0x36:
                            token3 = this.LT(1);
                            this.match(0x36);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token3;
                                type = 0x11;
                            }
                            break;

                        case 0x37:
                            token4 = this.LT(1);
                            this.match(0x37);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token4;
                                type = 0x12;
                            }
                            break;

                        case 0x34:
                            token5 = this.LT(1);
                            this.match(0x34);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token5;
                                type = 0x13;
                            }
                            break;

                        case 0x47:
                            token6 = this.LT(1);
                            this.match(0x47);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token6;
                                type = 0x16;
                            }
                            break;

                        case 0x4a:
                            token7 = this.LT(1);
                            this.match(0x4a);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token7;
                                type = 0x15;
                            }
                            break;

                        case 0x66:
                            token8 = this.LT(1);
                            this.match(0x66);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token8;
                                type = 0x21;
                            }
                            break;

                        case 0x5e:
                            token9 = this.LT(1);
                            this.match(0x5e);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token9;
                                type = 0x23;
                            }
                            break;

                        case 0x62:
                            token10 = this.LT(1);
                            this.match(0x62);
                            if (base.inputState.guessing == 0)
                            {
                                token11 = token10;
                                type = 0x25;
                            }
                            break;

                        default:
                            throw new NoViableAltException(this.LT(1), this.getFilename());
                    }
                    Expression expression2 = this.assignment_expression();
                    if (base.inputState.guessing == 0)
                    {
                        BinaryExpression expression3 = new BinaryExpression(ToLexicalInfo(token11));
                        expression3.set_Operator(type);
                        expression3.set_Left(expression);
                        expression3.set_Right(expression2);
                        expression = expression3;
                    }
                    return expression;
                }
                switch (num)
                {
                    case 1:
                    case 5:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 15:
                    case 0x10:
                    case 0x11:
                    case 0x12:
                    case 0x13:
                    case 20:
                    case 0x15:
                    case 0x19:
                    case 0x1b:
                    case 0x1d:
                    case 30:
                    case 0x1f:
                    case 0x20:
                    case 0x21:
                    case 0x23:
                    case 0x24:
                    case 0x25:
                    case 0x26:
                    case 0x27:
                    case 40:
                    case 0x29:
                    case 0x2a:
                    case 0x2b:
                    case 0x2c:
                    case 0x2d:
                    case 0x2e:
                    case 0x2f:
                    case 0x30:
                    case 0x31:
                    case 50:
                    case 0x33:
                    case 0x3b:
                    case 60:
                    case 0x3d:
                    case 0x3e:
                    case 0x3f:
                    case 0x40:
                    case 0x44:
                    case 0x4d:
                    case 0x4f:
                    case 80:
                    case 0x52:
                    case 0x58:
                    case 0x63:
                    case 0x67:
                    case 0x69:
                    case 0x6a:
                    case 0x6b:
                    case 0x6c:
                        return expression;

                    case 0x6d:
                        return expression;
                }
                throw new NoViableAltException(this.LT(1), this.getFilename());
            }
            catch (RecognitionException exception)
            {
                if (base.inputState.guessing != 0)
                {
                    throw;
                }
                this.reportError(exception);
                this.recover(exception, tokenSet_51_);
                return expression;
            }
            return expression;
        }
UnityScriptParser