如果我有一个语义符号让我们说一个参数进入一个方法,我能不能回到这个符号的语法节点?
在下面的代码中,假设我在语法树中的“param”标识符上有一个句柄param = "TEST"
,我切换到语义模型以确定 param 的 OriginalDefinition,这将我带到string param
方法声明中。我现在想换回语法树并转到原始定义节点。
我能够用我认为是黑客的东西来做到这一点var token = tree.Root.FindToken(origNode.Locations[0].SourceSpan.Start).Parent;
有一个更好的方法吗?也许类似于GetSemanticInfo()
语法树的东西?
private void DoSomething(string param)
{
param = "TEST";
}