使用 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 自己编写代码。
是否有任何方法或解决方法可以使用 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 自己编写代码。