Author: mkrueger
Date: 2007-10-18 07:02:39 -0400 (Thu, 18 Oct 2007)
New Revision: 87744
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/ChangeLog
trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs
Log:
* MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs:
fixed "Bug 325509 - Inaccessible methods displayed in
autocomplete".
Modified: trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/ChangeLog
2007-10-18 11:02:23 UTC (rev 87743)
+++ trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/ChangeLog
2007-10-18 11:02:39 UTC (rev 87744)
@@ -1,3 +1,8 @@
+2007-10-18 Mike Krüger <[EMAIL PROTECTED]>
+
+ * MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs:
fixed
+ "Bug 325509 - Inaccessible methods displayed in autocomplete".
+
2007-10-16 Mike Krüger <[EMAIL PROTECTED]>
* MonoDevelop.Projects.Gui.Completion/CodeCompletionDataProvider.cs:
Fixed
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs
===================================================================
---
trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs
2007-10-18 11:02:23 UTC (rev 87743)
+++
trunk/monodevelop/Core/src/MonoDevelop.Projects.Gui/MonoDevelop.Projects.Gui.Completion/MethodParameterDataProvider.cs
2007-10-18 11:02:39 UTC (rev 87744)
@@ -9,33 +9,55 @@
public abstract class MethodParameterDataProvider:
IParameterDataProvider
{
+ [Flags]
+ public enum Scope
+ {
+ Public,
+ Private,
+ Internal,
+ Protected,
+ All = Public | Private | Internal | Protected
+ }
IMethod[] listMethods;
string methodName;
- public MethodParameterDataProvider (IClass cls, string
methodName)
+ public MethodParameterDataProvider (IClass cls, string
methodName, Scope scope)
{
this.methodName = methodName;
ArrayList methods = new ArrayList ();
foreach (IMethod met in cls.Methods) {
- if (met.Name == methodName)
+ if (met.Name == methodName && ShouldAdd (met,
scope))
methods.Add (met);
}
Init (methods);
}
+ public MethodParameterDataProvider (IClass cls, string
methodName) : this (cls, methodName, Scope.All)
+ {
+ }
- public MethodParameterDataProvider (IClass cls)
+ public MethodParameterDataProvider (IClass cls, Scope scope)
{
// Look for constructors
ArrayList methods = new ArrayList ();
foreach (IMethod met in cls.Methods) {
- if (met.IsConstructor)
+ if (met.IsConstructor && ShouldAdd (met, scope))
methods.Add (met);
}
Init (methods);
}
+ public MethodParameterDataProvider (IClass cls) : this (cls,
Scope.All)
+ {
+ }
+ bool ShouldAdd (IMethod met, Scope scope)
+ {
+ return !((scope & Scope.Internal) != Scope.Internal &&
met.IsInternal ||
+ (scope & Scope.Private) != Scope.Private &&
met.IsPrivate ||
+ (scope & Scope.Protected) !=
Scope.Protected && met.IsProtected);
+ }
+
void Init (ArrayList methods)
{
// Sort the array of methods, so overloads with less
parameters are shown first
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches