UnityScript.Parser.UnityScriptParser.shift C# (CSharp) Méthode

shift() public méthode

public shift ( ) : Expression
Résultat Expression
        public Expression shift()
        {
            Expression expression = null;
            IToken token = null;
            IToken token2 = null;
            try
            {
                expression = this.sum();
                while (true)
                {
                    BinaryOperatorType type;
                    IToken token3;
                    if ((this.LA(1) != 0x5d) && (this.LA(1) != 0x61))
                    {
                        return expression;
                    }
                    if (!tokenSet_16_.member(this.LA(2)))
                    {
                        return expression;
                    }
                    switch (this.LA(1))
                    {
                        case 0x5d:
                            token = this.LT(1);
                            this.match(0x5d);
                            if (base.inputState.guessing == 0)
                            {
                                type = 0x22;
                                token3 = token;
                            }
                            break;

                        case 0x61:
                            token2 = this.LT(1);
                            this.match(0x61);
                            if (base.inputState.guessing == 0)
                            {
                                type = 0x24;
                                token3 = token2;
                            }
                            break;

                        default:
                            throw new NoViableAltException(this.LT(1), this.getFilename());
                    }
                    Expression expression2 = this.sum();
                    if (base.inputState.guessing == 0)
                    {
                        BinaryExpression expression3;
                        BinaryExpression expression1 = expression3 = new BinaryExpression(ToLexicalInfo(token3));
                        expression3.set_Operator(type);
                        expression3.set_Left(expression);
                        expression3.set_Right(expression2);
                        expression = expression3;
                    }
                }
            }
            catch (RecognitionException exception)
            {
                if (base.inputState.guessing != 0)
                {
                    throw;
                }
                this.reportError(exception);
                this.recover(exception, tokenSet_20_);
                return expression;
            }
            return expression;
        }
UnityScriptParser