Bike.Parser.Parser.ParseUnaryExpression C# (CSharp) Method

ParseUnaryExpression() public method

public ParseUnaryExpression ( ) : ExprNode
return ExprNode
        public ExprNode ParseUnaryExpression()
        {
            var exp = new UnaryExpression
                          {
                              Token = Next(),
                              Postfix = TokenType.None,
                              Prefix = TokenType.None
                          };
            var token = Next();
            if (token.Is(TokenType.DoublePlus) ||
                token.Is(TokenType.DoubleMinus) ||
                token.Is(TokenType.Plus) ||
                token.Is(TokenType.Minus) ||
                token.Is(TokenType.Not))
            {
                exp.Prefix = token.Type;
                Consume();
                exp.Expression = ParseUnaryExpression();
                return exp;
            }

            exp.Expression = ParseLeftHandSideExpression();
            if (Next().Is(TokenType.DoublePlus) || Next().Is(TokenType.DoubleMinus))
            {
                exp.Postfix = Next().Type;
                Consume();
                return exp;
            }

            return exp.Expression;
        }