diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2013-08-26 08:46:20 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2013-08-26 08:46:20 +0400 |
commit | 7f90d34f89edde2daf95e67887501631f95a593e (patch) | |
tree | 0a1ec6230d91ba05bf9b9a850a450999cc17791d /main/src/addins | |
parent | be7b195333ec180a86cac46866bf416f94fa68ea (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.cs | 8 |
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), |