예제 #1
0
        public override void VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression)
        {
            var lp          = parenthesizedExpression.LParToken;
            var expr        = parenthesizedExpression.Expression;
            int extraSpaces = 0;

            if (lp.StartLocation.Line == expr.StartLocation.Line)
            {
                ForceSpacesAfter(lp, policy.SpacesWithinParentheses);
            }
            else
            {
                extraSpaces           += options.IndentSize;
                curIndent.ExtraSpaces += extraSpaces;
                FixIndentation(expr);
            }

            base.VisitParenthesizedExpression(parenthesizedExpression);

            var rp = parenthesizedExpression.RParToken;

            curIndent.ExtraSpaces -= extraSpaces;
            if (rp.StartLocation.Line == expr.EndLocation.Line)
            {
                ForceSpacesBefore(rp, policy.SpacesWithinParentheses);
            }
            else
            {
                FixIndentation(rp);
            }
        }
예제 #2
0
 void IAstVisitor.VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression)
 {
     Visit(EnterParenthesizedExpression, LeaveParenthesizedExpression, parenthesizedExpression);
 }