Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 7
0
 public MemberTarget(CSharpMemberIdentifier memberIdentifier)
 {
     _memberIdentifier = memberIdentifier;
 }
Ejemplo n.º 8
0
 public static Tuple <CSharpMember, Compilation> ResolveMemberIdentifier(IEnumerable <Compilation> projectList, CSharpMemberIdentifier memberId)
 {
     return(Resolve(projectList, project => project.ResolveMemberIdentifier(memberId), memberId.AssemblyIdentifier));
 }
Ejemplo n.º 9
0
 public MemberTarget(CSharpMemberIdentifier memberIdentifier)
 {
     _memberIdentifier = memberIdentifier;
 }