Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2012-07-11 10:40:58 +0400
committerMike Krüger <mkrueger@xamarin.com>2012-07-11 10:40:58 +0400
commit91bf960f36ff1b71d3b9051d410c5f71fe1eb7cb (patch)
tree1d589ecd39477aaf2e9db446d30f21d5c84c1886 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad
parentd1e30d0c484f399b1d36d774a0e51a2bdc1d7473 (diff)
Fixed 'Bug 6042 - The class view shows types from references'.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ClassNodeBuilder.cs12
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ProjectNodeBuilder.cs4
2 files changed, 9 insertions, 7 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ClassNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ClassNodeBuilder.cs
index c4dc043e3d..5cdadbb9a5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ClassNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ClassNodeBuilder.cs
@@ -36,6 +36,7 @@ using MonoDevelop.Ide.Gui;
using MonoDevelop.Ide.Gui.Components;
using ICSharpCode.NRefactory.TypeSystem;
using MonoDevelop.Ide.TypeSystem;
+using System.Linq;
namespace MonoDevelop.Ide.Gui.Pads.ClassPad
{
@@ -94,23 +95,24 @@ namespace MonoDevelop.Ide.Gui.Pads.ClassPad
if (classData.Class.Kind == TypeKind.Delegate)
return;
- foreach (var innerClass in classData.Class.NestedTypes)
+ foreach (var innerClass in classData.Class.NestedTypes.Where (m => !m.IsSynthetic))
if (innerClass.IsPublic || (innerClass.IsProtected && publicProtectedOnly) || !publicOnly)
builder.AddChild (new ClassData (classData.Project, innerClass));
- foreach (var method in classData.Class.Methods)
+ foreach (var method in classData.Class.Methods.Where (m => !m.IsSynthetic)) {
if (method.IsPublic || (method.IsProtected && publicProtectedOnly) || !publicOnly)
builder.AddChild (method);
+ }
- foreach (var property in classData.Class.Properties)
+ foreach (var property in classData.Class.Properties.Where (m => !m.IsSynthetic))
if (property.IsPublic || (property.IsProtected && publicProtectedOnly) || !publicOnly)
builder.AddChild (property);
- foreach (var field in classData.Class.Fields)
+ foreach (var field in classData.Class.Fields.Where (m => !m.IsSynthetic))
if (field.IsPublic || (field.IsProtected && publicProtectedOnly) || !publicOnly)
builder.AddChild (field);
- foreach (var e in classData.Class.Events)
+ foreach (var e in classData.Class.Events.Where (m => !m.IsSynthetic))
if (e.IsPublic || (e.IsProtected && publicProtectedOnly) || !publicOnly)
builder.AddChild (e);
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ProjectNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ProjectNodeBuilder.cs
index a10482ab06..0d4b5af058 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ProjectNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ClassPad/ProjectNodeBuilder.cs
@@ -109,7 +109,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ClassPad
var dom = TypeSystemService.GetCompilation (project);
bool nestedNamespaces = builder.Options ["NestedNamespaces"];
HashSet<string> addedNames = new HashSet<string> ();
- foreach (var ns in dom.RootNamespace.ChildNamespaces) {
+ foreach (var ns in dom.MainAssembly.RootNamespace.ChildNamespaces) {
if (nestedNamespaces) {
if (!addedNames.Contains (ns.Name)) {
builder.AddChild (new ProjectNamespaceData (project, ns));
@@ -119,7 +119,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ClassPad
FillNamespaces (builder, project, ns);
}
}
- foreach (var type in dom.RootNamespace.Types) {
+ foreach (var type in dom.MainAssembly.RootNamespace.Types) {
if (!publicOnly || type.IsPublic)
builder.AddChild (new ClassData (project, type));
}