From ad54e9f9566c88665b0888811ce8f89a7a394716 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 18 Aug 2013 12:12:23 +0200 Subject: [PATCH] expose IsValidXmlName-API in AXmlParser (useful for XAML rename) --- .../ICSharpCode.NRefactory.Xml/AXmlParser.cs | 10 ++++++++++ .../NRefactory/ICSharpCode.NRefactory.Xml/TagReader.cs | 2 +- .../Base/Project/Src/Gui/Pads/DefinitionViewPad.cs | 5 ++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlParser.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlParser.cs index e8451d5f95..50c3f9f4ee 100644 --- a/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlParser.cs +++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlParser.cs @@ -133,5 +133,15 @@ namespace ICSharpCode.NRefactory.Xml var heuristic = new TagMatchingHeuristics(newTextSource); return new AXmlDocument(null, 0, heuristic.CreateDocument(internalObjects, cancellationToken)); } + + /// + /// Checks whether the given name is a valid XML name. + /// + public static bool IsValidXmlName(string name) + { + if (string.IsNullOrWhiteSpace(name)) + throw new ArgumentException("The XML name cannot be null, empty or consist solely of white space", "name"); + return TagReader.IsValidName(name); + } } } diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/TagReader.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/TagReader.cs index e5cab93435..3483291342 100644 --- a/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/TagReader.cs +++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/TagReader.cs @@ -822,7 +822,7 @@ namespace ICSharpCode.NRefactory.Xml #endregion #region Helper functions - static bool IsValidName(string name) + internal static bool IsValidName(string name) { try { System.Xml.XmlConvert.VerifyName(name); diff --git a/src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs b/src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs index 66bc814c3a..fe5ded64f1 100755 --- a/src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs @@ -123,9 +123,8 @@ namespace ICSharpCode.SharpDevelop.Gui { if (pos.Equals(oldPosition)) return; oldPosition = pos; - var fileName = new FileName(pos.FileName); - if (fileName != currentFileName) - LoadFile(fileName); + if (pos.FileName != currentFileName) + LoadFile(new FileName(pos.FileName)); ctl.TextArea.Caret.Location = pos.Begin; Rect r = ctl.TextArea.Caret.CalculateCaretRectangle(); if (!r.IsEmpty) {