Roslyn を使用する場合、CompilationUnitSyntax 内にあるが SemanticModel 内にないノードがあったり、その逆の場合がよくあります。(または、どちらか一方の操作でのみノードを引き出すことができます。たとえば、セマンティック モデルから型情報が必要な場合、クエリを実行するノードは SemanticModel のツリーに存在する必要があります)
彼らが不変性などのためにそれを行った理由はわかりますが、どうやって一貫して戻って、あるツリーから別のツリーに同じトークンを見つけるのですか?? いずれかのツリーを変更する場合は、何らかの方法で作業していたノードを取得する必要があります。それを行うための最良の方法は何ですか?