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

slicing_expression() public method

public slicing_expression ( ) : Expression
return Expression
        public Expression slicing_expression()
        {
            Expression target = null;
            IToken token = null;
            IToken token2 = null;
            SlicingExpression se = null;
            MethodInvocationExpression expression3 = null;
            ExpressionCollection ec = null;
            try
            {
                target = this.atom();
                while (true)
                {
                    while ((this.LA(1) == 0x44) && tokenSet_54_.member(this.LA(2)))
                    {
                        token = this.LT(1);
                        this.match(0x44);
                        if (base.inputState.guessing == 0)
                        {
                            se = new SlicingExpression(ToLexicalInfo(token));
                            se.set_Target(target);
                            target = se;
                        }
                        this.slice(se);
                        while (this.LA(1) == 0x43)
                        {
                            this.match(0x43);
                            this.slice(se);
                        }
                        this.match(0x45);
                    }
                    if ((this.LA(1) == 0x41) && tokenSet_55_.member(this.LA(2)))
                    {
                        this.match(0x41);
                        target = this.member_reference_expression(target);
                    }
                    else
                    {
                        if ((this.LA(1) != 0x3f) || !tokenSet_22_.member(this.LA(2)))
                        {
                            return target;
                        }
                        token2 = this.LT(1);
                        this.match(0x3f);
                        if (base.inputState.guessing == 0)
                        {
                            expression3 = new MethodInvocationExpression(ToLexicalInfo(token2));
                            expression3.set_Target(target);
                            target = expression3;
                            ec = expression3.get_Arguments();
                        }
                        this.expression_list(ec);
                        this.match(0x40);
                    }
                }
            }
            catch (RecognitionException exception)
            {
                if (base.inputState.guessing != 0)
                {
                    throw;
                }
                this.reportError(exception);
                this.recover(exception, tokenSet_20_);
                return target;
            }
            return target;
        }
UnityScriptParser