Ejemplo n.º 1
0
            public override SyntaxList <StatementSyntax> VisitMultiLineIfBlock(VBSyntax.MultiLineIfBlockSyntax node)
            {
                var condition = (ExpressionSyntax)node.IfStatement.Condition.Accept(_nodesVisitor);
                var block     = SyntaxFactory.Block(node.Statements.SelectMany(s => s.Accept(CommentConvertingVisitor)));
                ElseClauseSyntax elseClause = null;

                if (node.ElseBlock != null)
                {
                    var elseBlock = SyntaxFactory.Block(node.ElseBlock.Statements.SelectMany(s => s.Accept(CommentConvertingVisitor)));
                    elseClause = SyntaxFactory.ElseClause(elseBlock.UnpackPossiblyNestedBlock());// so that you get a neat "else if" at the end
                }

                foreach (var elseIf in node.ElseIfBlocks.Reverse())
                {
                    var elseBlock = SyntaxFactory.Block(elseIf.Statements.SelectMany(s => s.Accept(CommentConvertingVisitor)));
                    var ifStmt    = SyntaxFactory.IfStatement((ExpressionSyntax)elseIf.ElseIfStatement.Condition.Accept(_nodesVisitor), elseBlock.UnpackNonNestedBlock(), elseClause);
                    elseClause = SyntaxFactory.ElseClause(ifStmt);
                }

                return(SingleStatement(SyntaxFactory.IfStatement(condition, block.UnpackNonNestedBlock(), elseClause)));
            }
            public override SyntaxList <StatementSyntax> VisitMultiLineIfBlock(VBSyntax.MultiLineIfBlockSyntax node)
            {
                var condition = (ExpressionSyntax)node.IfStatement.Condition.Accept(nodesVisitor);
                var block     = SyntaxFactory.Block(node.Statements.SelectMany(s => s.Accept(this)));
                ElseClauseSyntax elseClause = null;

                if (node.ElseBlock != null)
                {
                    var elseBlock = SyntaxFactory.Block(node.ElseBlock.Statements.SelectMany(s => s.Accept(this)));
                    elseClause = SyntaxFactory.ElseClause(elseBlock);
                }

                foreach (var elseIf in node.ElseIfBlocks.Reverse())
                {
                    var elseBlock = SyntaxFactory.Block(elseIf.Statements.SelectMany(s => s.Accept(this)));
                    var ifStmt    = SyntaxFactory.IfStatement((ExpressionSyntax)elseIf.ElseIfStatement.Condition.Accept(nodesVisitor), elseBlock, elseClause);
                    elseClause = SyntaxFactory.ElseClause(ifStmt);
                }

                return(SingleStatement(SyntaxFactory.IfStatement(condition, block, elseClause)));
            }
Ejemplo n.º 3
0
 public override SyntaxList <StatementSyntax> VisitMultiLineIfBlock(VBSyntax.MultiLineIfBlockSyntax node) => AddLocalVariables(node);