Поделиться через


SyntaxNodeOrToken Структура

Определение

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

public value class SyntaxNodeOrToken : IEquatable<Microsoft::CodeAnalysis::SyntaxNodeOrToken>
[System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
public readonly struct SyntaxNodeOrToken : IEquatable<Microsoft.CodeAnalysis.SyntaxNodeOrToken>
[<System.Diagnostics.DebuggerDisplay("{GetDebuggerDisplay(), nq}")>]
type SyntaxNodeOrToken = struct
Public Structure SyntaxNodeOrToken
Implements IEquatable(Of SyntaxNodeOrToken)
Наследование
SyntaxNodeOrToken
Атрибуты
Реализации

Комментарии

Обратите внимание, что мы не храним маркер напрямую, мы просто храним достаточно информации для его реконструкции. Это позволяет повторно использовать nodeOrToken в качестве родительского элемента маркера.

Свойства

ContainsAnnotations

Определяет, является ли этот узел или токен (или любой дочерний узел, токен или тривия) заметками.

ContainsDiagnostics

Определяет, имеют ли базовый узел или токен или любой из его потомков, маркеры или тривия какие-либо диагностические данные.

ContainsDirectives

Определяет, имеет ли базовый узел или токен какие-либо директивы препроцессора-потомка.

FullSpan

Абсолютный диапазон базового узла или токена в символах, включая начальный и конечный тривиа.

HasLeadingTrivia

Определяет, имеет ли базовый узел или токен любые основные мелочи.

HasTrailingTrivia

Определяет, имеет ли базовый узел или токен любые конечные тривии.

IsMissing

Определяет, представляет ли базовый узел или токен конструкцию языка, которая была фактически проанализирована из исходного кода. Отсутствующие узлы и маркеры обычно создаются анализатором в сценариях ошибок для представления конструкций, которые должны присутствовать в исходном коде для успешной компиляции исходного кода, но фактически отсутствуют.

IsNode

Определяет, является ли это SyntaxNodeOrToken оболочкой узла.

IsToken

Определяет, является ли это SyntaxNodeOrToken оболочкой маркера.

Language

Имя языка, с которым является этот узел или токен, является синтаксисом.

Parent

Узел, содержащий базовый узел или токен в коллекции Children.

RawKind

Целое число, представляющее определенный язык базового узла или токена.

Span

Абсолютный диапазон базового узла или токена в символах, не включая начальный и конечный тривиа.

SpanStart

То же, что и при доступе Start к Span.

SyntaxTree

SyntaxTree, содержащий current SyntaxNodeOrToken.

Методы

AsNode()

Возвращает базовый узел, если он SyntaxNodeOrToken упаковывает узел.

AsToken()

Возвращает базовый маркер, если он SyntaxNodeOrToken упаковывает маркер.

ChildNodesAndTokens()

Список дочерних узлов и маркеров базового узла или токена.

Equals(Object)

Определяет, равен ли предоставленный SyntaxNodeOrToken объект этому SyntaxNodeOrToken.

Equals(SyntaxNodeOrToken)

Определяет, равен ли предоставленный SyntaxNodeOrToken объект этому SyntaxNodeOrToken.

GetAnnotations(IEnumerable<String>)

Возвращает все заметки указанного типа заметки.

GetAnnotations(String)

Возвращает все заметки указанного типа заметки.

GetDiagnostics()

Возвращает список всех диагностических сведений в под дереве, которое имеет этот узел в качестве корня или связанного с этим токеном, и связанных с ним мелочей. Этот метод не фильтрует диагностику на основе #pragmas и параметров компилятора, таких как nowarn, warnaserror и т. д.

GetFirstChildIndexSpanningPosition(SyntaxNode, Int32)

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

GetHashCode()

Служит хэш-функцией для SyntaxNodeOrToken.

GetLeadingTrivia()

Список мелочей, которые отображаются перед базовым узлом или маркером в исходном коде и присоединяются к токену, который является потомком базового узла или токена.

GetLocation()

Получите расположение этого узла или маркера.

GetNextSibling()

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

GetPreviousSibling()

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

GetTrailingTrivia()

Список мелочей, которые отображаются после базового узла или маркера в исходном коде и присоединяются к токену, который является потомком базового узла или токена.

HasAnnotation(SyntaxAnnotation)

Определяет, имеет ли этот узел или маркер конкретную заметку.

HasAnnotations(IEnumerable<String>)

Определяет, содержит ли этот узел или маркер заметки указанного типа.

HasAnnotations(String)

Определяет, содержит ли этот узел или маркер заметки указанного типа.

IsEquivalentTo(SyntaxNodeOrToken)

Определяет, эквивалентны ли два узла или маркеры.

IsIncrementallyIdenticalTo(SyntaxNodeOrToken)

См. разделы IsIncrementallyIdenticalTo(SyntaxNode) и IsIncrementallyIdenticalTo(SyntaxToken).

ToFullString()

Возвращает полное строковое представление этого узла или токена, включая начальный и конечный тривиа.

ToString()

Возвращает строковое представление этого узла или токена, не включая начальные и конечные тривии.

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

Создает новый узел или токен, идентичный этому, с указанными заметками.

WithAdditionalAnnotations(SyntaxAnnotation[])

Создает новый узел или токен, идентичный этому, с указанными заметками.

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

WithLeadingTrivia(SyntaxTrivia[])

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

WithoutAnnotations(IEnumerable<SyntaxAnnotation>)

Создает новый узел или токен, идентичный этому, без указанных заметок.

WithoutAnnotations(String)

Создает новый узел или маркер, идентичный этому, без заметок указанного типа.

WithoutAnnotations(SyntaxAnnotation[])

Создает новый узел или токен, идентичный этому, без указанных заметок.

WithTrailingTrivia(IEnumerable<SyntaxTrivia>)

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

WithTrailingTrivia(SyntaxTrivia[])

Оболочка для узла синтаксиса (SyntaxNode) или маркера синтаксиса (SyntaxToken).

WriteTo(TextWriter)

Записывает полный текст этого узла или маркера в указанный textWriter.

Операторы

Equality(SyntaxNodeOrToken, SyntaxNodeOrToken)

Определяет, равны ли два SyntaxNodeOrTokens.

Explicit(SyntaxNodeOrToken to SyntaxNode)

Возвращает базовый узел, завернутый предоставленным SyntaxNodeOrToken.

Explicit(SyntaxNodeOrToken to SyntaxToken)

Возвращает базовый маркер, упакованный предоставленным SyntaxNodeOrToken.

Implicit(SyntaxNode to SyntaxNodeOrToken)

Возвращает новый SyntaxNodeOrToken объект, который создает оболочку для предоставленного узла.

Implicit(SyntaxToken to SyntaxNodeOrToken)

Возвращает новый SyntaxNodeOrToken объект, который создает оболочку для предоставленного маркера.

Inequality(SyntaxNodeOrToken, SyntaxNodeOrToken)

Определяет, являются ли два SyntaxNodeOrTokenнеравными.

Методы расширения

Kind(SyntaxNodeOrToken)

Возвращается SyntaxKind из RawKindSyntaxNode свойства.

IsKind(SyntaxNodeOrToken, SyntaxKind)

Определяет, имеет ли SyntaxNodeOrToken указанный тип.

Kind(SyntaxNodeOrToken)

Возвращается SyntaxKind из RawKindSyntaxNodeOrToken свойства.

IsKind(SyntaxNodeOrToken, SyntaxKind)

Определяет, имеет ли SyntaxNodeOrToken указанный тип.

Применяется к