0
是否有任何方法或解決方法可以按照使用任何Roslyn方法在file/class內執行的順序獲取SyntaxTree節點。入口方法是已知的。按照使用Roslyn的執行順序獲取語法樹節點
例子:
class myClass
{
void EntryMethod() {
CallMethod1();
CallMethod2();
AnotherMethod();
CallMethod3();
}
void AnotherMethod()
{
CallMethod4();
CallMethod5();
}
}
所需的結果是這樣的:
List<ExpressionStatementSyntax or InvocationExpressionSyntax>
{CallMethod1, CallMethod2, CallMethod4, CallMethod5, CallMethod3}
如果你有循環或if語句怎麼辦?這相當於停機問題。 – SLaks
@SLaks我認爲在我的情況下,在一個方法內的外觀順序就足夠了 –
然後你可以用一個簡單的DFS自己做。雖然,請注意遞歸。 – SLaks