CatchBlockSyntax ConvertCatchClause(int index, CSS.CatchClauseSyntax catchClause) { var statements = ConvertBlock(catchClause.Block); if (catchClause.Declaration == null) { return(SyntaxFactory.CatchBlock(SyntaxFactory.CatchStatement(), statements)); } var type = (TypeSyntax)catchClause.Declaration.Type.Accept(_nodesVisitor); string simpleTypeName; if (type is QualifiedNameSyntax) { simpleTypeName = ((QualifiedNameSyntax)type).Right.ToString(); } else { simpleTypeName = type.ToString(); } return(SyntaxFactory.CatchBlock( SyntaxFactory.CatchStatement( SyntaxFactory.IdentifierName(SyntaxTokenExtensions.IsKind(catchClause.Declaration.Identifier, CS.SyntaxKind.None) ? SyntaxFactory.Identifier($"__unused{simpleTypeName}{index + 1}__") : _commonConversions.ConvertIdentifier(catchClause.Declaration.Identifier)), SyntaxFactory.SimpleAsClause(type), catchClause.Filter == null ? null : SyntaxFactory.CatchFilterClause((ExpressionSyntax)catchClause.Filter.FilterExpression.Accept(_nodesVisitor)) ), statements )); }