private void CreateOrUpdateData([NotNull] IT4File t4File) { IPsiSourceFile sourceFile = t4File.GetSourceFile(); if (sourceFile == null || !sourceFile.LanguageType.Is<T4ProjectFileType>()) return; var newData = new T4FileData(t4File, _directiveInfoManager); T4FileData existingData; lock (_fileDataBySourceFile) { _fileDataBySourceFile.TryGetValue(sourceFile, out existingData); _fileDataBySourceFile[sourceFile] = newData; } T4FileDataDiff diff = newData.DiffWith(existingData); if (diff != null) _fileDataChanged.Fire(Pair.Of(sourceFile, diff)); }
private void CreateOrUpdateData([NotNull] IT4File t4File) { IPsiSourceFile sourceFile = t4File.GetSourceFile(); if (sourceFile == null || !sourceFile.LanguageType.Is <T4ProjectFileType>()) { return; } var newData = new T4FileData(t4File, _directiveInfoManager); T4FileData existingData; lock (_fileDataBySourceFile) { _fileDataBySourceFile.TryGetValue(sourceFile, out existingData); _fileDataBySourceFile[sourceFile] = newData; } T4FileDataDiff diff = newData.DiffWith(existingData); if (diff != null) { _fileDataChanged.Fire(Pair.Of(sourceFile, diff)); } }