Browse Source

fixed NullReferenceException in Profiler/FindReferences, when trying to search for unresolved/non-user code

pull/2/head
Siegfried Pammer 15 years ago
parent
commit
282bda5cea
  1. 31
      src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs

31
src/AddIns/Analysis/Profiler/Frontend/AddIn/Src/Commands/FindReferences.cs

@ -19,18 +19,25 @@ namespace ICSharpCode.Profiler.AddIn.Commands
{ {
var selectedItem = GetSelectedItems().FirstOrDefault(); var selectedItem = GetSelectedItems().FirstOrDefault();
if (selectedItem != null) { if (selectedItem == null)
IClass c = GetClassFromName(selectedItem.FullyQualifiedClassName); return;
if (c != null) {
IMember member = GetMemberFromName(c, selectedItem.MethodName, selectedItem.Parameters); IClass c = GetClassFromName(selectedItem.FullyQualifiedClassName);
string memberName = member.DeclaringType.Name + "." + member.Name;
using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}")) if (c == null)
{ return;
FindReferencesAndRenameHelper.ShowAsSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}",
new string[,] {{ "Name", memberName }}), IMember member = GetMemberFromName(c, selectedItem.MethodName, selectedItem.Parameters);
RefactoringService.FindReferences(member, monitor));
} if (member == null)
} return;
string memberName = member.DeclaringType.Name + "." + member.Name;
using (AsynchronousWaitDialog monitor = AsynchronousWaitDialog.ShowWaitDialog("${res:SharpDevelop.Refactoring.FindReferences}"))
{
FindReferencesAndRenameHelper.ShowAsSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.ReferencesTo}",
new string[,] {{ "Name", memberName }}),
RefactoringService.FindReferences(member, monitor));
} }
} }
} }

Loading…
Cancel
Save