使用 Roslyn 按执行顺序获取语法树节点

Get syntax tree nodes in order of execution using Roslyn

是否有任何方法或解决方法可以使用 Roslyn 的任何方式在 file/class 中按执行顺序获取 SyntaxTree 节点。进入方法已知。

示例:

class myClass 
{
    void EntryMethod() {
        CallMethod1();
        CallMethod2();
        AnotherMethod();
        CallMethod3();
    }

    void AnotherMethod() 
    {
        CallMethod4();
        CallMethod5();
    }
}

需要类似这样的结果:

List<ExpressionStatementSyntax or InvocationExpressionSyntax> 
{CallMethod1, CallMethod2, CallMethod4, CallMethod5, CallMethod3}

API 没有为此内置的功能,因为在一般情况下这是不可能的。不过,您可以使用基本的 Roslyn APIs 自己编写代码。