在Roslyn中,控制流图具有构成程序的BasicBlock列表。是否可以从每个块中获取代码语句来重建整个代码?
据我所知,使用Roslyn的内置方法是不可能的。我使用字符串匹配构建了一个块字典和与这些块对应的行号集,从而获得了类似的结果。在包括锁等的块的情况下,对相同的块进行附加滤波以提高精度。结果并非100%准确,但在大多数情况下都非常接近。
在Roslyn中,控制流图具有构成程序的BasicBlock列表。是否可以从每个块中获取代码语句来重建整个代码?
据我所知,使用Roslyn的内置方法是不可能的。我使用字符串匹配构建了一个块字典和与这些块对应的行号集,从而获得了类似的结果。在包括锁等的块的情况下,对相同的块进行附加滤波以提高精度。结果并非100%准确,但在大多数情况下都非常接近。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium