我已经在编译单元中添加了一堆节点,现在我想查找与给定符号对应的语法节点:
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?
如何获取该符号的令牌?
我的目标是能够从MethodSymbol
获取每个方法的方法体。
答案 0 :(得分:20)
使用ISymbol.DeclaringSyntaxReferences
。