다음을 통해 공유


SyntaxEditor 클래스

정의

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
public ref class SyntaxEditor
public class SyntaxEditor
type SyntaxEditor = class
Public Class SyntaxEditor
상속
SyntaxEditor
파생

설명

위의 편집 전략은 편집기의 클라이언트가 부모 노드를 업데이트하는 변경 사항을 추가한 다음 자식 노드를 업데이트하는 변경 내용(부모 변경 내용에 자식이 포함되어 있지 않은 경우)을 추가하는 오류를 발생시키고, 이를 시도하면 런타임에 throw됩니다. 클라이언트가 자식과 부모를 모두 업데이트해야 하는 경우 먼저 자식 변경을 추가한 다음 부모 변경 사항을 추가 해야 합니다 . 또한 부모 변경은 자식 변경의 결과를 볼 수 있도록 적절한 '컴퓨팅' 콜백을 전달해야 합니다.

클라이언트가 대체하려는 경우 트리에 배치된 값을 찾습니다. 이 SyntaxNode 은 해당 노드에 전용 주석을 추가한 다음 '컴퓨팅' 콜백에 전달된 '현재' 노드에서 다시 조회하여 수행할 수 있습니다.

생성자

Name Description
SyntaxEditor(SyntaxNode, HostWorkspaceServices)

SyntaxEditor 인스턴스를 만듭니다.

SyntaxEditor(SyntaxNode, SolutionServices)

SyntaxEditor 인스턴스를 만듭니다.

SyntaxEditor(SyntaxNode, Workspace)
사용되지 않음.

SyntaxEditor 인스턴스를 만듭니다.

속성

Name Description
Generator

SyntaxGenerator'를 만들고 변경하는 SyntaxNode데 사용하는 A입니다.

OriginalRoot

SyntaxNode 생성될 때 SyntaxEditor 지정한 것입니다.

메서드

Name Description
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)

노드가 변경되지 않더라도 노드가 추적되는지 확인합니다.

확장명 메서드

Name Description
AddAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddAttributeArgument(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddBaseType(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddInterfaceType(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddMember(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddParameter(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
AddReturnAttribute(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
InsertMembers(SyntaxEditor, SyntaxNode, Int32, IEnumerable<SyntaxNode>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
InsertParameter(SyntaxEditor, SyntaxNode, Int32, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetAccessibility(SyntaxEditor, SyntaxNode, Accessibility)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetExpression(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetGetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetModifiers(SyntaxEditor, SyntaxNode, DeclarationModifiers)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetName(SyntaxEditor, SyntaxNode, String)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetSetAccessorStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetStatements(SyntaxEditor, SyntaxNode, IEnumerable<SyntaxNode>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetType(SyntaxEditor, SyntaxNode, SyntaxNode)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetTypeConstraint(SyntaxEditor, SyntaxNode, String, SpecialTypeConstraintKind, IEnumerable<SyntaxNode>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.
SetTypeParameters(SyntaxEditor, SyntaxNode, IEnumerable<String>)

구문 트리를 변경하기 위한 편집기입니다. 편집기에서는 특정 트리에 순서대로 수행할 변경 내용 목록을 제공하여 작동합니다. 변경 내용은 SyntaxNode 편집기가 만들어진 원래 트리에 적용됩니다. 애플리케이션의 의미 체계는 다음과 같습니다.

  1. 제공된 원래 루트는 모든 작업에 대한 '현재' 루트로 사용됩니다. 이 '현재' 루트는 지속적으로 업데이트되어 새로운 '현재' 루트가 됩니다. 원래 루트는 변경되지 않습니다.
  2. 각 변경 내용은 지정된 SyntaxNode 변경 내용을 추적 SyntaxAnnotation하여 모든 것을 추적하는 '현재' 루트를 생성합니다. 이렇게 하면 트리를 변경하는 이전 변경 내용을 적용한 후에 동일한 노드를 찾을 수 있습니다.
  3. 그러면 각 변경 내용이 편집기에서 추가된 순서대로 적용됩니다.
  4. 변경은 먼저 '현재' 루트에서 해당 SyntaxNode 항목을 찾으려고 시도합니다. 해당 노드를 찾을 수 없으면 작업이 실패합니다 ArgumentException.
  5. 특정 변경 내용은 해당 노드에서 실행되며 변경 내용에 따라 노드 주위에 제거, 바꾸기 또는 삽입됩니다. 변경 내용이 'compute' 인수로 대리자를 전달하면 현재 루트에 찾은 내용이 SyntaxNode 제공됩니다. 그런 다음 현재 노드를 새 계산 노드로 바꿔 '현재' 루트를 업데이트합니다.
  6. 그러면 '현재' 루트가 반환됩니다.

적용 대상