SyntaxNode Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode.
public ref class SyntaxNode abstract
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
public abstract class SyntaxNode
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")>]
type SyntaxNode = class
Public MustInherit Class SyntaxNode
- Наследование
-
SyntaxNode
- Производный
- Атрибуты
Свойства
| Имя | Описание |
|---|---|
| ContainsAnnotations |
Определяет, имеет ли этот узел или любой вложенный узел, маркер или тривия заметки. |
| ContainsDiagnostics |
Определяет, имеет ли этот узел или любой из его потомков, маркеры или тривии какие-либо диагностические данные. |
| ContainsDirectives |
Определяет, имеет ли этот узел директивы препроцессора-потомка. |
| ContainsSkippedText |
Определяет, имеет ли этот узел какой-либо пропущенный текст. |
| FullSpan |
Абсолютный диапазон этого узла в символах, включая его ведущие и конечные тривии. |
| HasLeadingTrivia |
Определяет, имеет ли этот узел любые ведущие тривии. |
| HasStructuredTrivia |
Определяет, структурирована ли потомка этого узла. |
| HasTrailingTrivia |
Определяет, имеет ли этот узел все конечные тривии. |
| IsMissing |
Определяет, представляет ли узел конструкцию языка, которая была на самом деле проанализирована из исходного кода. Отсутствующие узлы создаются средством синтаксического анализа в сценариях ошибок для представления конструкций, которые должны присутствовать в исходном коде для успешной компиляции, но фактически отсутствуют. |
| IsStructuredTrivia |
Определяет, представляет ли этот узел структурированную тривию. |
| KindText |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| Language |
Имя языка, на которое этот узел имеет синтаксис. |
| Parent |
Узел, содержащий этот узел в своей ChildNodes() коллекции. |
| ParentTrivia |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| RawKind |
Целое число, представляющее конкретный язык этого узла. |
| Span |
Абсолютный диапазон этого узла в символах, не включая его ведущие и конечные тривии. |
| SpanStart | |
| SyntaxTree |
Возвращает, SyntaxTree принадлежит узлу. |
| SyntaxTreeCore |
Возвращает синтаксисTree, принадлежащий узлу. Если узел не принадлежит дереву, он будет создан. |
Методы
| Имя | Описание |
|---|---|
| Ancestors(Boolean) |
Получает список узлов-предков в порядке от самого внутреннего содержащего синтаксического предка к самому внешнему. |
| AncestorsAndSelf(Boolean) |
Получает список узлов-предков (включая этот узел) в порядке от этого узла до самого внешнего предка. |
| ChildNodes() |
Возвращает список дочерних узлов в порядке документа префикса. |
| ChildNodesAndTokens() |
Список дочерних узлов и маркеров этого узла, где каждый элемент является экземпляром SyntaxNodeOrToken. |
| ChildThatContainsPosition(Int32) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| ChildTokens() |
Возвращает список прямых дочерних маркеров этого узла. |
| Contains(SyntaxNode) |
Определяет, является ли указанный узел потомком этого узла. Возвращает значение true для текущего узла. |
| ContainsDirective(Int32) |
Возвращает значение true, если этот узел содержит какие-либо директивы (например |
| CopyAnnotationsTo<T>(T) |
Копирует все синтаксические отметки, если таковые есть, из этого экземпляра SyntaxNode и присоединяет их к новому экземпляру на |
| DescendantNodes(Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов в порядке префикса документа. |
| DescendantNodes(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов в порядке префикса документа. |
| DescendantNodesAndSelf(Func<SyntaxNode,Boolean>, Boolean) |
Получает список потомков (включая этот узел) в порядке префикса документа. |
| DescendantNodesAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Получает список потомков (включая этот узел) в порядке префикса документа. |
| DescendantNodesAndTokens(Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов и маркеров в порядке документа префикса. |
| DescendantNodesAndTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов и маркеров в порядке префикса документа. |
| DescendantNodesAndTokensAndSelf(Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов и маркеров (включая этот узел) в порядке префикса документа. |
| DescendantNodesAndTokensAndSelf(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список потомков узлов и маркеров (включая этот узел) в порядке префикса документа. |
| DescendantTokens(Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список всех маркеров в диапазоне этого узла. |
| DescendantTokens(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Возвращает список всех маркеров в полном диапазоне этого узла. |
| DescendantTrivia(Func<SyntaxNode,Boolean>, Boolean) |
Получите список всех тривии, связанных с потомками узлов и маркеров. |
| DescendantTrivia(TextSpan, Func<SyntaxNode,Boolean>, Boolean) |
Получите список всех тривии, связанных с потомками узлов и маркеров. |
| EquivalentToCore(SyntaxNode) |
Определите, является ли этот узел структурным эквивалентом другому. |
| FindNode(TextSpan, Boolean, Boolean) |
Находит узел с наименьшим FullSpan , который содержит |
| FindToken(Int32, Boolean) |
Находит маркер потомка этого узла, диапазон которого включает указанное положение. |
| FindTokenCore(Int32, Boolean) |
Находит маркер потомка этого узла, диапазон которого включает указанное положение. |
| FindTokenCore(Int32, Func<SyntaxTrivia,Boolean>) |
Находит маркер потомка этого узла, диапазон которого включает указанное положение. |
| FindTrivia(Int32, Boolean) |
Находит потомки этого узла, диапазон которого включает указанное положение. |
| FindTrivia(Int32, Func<SyntaxTrivia,Boolean>) |
Находит потомки этого узла в указанной позиции, где позиция находится в пределах диапазона узла. |
| FindTriviaCore(Int32, Boolean) |
Находит потомки этого узла, диапазон которого включает указанное положение. |
| FirstAncestorOrSelf<TNode,TArg>(Func<TNode,TArg,Boolean>, TArg, Boolean) |
Возвращает первый узел типа TNode, соответствующий предикату. Предки ищутся в порядке от этого узла до самого внешнего предка. |
| FirstAncestorOrSelf<TNode>(Func<TNode,Boolean>, Boolean) |
Возвращает первый узел типа TNode, соответствующий предикату. Предки ищутся в порядке от этого узла до самого внешнего предка. |
| GetAnnotatedNodes(String) |
Возвращает все узлы с указанным типом заметки. |
| GetAnnotatedNodes(SyntaxAnnotation) |
Возвращает все узлы с указанной заметкой. |
| GetAnnotatedNodesAndTokens(String) |
Возвращает все узлы и маркеры с заметкой указанного типа заметки. |
| GetAnnotatedNodesAndTokens(String[]) |
Возвращает все узлы и маркеры с заметкой указанных типов заметок. |
| GetAnnotatedNodesAndTokens(SyntaxAnnotation) |
Возвращает все узлы и маркеры с указанной заметкой. |
| GetAnnotatedTokens(String) |
Возвращает все маркеры с указанным типом заметки. |
| GetAnnotatedTokens(SyntaxAnnotation) |
Возвращает все маркеры с указанной заметкой. |
| GetAnnotatedTrivia(String) |
Получает все тривии с заметкой указанного типа заметки. |
| GetAnnotatedTrivia(String[]) |
Получает все тривии с заметкой указанных типов заметок. |
| GetAnnotatedTrivia(SyntaxAnnotation) |
Возвращает все тривии с указанной заметкой. |
| GetAnnotations(IEnumerable<String>) |
Получает все заметки с указанными типами заметок. |
| GetAnnotations(String) |
Возвращает все заметки с указанным типом заметки. |
| GetDiagnostics() |
Возвращает список всех диагностических данных в дереве вложенного дерева, имеющего этот узел в качестве корня. Этот метод не фильтрует диагностику на основе #pragmas и параметров компилятора, таких как nowarn, warnaserror и т. д. |
| GetFirstToken(Boolean, Boolean, Boolean, Boolean) |
Возвращает первый маркер дерева, корняемого этим узлом. Пропускает маркеры нулевой ширины. |
| GetLastToken(Boolean, Boolean, Boolean, Boolean) |
Возвращает последний маркер дерева, корняемого этим узлом. Пропускает маркеры нулевой ширины. |
| GetLeadingTrivia() |
Список тривии, который отображается перед этим узлом в исходном коде и присоединен к маркеру, который является потомком этого узла. |
| GetLocation() |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| GetRed<T>(T, Int32) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| GetRedAtZero<T>(T) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| GetReference() |
SyntaxReference Возвращает для этого синтаксического узла. CommonSyntaxReferences можно использовать для восстановления доступа к узлу синтаксиса без сохранения всего дерева и исходного текста в памяти. |
| GetText(Encoding, SourceHashAlgorithm) |
Получает полный текст этого узла в качестве нового SourceText экземпляра. |
| GetTrailingTrivia() |
Список тривии, который отображается после этого узла в исходном коде и присоединен к маркеру, который является потомком этого узла. |
| HasAnnotation(SyntaxAnnotation) |
Определяет, имеет ли этот узел определенную заметку. |
| HasAnnotations(IEnumerable<String>) |
Определяет, имеет ли этот узел любые заметки с любым из определенных типов заметок. |
| HasAnnotations(String) |
Определяет, имеет ли этот узел какие-либо заметки с определенным типом заметки. |
| InsertNodesInListCore(SyntaxNode, IEnumerable<SyntaxNode>, Boolean) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| InsertTokensInListCore(SyntaxToken, IEnumerable<SyntaxToken>, Boolean) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| InsertTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>, Boolean) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| IsEquivalentTo(SyntaxNode, Boolean) |
Определяет, являются ли два узла одинаковыми, игнорируя различия в тривии. |
| IsEquivalentTo(SyntaxNode) |
Определите, является ли этот узел структурным эквивалентом другому. |
| IsEquivalentToCore(SyntaxNode, Boolean) |
Определяет, являются ли два узла одинаковыми, игнорируя различия в тривии. |
| IsIncrementallyIdenticalTo(SyntaxNode) |
Возвращает значение true, если эти два узла считаются "добавочно идентичными". Постепенно идентичный узел возникает при SyntaxTree добавочном анализе с помощью WithChangedText(SourceText) , а добавочный синтаксический анализатор может принимать узел из исходного дерева и использовать его в целом в новом дереве. В этом случае ToFullString() каждый узел будет одинаковым, хотя у них могут быть разные родители, и может возникать на разных позициях в соответствующих деревьях. Если два узла будут постепенно идентичны, все дочерние элементы каждого узла будут постепенно идентичны. |
| IsPartOfStructuredTrivia() |
Определяет, является ли этот узел потомком структурированной тривии. |
| NormalizeWhitespaceCore(String, String, Boolean) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| RemoveNodesCore(IEnumerable<SyntaxNode>, SyntaxRemoveOptions) |
Создает новое дерево узлов с удаленным указанным узлом. |
| ReplaceCore<TNode>(IEnumerable<TNode>, Func<TNode,TNode,SyntaxNode>, IEnumerable<SyntaxToken>, Func<SyntaxToken,SyntaxToken,SyntaxToken>, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>) |
Создает новое дерево узлов с указанными узлами, маркерами или тривия заменены. |
| ReplaceNodeInListCore(SyntaxNode, IEnumerable<SyntaxNode>) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| ReplaceTokenInListCore(SyntaxToken, IEnumerable<SyntaxToken>) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| ReplaceTriviaInListCore(SyntaxTrivia, IEnumerable<SyntaxTrivia>) |
Представляет узел, отличный от терминала, в дереве синтаксиса. Это не зависящий от языка эквивалент CSharpSyntaxNode и VisualBasicSyntaxNode. |
| SerializeTo(Stream, CancellationToken) |
Устаревшие..
Устаревшие..
Сериализует узел в заданный |
| ToFullString() |
Возвращает полное строковое представление этого узла, включая его ведущие и конечные тривии. |
| ToString() |
Возвращает строковое представление этого узла, не включая его ведущие и конечные тривии. |
| WriteTo(TextWriter) |
Записывает полный текст этого узла в указанный TextWriter. |
Методы расширения
| Имя | Описание |
|---|---|
| ContainsDirective(SyntaxNode, SyntaxKind) |
Возвращает значение true, если этот узел содержит какие-либо директивы (например |
| ContainsDirective(SyntaxNode, SyntaxKind) |
Возвращает значение true, если этот узел содержит какие-либо директивы (например |
| GetCurrentNode<TNode>(SyntaxNode, TNode) |
Возвращает узел в поддереве, соответствующий исходному отслеживаемого узла. Используйте TrackNodes для запуска узлов отслеживания. |
| GetCurrentNodes<TNode>(SyntaxNode, IEnumerable<TNode>) |
Возвращает узлы в поддереве, соответствующие исходным отслеживаемых узлам. Используйте TrackNodes для запуска узлов отслеживания. |
| GetCurrentNodes<TNode>(SyntaxNode, TNode) |
Возвращает узлы в поддереве, соответствующие исходному отслеживаемого узла. Используйте TrackNodes для запуска узлов отслеживания. |
| GetDirectives(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает элементы ДирективыTriviaSyntax для указанного синтаксисаNode с необязательным фильтром. |
| GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает первую директиву дерева, корняемого этим узлом. |
| GetFirstDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает первый элемент DirectiveTriviaSyntax для указанного синтаксисаNode. |
| GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает последнюю директиву дерева, корняемого этим узлом. |
| GetLastDirective(SyntaxNode, Func<DirectiveTriviaSyntax,Boolean>) |
Возвращает последний элемент DirectiveTriviaSyntax для указанного синтаксисаNode. |
| IsKind(SyntaxNode, SyntaxKind) |
Определяет, имеет ли SyntaxNode указанный тип. |
| IsKind(SyntaxNode, SyntaxKind) |
Определяет, имеет ли SyntaxNode указанный тип. |
| Kind(SyntaxNode) |
Возвращается SyntaxKind из SyntaxNodeRawKind свойства. |
| Kind(SyntaxNode) |
Возвращается SyntaxKind из SyntaxNodeRawKind свойства. |
| TryGetInferredMemberName(SyntaxNode) |
Если выражение инициализатора выводит имя анонимного свойства или элемента кортежа. Возвращает значение NULL, если не удалось |
| TryGetInferredMemberName(SyntaxNode) |
Если выражение инициализатора выводит имя анонимного свойства или элемента кортежа. Возвращает ничего, если не удалось |