void FindOverrides(object sender, EventArgs e) { MenuCommand item = (MenuCommand)sender; IMember member = (IMember)item.Tag; List <IClass> derivedClasses = RefactoringService.FindDerivedClasses(member.DeclaringType, ParserService.AllProjectContents, false); List <SearchResult> results = new List <SearchResult>(); foreach (IClass derivedClass in derivedClasses) { if (derivedClass.CompilationUnit == null) { continue; } if (derivedClass.CompilationUnit.FileName == null) { continue; } IMember m = RefactoringService.FindSimilarMember(derivedClass, member); if (m != null && !m.Region.IsEmpty) { SearchResult res = new SimpleSearchResult(m.FullyQualifiedName, new Point(m.Region.BeginColumn - 1, m.Region.BeginLine - 1)); res.ProvidedDocumentInformation = FindReferencesAndRenameHelper.GetDocumentInformation(derivedClass.CompilationUnit.FileName); results.Add(res); } } SearchInFilesManager.ShowSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.OverridesOf}", new string[, ] { { "Name", member.Name } }), results); }
void FindOverrides(object sender, EventArgs e) { MenuCommand item = (MenuCommand)sender; IMember member = (IMember)item.Tag; IEnumerable <IClass> derivedClasses = RefactoringService.FindDerivedClasses(member.DeclaringType, ParserService.AllProjectContents, false); List <SearchResultMatch> results = new List <SearchResultMatch>(); IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList; foreach (IClass derivedClass in derivedClasses) { if (derivedClass.CompilationUnit == null) { continue; } if (derivedClass.CompilationUnit.FileName == null) { continue; } IMember m = MemberLookupHelper.FindSimilarMember(derivedClass, member); if (m != null && !m.Region.IsEmpty) { string matchText = ambience.Convert(m); SearchResultMatch res = new SimpleSearchResultMatch(matchText, new TextLocation(m.Region.BeginColumn - 1, m.Region.BeginLine - 1)); res.ProvidedDocumentInformation = FindReferencesAndRenameHelper.GetDocumentInformation(m.DeclaringType.CompilationUnit.FileName); results.Add(res); } } SearchResultPanel.Instance.ShowSearchResults(new SearchResult( StringParser.Parse("${res:SharpDevelop.Refactoring.OverridesOf}", new string[, ] { { "Name", member.Name } }), results )); }
protected override void Initialize() { base.Initialize(); Nodes.Clear(); List <IProjectContent> contentList = new List <IProjectContent>(); if (ProjectService.OpenSolution != null) { foreach (IProject project in ProjectService.OpenSolution.Projects) { IProjectContent projectContent = ParserService.GetProjectContent(project); if (projectContent != null) { contentList.Add(projectContent); } } } foreach (IClass derivedClass in RefactoringService.FindDerivedClasses(c, contentList, true)) { new ClassNode(project, derivedClass).AddTo(this); } if (Nodes.Count == 0) { SetIcon(ClosedIcon); OpenedIcon = ClosedIcon = null; } }
void FindDerivedClasses(object sender, EventArgs e) { MenuCommand item = (MenuCommand)sender; IClass c = (IClass)item.Tag; List <IClass> derivedClasses = RefactoringService.FindDerivedClasses(c, ParserService.AllProjectContents, false); List <SearchResult> results = new List <SearchResult>(); foreach (IClass derivedClass in derivedClasses) { if (derivedClass.CompilationUnit == null) { continue; } if (derivedClass.CompilationUnit.FileName == null) { continue; } SearchResult res = new SimpleSearchResult(derivedClass.FullyQualifiedName, new Point(derivedClass.Region.BeginColumn - 1, derivedClass.Region.BeginLine - 1)); res.ProvidedDocumentInformation = FindReferencesAndRenameHelper.GetDocumentInformation(derivedClass.CompilationUnit.FileName); results.Add(res); } SearchInFilesManager.ShowSearchResults(StringParser.Parse("${res:SharpDevelop.Refactoring.ClassesDerivingFrom}", new string[, ] { { "Name", c.Name } }), results); }
void FindDerivedClasses(object sender, EventArgs e) { MenuCommand item = (MenuCommand)sender; IClass c = (IClass)item.Tag; IEnumerable <IClass> derivedClasses = RefactoringService.FindDerivedClasses(c, ParserService.AllProjectContents, false); List <SearchResultMatch> results = new List <SearchResultMatch>(); foreach (IClass derivedClass in derivedClasses) { if (derivedClass.CompilationUnit == null) { continue; } if (derivedClass.CompilationUnit.FileName == null) { continue; } SearchResultMatch res = new SimpleSearchResultMatch(ClassNode.GetText(derivedClass), new TextLocation(derivedClass.Region.BeginColumn - 1, derivedClass.Region.BeginLine - 1)); res.ProvidedDocumentInformation = FindReferencesAndRenameHelper.GetDocumentInformation(derivedClass.CompilationUnit.FileName); results.Add(res); } SearchResultPanel.Instance.ShowSearchResults(new SearchResult( StringParser.Parse("${res:SharpDevelop.Refactoring.ClassesDerivingFrom}", new string[, ] { { "Name", c.Name } }), results )); }