セマンティック シンボルがある場合、メソッドにパラメータが渡されるとします。このシンボルの構文ノードに戻るにはどうすればよいでしょうか?
以下のコードでは、 から構文ツリーの「param」識別子のハンドルを持っているとしますparam = "TEST"
。セマンティック モデルに切り替えてstring param
、メソッド宣言の に移動する param の OriginalDefinition を決定します。ここで、構文ツリーに戻って、元の定義ノードに移動します。
私はハックと見なすものでこれを行うことができましたvar token = tree.Root.FindToken(origNode.Locations[0].SourceSpan.Start).Parent;
これを行うより良い方法はありますか?GetSemanticInfo()
おそらく、シンタックス ツリー以外は似たようなものでしょうか。
private void DoSomething(string param)
{
param = "TEST";
}