/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/RoslynAnalyzers/Utilities/Compiler/CodeMetrics/SemanticModelProvider.cs
25 строк
852 B
Joey Robichaud
Move Roslyn owned analyzers to their own folder
07 фев 2025, 11:58
07 фев 2025, 11:58
9292ef7
Код
Авторство
О чём код?
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. #if HAS_IOPERATION using System.Collections.Concurrent; namespace Microsoft.CodeAnalysis.CodeMetrics { internal sealed class SemanticModelProvider { private readonly ConcurrentDictionary<SyntaxTree, SemanticModel> _semanticModelMap; public SemanticModelProvider(Compilation compilation) { Compilation = compilation; _semanticModelMap = new ConcurrentDictionary<SyntaxTree, SemanticModel>(); } public Compilation Compilation { get; } public SemanticModel GetSemanticModel(SyntaxNode node) => _semanticModelMap.GetOrAdd(node.SyntaxTree, tree => Compilation.GetSemanticModel(node.SyntaxTree)); } } #endif