private AssemblyCacheEntry CreateAssemblyCacheEntry([NotNull] string path) { ExternalAnnotationsMap assemblyAnnotationsMap = AssemblyExternalAnnotationsLoader.ParseFile(path); FileSystemWatcher fileWatcher = CreateAssemblyAnnotationsFileWatcher(path); return(new AssemblyCacheEntry(assemblyAnnotationsMap, fileWatcher)); }
private bool HasAnnotationInSideBySideFile([NotNull] ISymbol symbol, bool appliesToItem) { string path = AssemblyExternalAnnotationsLoader.GetPathForExternalSymbolOrNull(symbol); if (path != null) { AssemblyCacheEntry entry = assemblyCache.GetOrAdd(path, CreateAssemblyCacheEntry); return(entry.Map.Contains(symbol, appliesToItem)); } return(false); }