【发布时间】:2019-06-26 22:51:29
【问题描述】:
我正在尝试编写一个 Roslyn 分析器,它需要拦截对函数调用 WaitForExternalEvent 的调用并对该函数的参数执行一些逻辑。我有一个语法树,看起来像
在代码形式中它看起来像
public static class HireEmployee
{
[FunctionName("HireEmployee")]
public static async Task<Application> RunOrchestrator(
[OrchestrationTrigger] DurableOrchestrationContext context,
ILogger log)
{
var applications = context.GetInput<List<Application>>();
var approvals = await context.WaitForExternalEvent<List<Application>>("ApplicationsFiltered");
log.LogInformation($"Approval received. {approvals.Count} applicants approved");
return approvals.OrderByDescending(x => x.Score).First();
}
...
当我为此注册操作时,我会这样做
context.RegisterSyntaxNodeAction(AnalyzeSyntax, SyntaxKind.IdentifierName);
在我的AnalyzeSyntax 方法中设置断点我确实为 IdentifierName 标记设置了断点,但从未为WaitForExternalEvent 标记设置断点。令牌的深度是否有限制?我应该如何寻找这些电话?
【问题讨论】:
标签: c# roslyn roslyn-code-analysis