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 @@ -19,18 +19,25 @@ namespace ICSharpCode.Profiler.AddIn.Commands
{
var selectedItem = GetSelectedItems().FirstOrDefault();
if (selectedItem != null) {
IClass c = GetClassFromName(selectedItem.FullyQualifiedClassName);
if (c != null) {
IMember member = GetMemberFromName(c, selectedItem.MethodName, selectedItem.Parameters);
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));
}
}
if (selectedItem == null)
return;
IClass c = GetClassFromName(selectedItem.FullyQualifiedClassName);
if (c == null)
return;
IMember member = GetMemberFromName(c, selectedItem.MethodName, selectedItem.Parameters);
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