From 34a2c9e7d76e06e34db670525980fcf5db391ca2 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 13 Apr 2025 12:44:21 +0200 Subject: [PATCH] #3457: Fix incorrect handling of assemblyPath in MermaidDiagrammer/Generator.Run.cs --- .../MermaidDiagrammer/Generator.Run.cs | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/ICSharpCode.ILSpyX/MermaidDiagrammer/Generator.Run.cs b/ICSharpCode.ILSpyX/MermaidDiagrammer/Generator.Run.cs index 6ea6dfd6e..c7e2c312a 100644 --- a/ICSharpCode.ILSpyX/MermaidDiagrammer/Generator.Run.cs +++ b/ICSharpCode.ILSpyX/MermaidDiagrammer/Generator.Run.cs @@ -31,7 +31,7 @@ namespace ICSharpCode.ILSpyX.MermaidDiagrammer { public void Run() { - var assemblyPath = GetPath(Assembly); + var assemblyPath = Assembly; XmlDocumentationFormatter? xmlDocs = CreateXmlDocsFormatter(assemblyPath); ClassDiagrammer model = BuildModel(assemblyPath, xmlDocs); GenerateOutput(assemblyPath, model); @@ -39,7 +39,7 @@ namespace ICSharpCode.ILSpyX.MermaidDiagrammer protected virtual XmlDocumentationFormatter? CreateXmlDocsFormatter(string assemblyPath) { - var xmlDocsPath = XmlDocs == null ? Path.ChangeExtension(assemblyPath, ".xml") : GetPath(XmlDocs); + var xmlDocsPath = XmlDocs == null ? Path.ChangeExtension(assemblyPath, ".xml") : XmlDocs; XmlDocumentationFormatter? xmlDocs = null; if (File.Exists(xmlDocsPath)) @@ -132,15 +132,5 @@ namespace ICSharpCode.ILSpyX.MermaidDiagrammer File.WriteAllText(Path.Combine(outputFolder, "excluded types.txt"), excludedTypes); } } - - private protected virtual string GetPath(string pathOrUri) - { - // convert file:// style argument, see https://stackoverflow.com/a/38245329 - if (!Uri.TryCreate(pathOrUri, UriKind.RelativeOrAbsolute, out Uri? uri)) - throw new ArgumentException("'{0}' is not a valid URI", pathOrUri); - - // support absolute paths as well as file:// URIs and interpret relative path as relative to the current directory - return uri.IsAbsoluteUri ? uri.AbsolutePath : pathOrUri; - } } } \ No newline at end of file