我在编译单元中添加了一堆节点,现在我想查找与给定符号相对应的语法节点:

var compilation = Compilation.Create("HelloWorld")
    .AddSyntaxTrees(SyntaxTree.ParseCompilationUnit("<some namespace>"));

ISymbol symbol =  // some arbitrary symbol, e.g. a method whose syntax node I had
    compilation.GlobalNamespace.GetNamespaceMembers().First();

SyntaxToken token = ???;   // how do I get the token for that symbol?
如何获得该符号的 token ?
注意:
我的目标是能够从它的MethodSymbol获得每种方法的方法体。

最佳答案

使用ISymbol.DeclaringSyntaxReferences

10-06 15:24