Browse Source

Fixed find references on private members in partial classes.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@475 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
0b8a094265
  1. 2
      src/Main/Base/Project/Src/Dom/MemberLookupHelper.cs
  2. 25
      src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs
  3. 2
      src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs

2
src/Main/Base/Project/Src/Dom/MemberLookupHelper.cs

@ -514,6 +514,8 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -514,6 +514,8 @@ namespace ICSharpCode.SharpDevelop.Dom
// ECMA-334, § 13.1 Implicit conversions
// Identity conversion:
if (from == to) return true;
if (from == null) return false;
if (from.Equals(to)) {
return true;
}

25
src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs

@ -254,17 +254,10 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -254,17 +254,10 @@ namespace ICSharpCode.SharpDevelop.Refactoring
if (member.IsPrivate) {
List<string> fileNames = GetFileNames(ownerClass);
foreach (string fileName in fileNames) {
foreach (IProject p in ProjectService.OpenSolution.Projects) {
foreach (ProjectItem item in p.Items) {
if (item.ItemType == ItemType.Compile) {
if (FileUtility.IsEqualFileName(fileName, item.FileName)) {
resultList.Add(item);
return resultList;
}
}
}
}
ProjectItem item = FindItem(fileName);
if (item != null) resultList.Add(item);
}
return resultList;
}
if (member.IsProtected) {
@ -275,6 +268,18 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -275,6 +268,18 @@ namespace ICSharpCode.SharpDevelop.Refactoring
return resultList;
}
static ProjectItem FindItem(string fileName)
{
foreach (IProject p in ProjectService.OpenSolution.Projects) {
foreach (ProjectItem item in p.Items) {
if (FileUtility.IsEqualFileName(fileName, item.FileName)) {
return item;
}
}
}
return null;
}
static void GetPossibleFilesInternal(List<ProjectItem> resultList, IProjectContent ownerProjectContent, bool internalOnly)
{
foreach (IProject p in ProjectService.OpenSolution.Projects) {

2
src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs

@ -182,7 +182,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands @@ -182,7 +182,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
if (derivedClass.CompilationUnit == null) continue;
if (derivedClass.CompilationUnit.FileName == null) continue;
IMember m = RefactoringService.FindSimilarMember(derivedClass, member);
if (!m.Region.IsEmpty) {
if (m != null && !m.Region.IsEmpty) {
SearchResult res = new SimpleSearchResult(m.FullyQualifiedName, new Point(m.Region.BeginColumn - 1, m.Region.BeginLine - 1));
res.ProvidedDocumentInformation = GetDocumentInformation(derivedClass.CompilationUnit.FileName);
results.Add(res);

Loading…
Cancel
Save