diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj
index ab9bf4385..4da07254f 100644
--- a/ILSpy/ILSpy.csproj
+++ b/ILSpy/ILSpy.csproj
@@ -196,6 +196,7 @@
+
diff --git a/ILSpy/TreeNodes/Analyzer/AnalyzeContextMenuEntry.cs b/ILSpy/TreeNodes/Analyzer/AnalyzeContextMenuEntry.cs
index e36dfd948..72c0644e2 100644
--- a/ILSpy/TreeNodes/Analyzer/AnalyzeContextMenuEntry.cs
+++ b/ILSpy/TreeNodes/Analyzer/AnalyzeContextMenuEntry.cs
@@ -29,6 +29,8 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
{
public bool IsVisible(TextViewContext context)
{
+ if (context.TreeView is AnalyzerTreeView && context.SelectedTreeNodes != null && context.SelectedTreeNodes.All(n => n.Parent.IsRoot))
+ return false;
if (context.SelectedTreeNodes == null)
return context.Reference != null && context.Reference.Reference is MemberReference;
return context.SelectedTreeNodes.All(n => n is IMemberTreeNode);
diff --git a/ILSpy/TreeNodes/Analyzer/RemoveAnalyzeContextMenuEntry.cs b/ILSpy/TreeNodes/Analyzer/RemoveAnalyzeContextMenuEntry.cs
new file mode 100644
index 000000000..55d4ff412
--- /dev/null
+++ b/ILSpy/TreeNodes/Analyzer/RemoveAnalyzeContextMenuEntry.cs
@@ -0,0 +1,47 @@
+// Copyright (c) 2013 AlphaSierraPapa for the SharpDevelop Team
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy of this
+// software and associated documentation files (the "Software"), to deal in the Software
+// without restriction, including without limitation the rights to use, copy, modify, merge,
+// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
+// to whom the Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in all copies or
+// substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+
+using System.Linq;
+
+namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
+{
+ [ExportContextMenuEntryAttribute(Header = "Remove", Icon = "images/Delete.png")]
+ internal sealed class RemoveAnalyzeContextMenuEntry : IContextMenuEntry
+ {
+ public bool IsVisible(TextViewContext context)
+ {
+ if (context.TreeView is AnalyzerTreeView && context.SelectedTreeNodes != null && context.SelectedTreeNodes.All(n => n.Parent.IsRoot))
+ return true;
+ return false;
+ }
+
+ public bool IsEnabled(TextViewContext context)
+ {
+ return true;
+ }
+
+ public void Execute(TextViewContext context)
+ {
+ if (context.SelectedTreeNodes != null) {
+ foreach (var node in context.SelectedTreeNodes) {
+ node.Parent.Children.Remove(node);
+ }
+ }
+ }
+ }
+}