AjErl.Compiler.Parser.ParseMatchExpression C# (CSharp) Method

ParseMatchExpression() private method

private ParseMatchExpression ( ) : IExpression
return IExpression
        private IExpression ParseMatchExpression()
        {
            IExpression expression = this.ParseSimpleExpression();

            Token token = this.NextToken();

            if (expression == null)
                if (token == null)
                    return null;
                else
                    throw new ParserException(string.Format("Unexpected '{0}'", token.Value));

            if (token != null && token.Type == TokenType.Operator && token.Value == "=")
            {
                expression = new MatchExpression(expression, this.ParseSimpleExpression());
                return expression;
            }
            else if (token != null && token.Type == TokenType.Operator && token.Value == "!")
            {
                expression = new SendExpression(expression, this.ParseSimpleExpression());
                return expression;
            }
            else
                this.PushToken(token);

            return expression;
        }