public override SyntaxList <StatementSyntax> VisitIfStatement(CSS.IfStatementSyntax node) { IdentifierNameSyntax name; List <ArgumentSyntax> arguments = new List <ArgumentSyntax>(); StatementSyntax stmt; if (node.Else == null && TryConvertRaiseEvent(node, out name, arguments)) { stmt = SyntaxFactory.RaiseEventStatement(name, SyntaxFactory.ArgumentList(SyntaxFactory.SeparatedList(arguments))); return(SyntaxFactory.SingletonList(stmt)); } var elseIfBlocks = new List <ElseIfBlockSyntax>(); ElseBlockSyntax elseBlock = null; CollectElseBlocks(node, elseIfBlocks, ref elseBlock); if (node.Statement is CSS.BlockSyntax) { stmt = SyntaxFactory.MultiLineIfBlock( SyntaxFactory.IfStatement((ExpressionSyntax)node.Condition.Accept(_nodesVisitor)).WithThenKeyword(SyntaxFactory.Token(SyntaxKind.ThenKeyword)), ConvertBlock(node.Statement), SyntaxFactory.List(elseIfBlocks), elseBlock ); } else { if (elseIfBlocks.Any() || elseBlock != null || !IsSimpleStatement(node.Statement)) { stmt = SyntaxFactory.MultiLineIfBlock( SyntaxFactory.IfStatement((ExpressionSyntax)node.Condition.Accept(_nodesVisitor)).WithThenKeyword(SyntaxFactory.Token(SyntaxKind.ThenKeyword)), ConvertBlock(node.Statement), SyntaxFactory.List(elseIfBlocks), elseBlock ); } else { stmt = SyntaxFactory.SingleLineIfStatement( (ExpressionSyntax)node.Condition.Accept(_nodesVisitor), ConvertBlock(node.Statement), null ).WithThenKeyword(SyntaxFactory.Token(SyntaxKind.ThenKeyword)); } } return(SyntaxFactory.SingletonList(stmt)); }