Мне интересно, можно ли получить доступ к C# AST (абстрактное дерево синтаксиса), используемому компилятором C# во время сборки напрямую? Я знаю, что могу получить AST для данного проекта, используя API Roslyn, но для этого потребуется перечитывать и переписывать исходный код, насколько я понимаю.Есть ли способ извлечь выгоду из AST-дистрибутора Roslyn C#?
Идея состоит в том, чтобы улучшить пользовательскую задачу MSBuild (в настоящее время использующую Visual Studio 2017, ядро dotnet), используемую для анализа некоторых свойств полученной программы.
Чтобы ускорить процесс, было бы здорово как-то подключиться к компилятору или хотя бы получить доступ к кэшированным данным.
Не требуется модификация AST, поэтому это касается только доступа только для чтения.
Вы должны написать анализатор. – SLaks
Не могли бы вы уточнить, пожалуйста? Будет ли эта польза от любых кешей? – Fionn
Анализаторы выполняются как часть процесса компиляции, используя ту же AST & семантическую модель. – SLaks