次の方法で共有


SyntaxEditor クラス

定義

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
継承
SyntaxEditor
派生

注釈

上記の編集方法では、エディターのクライアントが親ノードを更新する変更を追加し、子ノードを更新する変更を追加するエラーになります (親の変更に子が含まれていることが確実でない限り)。これを試みると、実行時にスローされます。 クライアントが子と親の両方を更新する必要がある場合は、最初に子の変更を追加してから、親を変更する 必要があります 。 また、親の変更では、子の変更の結果が表示されるように、適切な "コンピューティング" コールバックを渡す必要があります。

クライアントが置換を行う必要がある場合は、を見つけてSyntaxNodeツリーに配置します。そのためには、そのノードに専用の注釈を追加し、"コンピューティング" コールバックに渡された "現在の" ノードでバックアップします。

コンストラクター

名前 説明
SyntaxEditor(SyntaxNode, HostWorkspaceServices)

新しい SyntaxEditor インスタンスを作成します。

SyntaxEditor(SyntaxNode, SolutionServices)

新しい SyntaxEditor インスタンスを作成します。

SyntaxEditor(SyntaxNode, Workspace)
古い.

新しい SyntaxEditor インスタンスを作成します。

プロパティ

名前 説明
Generator

SyntaxNodeの作成と変更に使用するSyntaxGenerator

OriginalRoot

SyntaxEditorの作成時に指定されたSyntaxNode

メソッド

名前 説明
GetChangedRoot()

変更されたルート ノードを返します。

InsertAfter(SyntaxNode, IEnumerable<SyntaxNode>)

指定したノードがツリー内に既に存在する後に、新しいノードを挿入します。

InsertAfter(SyntaxNode, SyntaxNode)

指定したノードがツリー内に既に存在する後に、新しいノードを挿入します。

InsertBefore(SyntaxNode, IEnumerable<SyntaxNode>)

指定したノードがツリー内に既に存在する前に、新しいノードを挿入します。

InsertBefore(SyntaxNode, SyntaxNode)

指定したノードがツリー内に既に存在する前に、新しいノードを挿入します。

RemoveNode(SyntaxNode, SyntaxRemoveOptions)

ツリーからノードを削除します。

RemoveNode(SyntaxNode)

ツリーからノードを削除します。

ReplaceNode(SyntaxNode, Func<SyntaxNode,SyntaxGenerator,SyntaxNode>)

指定したノードを、関数によって生成されたノードに置き換えます。

ReplaceNode(SyntaxNode, SyntaxNode)

指定したノードを別のノードに置き換えます。

TrackNode(SyntaxNode)

ノードが変更されていない場合でも、ノードが追跡されていることを確認します。

拡張メソッド

名前 説明
AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetName(SyntaxEditor, SyntaxNode, String)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 変更には、エディターが作成された元のツリーで適用される SyntaxNode が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この "現在" ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、SyntaxAnnotationを使用して特定のSyntaxNode追跡され、それらのすべてを追跡する "現在の" ルートが生成されます。 これにより、ツリーを変更する前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでその SyntaxNode を見つけようとします。 そのノードが見つからない場合、操作は ArgumentExceptionで失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった SyntaxNode が渡されます。 その後、現在のノードを新しい計算ノードに置き換えることで、"現在の" ルートが更新されます。
  6. その後、'current' ルートが返されます。

適用対象