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();
- }
- }
- }
- }
-}