public virtual void VisitIfElseStatement(IfElseStatement ifElseStatement)
{
StartNode(ifElseStatement);
WriteKeyword(IfElseStatement.IfKeywordRole);
Space(policy.SpaceBeforeIfParentheses);
LPar();
Space(policy.SpacesWithinIfParentheses);
ifElseStatement.Condition.AcceptVisitor(this);
Space(policy.SpacesWithinIfParentheses);
RPar();
if (ifElseStatement.FalseStatement.IsNull) {
WriteEmbeddedStatement(ifElseStatement.TrueStatement);
} else {
WriteEmbeddedStatement(ifElseStatement.TrueStatement, policy.ElseNewLinePlacement);
WriteKeyword(IfElseStatement.ElseKeywordRole);
if (ifElseStatement.FalseStatement is IfElseStatement) {
// don't put newline between 'else' and 'if'
ifElseStatement.FalseStatement.AcceptVisitor(this);
} else {
WriteEmbeddedStatement(ifElseStatement.FalseStatement);
}
}
EndNode(ifElseStatement);
}