public static void NavigateToMember(CSharpMemberIdentifier memberIdentifier) { bool result = false; try { CSharpMember currentMember = ResolveMember(memberIdentifier); if (currentMember == null) { return; } var sourceLocations = currentMember.SourceLocations; if (sourceLocations == null || sourceLocations.Count == 0) { return; } var location = sourceLocations[0]; if (location.FileName == null || !location.Position.IsValid) { return; } CSRPOSDATA position = new CSRPOSDATA() { LineIndex = location.Position.Line, ColumnIndex = location.Position.Character }; ILangService languageService; CSharpInheritanceAnalyzer.LangService_GetInstance(out languageService); if (languageService == null) { return; } IProject project = null; languageService.OpenSourceFile(project, location.FileName.Value, position); } catch (ApplicationException) { ////_callHierarchy.LanguageService.DisplayErrorMessage(exception.Message); return; } catch (InvalidOperationException) { ////this._callHierarchy.LanguageService.DisplayErrorMessage(exception2.Message); return; } if (!result) { ////NativeMessageId.Create(this._callHierarchy.LanguageService, jrc_StringResource_identifiers.IDS_HIDDEN_DEFINITION, new object[0]).DisplayError(this._callHierarchy.LanguageService); } }
public ISet<CSharpMemberIdentifier> GetOverriddenBaseMembers(CSharpMemberIdentifier memberId) { CSharpMember member = CSharpInheritanceAnalyzer.ResolveMemberIdentifier(AllProjects, memberId).Item1; ISet<CSharpMemberIdentifier> resultList = CreateHashSet<CSharpMemberIdentifier>(new CSharpMemberIdentifierEqualityComparer()); if (!IsSupportedMemberType(member)) return resultList; AddOverridenBaseMembers(member, resultList); return resultList; }
public ISet<CSharpMemberIdentifier> GetImplementorsForInterfaceMember(CSharpMemberIdentifier memberId) { CSharpMember member = CSharpInheritanceAnalyzer.ResolveMemberIdentifier(AllProjects, memberId).Item1; ISet<CSharpMemberIdentifier> resultList = CreateHashSet<CSharpMemberIdentifier>(new CSharpMemberIdentifierEqualityComparer()); if (!IsSupportedMemberType(member)) return resultList; AddImplementorsForInterfaceMember(member, resultList); return resultList; }
private static CSharpMember ResolveMember(CSharpMemberIdentifier memberIdentifier) { IDECompilerHost host = new IDECompilerHost(); var currentCompilations = host.Compilers.Select(i => i.GetCompilation()).ToList(); var resolved = ResolveMemberIdentifier(currentCompilations, memberIdentifier); if (resolved != null) { return(resolved.Item1); } return(null); }
public ISet <CSharpMemberIdentifier> GetOverridersFromDerivedTypes(CSharpMemberIdentifier memberId) { CSharpMember member = CSharpInheritanceAnalyzer.ResolveMemberIdentifier(AllProjects, memberId).Item1; ISet <CSharpMemberIdentifier> resultList = CreateHashSet <CSharpMemberIdentifier>(new CSharpMemberIdentifierEqualityComparer()); if (!IsSupportedMemberType(member)) { return(resultList); } AddVirtualOverridersFromDerivedTypes(member, resultList); return(resultList); }
public ISet <CSharpMemberIdentifier> GetImplementorsForInterfaceMember(CSharpMemberIdentifier memberId) { CSharpMember member = CSharpInheritanceAnalyzer.ResolveMemberIdentifier(AllProjects, memberId).Item1; ISet <CSharpMemberIdentifier> resultList = CreateHashSet <CSharpMemberIdentifier>(new CSharpMemberIdentifierEqualityComparer()); if (!IsSupportedMemberType(member)) { return(resultList); } AddImplementorsForInterfaceMember(member, resultList); return(resultList); }
public MemberTarget(CSharpMemberIdentifier memberIdentifier) { _memberIdentifier = memberIdentifier; }
public static Tuple <CSharpMember, Compilation> ResolveMemberIdentifier(IEnumerable <Compilation> projectList, CSharpMemberIdentifier memberId) { return(Resolve(projectList, project => project.ResolveMemberIdentifier(memberId), memberId.AssemblyIdentifier)); }