我已经读过Roslyn不提供本机CFG实现,也不提供公共的数据流间或内部数据流分析。然而,这是基于Roslyn RC2的来源,可能真的很老。今天仍然如此吗?
我正在尝试进行污点分析,即我应该能够在传递函数或分配给其他变量之后跟踪变量。
任何帮助将不胜感激!谢谢!
答案 0 :(得分:3)
Roslyn从1.2开始只有有限的内置数据流分析,以便了解单个方法中一组跨度中使用的变量。这用于“提取方法”重构,以查看需要移动的变量。否则,如果你想做更大的事情,你仍然可以独立。
答案 1 :(得分:1)
与此同时,似乎有一个公共API可用于获取控制流程图(到目前为止处于预览状态)。 我找不到其他文档。
源代码:http://source.roslyn.io/#Microsoft.CodeAnalysis/Operations/ControlFlowGraph.cs
在单元测试中的用法示例:http://source.roslyn.io/#Roslyn.Test.Utilities/Compilation/ControlFlowGraphVerifier.cs