private CSSyntax.StatementSyntax CreateErrorCommentStatement(SyntaxNode node, Exception exception)
        {
            var errorDescription = node.DescribeConversionError(exception);
            var commentedText    = "/* " + errorDescription + " */";

            return(SyntaxFactory.EmptyStatement()
                   .WithTrailingTrivia(SyntaxFactory.Comment(commentedText))
                   .WithAdditionalAnnotations(new SyntaxAnnotation(AnnotationConstants.ConversionErrorAnnotationKind, exception.ToString())));
        }
 public override SyntaxList <CSSyntax.StatementSyntax> DefaultVisit(SyntaxNode node)
 {
     try {
         return(ConvertWithTrivia(node));
     } catch (Exception e) {
         var withTrailingErrorComment = SyntaxFactory.EmptyStatement()
                                        .WithCsTrailingErrorComment <CSSyntax.StatementSyntax>((VisualBasicSyntaxNode)node, e);
         return(SyntaxFactory.SingletonList(withTrailingErrorComment));
     }
 }
        public async Task <SyntaxList <CSSyntax.StatementSyntax> > DefaultVisitInnerAsync(SyntaxNode node)
        {
            try {
                var converted = await _wrappedVisitor.Visit(node);

                return(converted.WithVbSourceMappingFrom(node));
            } catch (Exception e) {
                var withTrailingErrorComment = SyntaxFactory.EmptyStatement()
                                               .WithCsTrailingErrorComment <CSSyntax.StatementSyntax>((VisualBasicSyntaxNode)node, e);
                return(SyntaxFactory.SingletonList(withTrailingErrorComment));
            }
        }