'宣言 Public Function AddDiagnostic( _ ByVal node As SyntaxNode, _ ByVal diagnostic As Diagnostic _ ) As SyntaxTree
public SyntaxTree AddDiagnostic( SyntaxNode node, Diagnostic diagnostic )
例外 | 解説 |
---|---|
System.ArgumentNullException | node が null の場合に発生します。 |
System.ArgumentNullException | diagnostic が null の場合に発生します。 |
System.ArgumentException | node の Infragistics.Documents.TextDocumentSnapshot が SyntaxTree の Snapshot と一致しない場合に発生します。 |
構文ツリーのノードに診断または注釈がアタッチされる場合、結果の構文ツリーは等しい構文ツリーです。同じ構造を表しますが、追加の情報が関連付けられています。現在のツリーまたは現在のツリーに相当する任意のツリー内のノードに診断情報を追加できます。たとえば、2 つのノードにエラーを関連付ける必要がある場合、以下のように呼び出しをチェーンできます。
var newTree = originalTree.AddDiagnostic(node1, diagnostic1).AddDiagnostic(node2, diagnostic2);この 2 つのノードは元のツリーから取得されたものですが、node2 には、最初の AddDiagnostic 呼び出しによって返された変更されたツリーに関する注釈が付けられます。この場合、変更されたツリー内の対応するノードに diagnostic2 が関連付けられ、新しく変更されたツリーが返されて newTree に保存されます。
ツリーが等しくかどうかを確認するには、Snapshot 値が同じかどうかを確認します。