简体   繁体   English

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

[英]Get syntax tree nodes in order of execution using Roslyn

Is there any way or workaround to get SyntaxTree nodes in order of execution inside file/class using any means of Roslyn. 是否有任何方法或解决方法可以使用Roslyn的任何方式在文件/类内按执行顺序获取SyntaxTree节点。 Entry method is known. 输入方法是已知的。

Example: 例:

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

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

Needed result something like: 所需结果如下:

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

There's no built in API for this, as it is in the general case impossible. 没有内置的API,因为通常情况下是不可能的。 You can write the code yourself using basic Roslyn APIs though. 不过,您可以使用基本的Roslyn API自己编写代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM