diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj index 60eb588371..e4593dfc48 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/ICSharpCode.AvalonEdit.csproj @@ -366,7 +366,6 @@ AXmlParser.cs - diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/AXmlContainer.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/AXmlContainer.cs index 641c8472ff..761acbc091 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/AXmlContainer.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/AXmlContainer.cs @@ -60,7 +60,7 @@ namespace ICSharpCode.AvalonEdit.Xml /// public override IEnumerable GetSelfAndAllChildren() { - return (new AXmlObject[] { this }).Flatten( + return NRefactory.Utils.TreeTraversal.PreOrder(this, delegate(AXmlObject i) { AXmlContainer container = i as AXmlContainer; if (container != null) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/ExtensionMethods.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/ExtensionMethods.cs deleted file mode 100644 index bc1de81bfc..0000000000 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Xml/ExtensionMethods.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Collections.Specialized; -using System.Diagnostics; -using System.Linq; - -using ICSharpCode.AvalonEdit.Document; - -namespace ICSharpCode.AvalonEdit.Xml -{ - static class ExtensionMethods - { - // Copied from ICSharpCode.SharpDevelop.Dom.ExtensionMethods - /// - /// Converts a recursive data structure into a flat list. - /// - /// The root elements of the recursive data structure. - /// The function that gets the children of an element. - /// Iterator that enumerates the tree structure in preorder. - public static IEnumerable Flatten(this IEnumerable input, Func> recursion) - { - Stack> stack = new Stack>(); - try { - stack.Push(input.GetEnumerator()); - while (stack.Count > 0) { - while (stack.Peek().MoveNext()) { - T element = stack.Peek().Current; - yield return element; - IEnumerable children = recursion(element); - if (children != null) { - stack.Push(children.GetEnumerator()); - } - } - stack.Pop().Dispose(); - } - } finally { - while (stack.Count > 0) { - stack.Pop().Dispose(); - } - } - } - } -}