Esempio n. 1
0
        public int GetHashCode(ISymbolInfo info)
        {
            IPathDeclaredElement pathDeclaredElement = GetPathDeclaredElement(info);
            string text = (pathDeclaredElement != null)
                ? pathDeclaredElement.Path.NameWithoutExtension
                : info.ShortName;
            IProject project = GetProject(info);

            return(text.ToUpperInvariant().GetHashCode() * 397 ^ ((project != null) ? project.GetHashCode() : 0));
        }
Esempio n. 2
0
        public bool Equals(ISymbolInfo info1, ISymbolInfo info2)
        {
            if (StringComparer.OrdinalIgnoreCase.Equals(info1.ShortName, info2.ShortName) &&
                Equals(GetProject(info1), GetProject(info2)))
            {
                return(true);
            }
            IPathDeclaredElement pathDeclaredElement  = GetPathDeclaredElement(info1);
            IPathDeclaredElement pathDeclaredElement2 = GetPathDeclaredElement(info2);

            return(pathDeclaredElement != null && pathDeclaredElement2 != null &&
                   pathDeclaredElement.Path == pathDeclaredElement2.Path);
        }
Esempio n. 3
0
        private static IProject GetProject([NotNull] ISymbolInfo info)
        {
            IPathDeclaredElement pathDeclaredElement = GetPathDeclaredElement(info);

            if (pathDeclaredElement == null)
            {
                return(null);
            }
            IProjectItem projectItem = pathDeclaredElement.GetProjectItem();

            if (projectItem == null)
            {
                return(null);
            }
            return(projectItem.GetProject());
        }