示例#1
0
 void CollectElseBlocks(CSS.IfStatementSyntax node, List <ElseIfBlockSyntax> elseIfBlocks, ref ElseBlockSyntax elseBlock)
 {
     if (node.Else == null)
     {
         return;
     }
     if (node.Else.Statement is CSS.IfStatementSyntax)
     {
         var elseIf = (CSS.IfStatementSyntax)node.Else.Statement;
         elseIfBlocks.Add(
             SyntaxFactory.ElseIfBlock(
                 SyntaxFactory.ElseIfStatement((ExpressionSyntax)elseIf.Condition.Accept(_nodesVisitor)).WithThenKeyword(SyntaxFactory.Token(SyntaxKind.ThenKeyword)),
                 ConvertBlock(elseIf.Statement)
                 )
             );
         CollectElseBlocks(elseIf, elseIfBlocks, ref elseBlock);
     }
     else
     {
         elseBlock = SyntaxFactory.ElseBlock(ConvertBlock(node.Else.Statement));
     }
 }