Roslyn从InvocationExpression中“执行”

时间:2019-02-01 04:40:02

标签: c# roslyn roslyn-code-analysis

我正在使用一个独立工具,该工具从一个程序集中查找字符串类型的特定节点(例如:StringLiteralExpression)。这在同一程序集中的字符串上效果很好,但是我在程序集之间遍历时遇到问题。

所以基本上应该做到以下几点:

  • 在程序集A中获取字符串节点
  • 在解决方案中查找程序集A可以到达的所有字符串节点

我正在考虑扩展并查看程序集A中的所有InvocationExpressions,并递归地遍历方法语法树以查找其他字符串。但是我无法按预期工作。

我尝试使用SymbolFinder.FindImplementationsAsync,但是它总是返回null或通用第三方库符号。

如何从其他程序集中检索定义?

我已经尝试将model.GetSymbolInfo(node).Symbolmodel.GetDeclaredSymbol(currentNode)都传递给SymbolFinder,但是它不起作用。

感谢您的帮助

0 个答案:

没有答案
相关问题