Roslyn:从 CFG 中的 BasicBlocks 重构代码
Roslyn: Reconstruct code from BasicBlocks in a CFG
在Roslyn中,一个控制流图有构成程序的BasicBlocks个列表。是否可以从每个块中获取代码语句来重构整个代码?
据我所知,使用 Roslyn 的 in-built 方法是不可能的。
我通过使用字符串匹配构建与这些块对应的块和行号集的字典,获得了类似的结果。对相同的内容进行额外的过滤,以提高包含锁等块的准确性。
结果并非 100% 准确,但在大多数情况下都非常接近。
在Roslyn中,一个控制流图有构成程序的BasicBlocks个列表。是否可以从每个块中获取代码语句来重构整个代码?
据我所知,使用 Roslyn 的 in-built 方法是不可能的。 我通过使用字符串匹配构建与这些块对应的块和行号集的字典,获得了类似的结果。对相同的内容进行额外的过滤,以提高包含锁等块的准确性。 结果并非 100% 准确,但在大多数情况下都非常接近。