From a84fe9768f3ca08d27adf18d0e0a00f658c487b7 Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Wed, 27 May 2026 17:11:39 -0500 Subject: [PATCH] refactor(dedup): remove redundant local TruncateText forwarders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `QueryBreakdownGenerator`, `SqlStatementGenerator`, and `ExpressionGenerator` each had a 1-line `private static string TruncateText(...)` forwarder to `Internal.MarkdownTextHelpers.TruncateText`. The forwarders existed only to keep existing call sites short (`TruncateText(x, 50)` instead of the fully-qualified form). Each file now imports `using static MarkdownTextHelpers;` once at the top, so call sites continue to read identically and the local forwarders are deleted. Removes the structural duplication Sonar was flagging (two private static helpers — `EscapeMermaidText` + the TruncateText forwarder — appearing in both `QueryBreakdownGenerator` and `SqlStatementGenerator` with the same shape). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Expressions/ExpressionGenerator.cs | 3 +-- .../SqlServer/QueryBreakdownGenerator.cs | 3 +-- .../SqlServer/SqlStatementGenerator.cs | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Strata.SqlTools.Markdown/Expressions/ExpressionGenerator.cs b/src/Strata.SqlTools.Markdown/Expressions/ExpressionGenerator.cs index 67f4de5..fbd7821 100644 --- a/src/Strata.SqlTools.Markdown/Expressions/ExpressionGenerator.cs +++ b/src/Strata.SqlTools.Markdown/Expressions/ExpressionGenerator.cs @@ -10,6 +10,7 @@ using Strata.SqlTools.SqlBreakdown.Expressions.Functions.Aggregate; using Strata.SqlTools.SqlBreakdown.Expressions.Functions.Conditional; using Strata.SqlTools.SqlBreakdown.Expressions.Literals; using Strata.SqlTools.SqlBreakdown.Interfaces.Core; +using static Strata.SqlTools.Markdown.Internal.MarkdownTextHelpers; namespace Strata.SqlTools.Markdown.Expressions; @@ -360,8 +361,6 @@ public class ExpressionGenerator : IVisitor .Replace("]", "]"); } - private static string TruncateText(string text, int maxLength) - => Internal.MarkdownTextHelpers.TruncateText(text, maxLength); #region IVisitor Implementation diff --git a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs index dcb44a6..2a484b0 100644 --- a/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs +++ b/src/Strata.SqlTools.Markdown/SqlServer/QueryBreakdownGenerator.cs @@ -1,6 +1,7 @@ using System.Text; using Strata.SqlTools.Breakdowns.SqlServer; using Strata.SqlTools.SqlBreakdown.Interfaces; +using static Strata.SqlTools.Markdown.Internal.MarkdownTextHelpers; namespace Strata.SqlTools.Markdown.SqlServer; @@ -191,7 +192,5 @@ public static class QueryBreakdownGenerator .Replace(">", ">"); } - private static string TruncateText(string text, int maxLength) - => Internal.MarkdownTextHelpers.TruncateText(text, maxLength); } diff --git a/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs b/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs index f3dc210..8cce65b 100644 --- a/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs +++ b/src/Strata.SqlTools.Markdown/SqlServer/SqlStatementGenerator.cs @@ -1,5 +1,6 @@ using System.Text; using Strata.SqlTools.SqlBreakdown.Interfaces; +using static Strata.SqlTools.Markdown.Internal.MarkdownTextHelpers; namespace Strata.SqlTools.Markdown.SqlServer; @@ -112,9 +113,6 @@ public static class SqlStatementGenerator .Replace("\r", ""); } - private static string TruncateText(string text, int maxLength) - => Internal.MarkdownTextHelpers.TruncateText(text, maxLength); - /// /// Cleans table name for use in Mermaid diagrams. ///