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

typeof_with_expression() protected method

protected typeof_with_expression ( ) : Expression
return Expression
        protected Expression typeof_with_expression()
        {
            Expression expression = null;
            IToken token = null;
            try
            {
                Expression expression2;
                token = this.LT(1);
                this.match(0x2c);
                if ((this.LA(1) == 0x3f) && tokenSet_16_.member(this.LA(2)))
                {
                    this.match(0x3f);
                    expression2 = this.expression();
                    this.match(0x40);
                }
                else
                {
                    if (!tokenSet_16_.member(this.LA(1)) || !tokenSet_20_.member(this.LA(2)))
                    {
                        throw new NoViableAltException(this.LT(1), this.getFilename());
                    }
                    expression2 = this.expression();
                }
                if (base.inputState.guessing == 0)
                {
                    ReferenceExpression expression4;
                    MethodInvocationExpression expression3 = new MethodInvocationExpression(ToLexicalInfo(token));
                    ReferenceExpression expression1 = expression4 = new ReferenceExpression(ToLexicalInfo(token));
                    expression4.set_Name(token.getText());
                    expression3.set_Target(expression4);
                    expression3.get_Arguments().Add(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