Exemplo n.º 1
0
        public void VisitConditionalExpression(ConditionalExpressionSyntax node)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            node.Validate();

            ExpressionStart(node);

            node.Condition.Accept(this);

            if (_writer.Configuration.Spaces.TernaryOperator.BeforeQuestionMark)
                _writer.WriteSpace();

            var wrap = _writer.Configuration.LineBreaksAndWrapping.LineWrapping.WrapTernaryExpression;

            if (wrap != Configuration.WrapStyle.SimpleWrap)
                _writer.Break(wrap == Configuration.WrapStyle.ChopAlways);

            _writer.WriteSyntax(Syntax.Question);

            if (_writer.Configuration.Spaces.TernaryOperator.AfterQuestionMark)
                _writer.WriteSpace();

            node.WhenTrue.Accept(this);

            if (_writer.Configuration.Spaces.TernaryOperator.BeforeColon)
                _writer.WriteSpace();

            if (wrap != Configuration.WrapStyle.SimpleWrap)
                _writer.Break(wrap == Configuration.WrapStyle.ChopAlways);

            _writer.WriteSyntax(Syntax.Colon);

            if (_writer.Configuration.Spaces.TernaryOperator.AfterColon)
                _writer.WriteSpace();

            node.WhenFalse.Accept(this);

            ExpressionEnd(node);
        }