Exemple #1
0
        /// <summary>
        ///		Renders a Expression into the visitor
        /// </summary>
        public static void Visit(this IMorestachioExpressionVisitor visitor, IMorestachioExpression morestachioExpression)
        {
            switch (morestachioExpression)
            {
            case MorestachioExpression expression1:
                visitor.Visit(expression1);
                break;

            case ExpressionArgument expressionArgument:
                visitor.Visit(expressionArgument);
                break;

            case MorestachioBracketExpression operatorExpression:
                visitor.Visit(operatorExpression);
                break;

            case MorestachioArgumentExpressionList expressionList:
                visitor.Visit(expressionList);
                break;

            case MorestachioMultiPartExpressionList expressionList:
                visitor.Visit(expressionList);
                break;

            case MorestachioExpressionString expressionString:
                visitor.Visit(expressionString);
                break;

            case MorestachioExpressionNumber expressionNumber:
                visitor.Visit(expressionNumber);
                break;

            case MorestachioOperatorExpression operatorExpression:
                visitor.Visit(operatorExpression);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(morestachioExpression));
            }
        }
 /// <inheritdoc />
 public void Accept(IMorestachioExpressionVisitor visitor)
 {
     visitor.Visit(this);
 }