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>2013-08-26 08:46:20 +0400
committerMike Krüger <mkrueger@xamarin.com>2013-08-26 08:46:20 +0400
commit7f90d34f89edde2daf95e67887501631f95a593e (patch)
tree0a1ec6230d91ba05bf9b9a850a450999cc17791d /main/src/addins
parentbe7b195333ec180a86cac46866bf416f94fa68ea (diff)
[Refactoring] Fixed bug in extension method namespace resolving.
.Any() suggested a wrong namespace.
Diffstat (limited to 'main/src/addins')
-rw-r--r--main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ResolveCommandHandler.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ResolveCommandHandler.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ResolveCommandHandler.cs
index 82f7404953..e1141fa770 100644
--- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ResolveCommandHandler.cs
+++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ResolveCommandHandler.cs
@@ -348,8 +348,8 @@ namespace MonoDevelop.Refactoring
foreach (var u in scope.Usings) {
foreach (var typeDefinition in u.Types) {
if (typeDefinition.Name == aResult.Type.Name &&
- typeDefinition.TypeParameterCount == tc &&
- lookup.IsAccessible (typeDefinition, false)) {
+ typeDefinition.TypeParameterCount == tc &&
+ lookup.IsAccessible (typeDefinition, false)) {
yield return new PossibleNamespace (typeDefinition.Namespace, true, requiredReference);
}
}
@@ -381,7 +381,11 @@ namespace MonoDevelop.Refactoring
var umResult = (UnknownMemberResolveResult)resolveResult;
string possibleAttributeName = isInsideAttributeType ? umResult.MemberName + "Attribute" : umResult.MemberName;
foreach (var typeDefinition in allTypes.Where (t => t.HasExtensionMethods)) {
+ if (!lookup.IsAccessible (typeDefinition, false))
+ continue;
foreach (var method in typeDefinition.Methods.Where (m => m.IsExtensionMethod && (m.Name == possibleAttributeName || m.Name == umResult.MemberName))) {
+ if (!lookup.IsAccessible (method, false))
+ continue;
IType[] inferredTypes;
if (CSharpResolver.IsEligibleExtensionMethod (
compilation.Import (umResult.TargetType),