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)); }
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); }
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()); }