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


SyntaxToken Структура

Определение

Представляет маркер в дереве синтаксиса.

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

Свойства

ContainsAnnotations

Значение true, если этот токен или его мелочи имеют какие-либо заметки.

ContainsDiagnostics

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

ContainsDirectives

Определяет, есть ли у этого маркера какие-либо директивы препроцессора-потомка.

FullSpan

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

HasLeadingTrivia

Определяет, есть ли у этого маркера какие-либо ведущие мелочи.

HasStructuredTrivia

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

HasTrailingTrivia

Определяет, имеет ли этот маркер какие-либо конечные мелочи.

IsMissing

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

Language

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

LeadingTrivia

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

Parent

Узел, содержащий этот маркер в коллекции Children.

RawKind

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

Span

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

SpanStart

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

SyntaxTree

Объект SyntaxTree, содержащий этот маркер.

Text

Представляет маркер в дереве синтаксиса.

TrailingTrivia

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

Value

Возвращает значение маркера. Например, если маркер представляет целочисленный литерал, то это свойство вернет фактическое целое число.

ValueText

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

Методы

CopyAnnotationsTo(SyntaxToken)

Копирует все объекты SyntaxAnnotation , если таковые есть, из этого экземпляра SyntaxToken и присоединяет их к новому экземпляру на tokenоснове .

Equals(Object)

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

Equals(SyntaxToken)

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

GetAllTrivia()

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

GetAnnotations(IEnumerable<String>)

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

GetAnnotations(String)

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

GetAnnotations(String[])

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

GetDiagnostics()

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

GetHashCode()

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

GetLocation()

Возвращает расположение для этого маркера.

GetNextToken(Boolean, Boolean, Boolean, Boolean)

Возвращает токен, следующий за этим маркером в дереве синтаксиса.

GetPreviousToken(Boolean, Boolean, Boolean, Boolean)

Возвращает маркер, предшествующий этому маркеру, в дереве синтаксиса.

HasAnnotation(SyntaxAnnotation)

Значение true, если этот маркер имеет указанную заметку.

HasAnnotations(String)

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

HasAnnotations(String[])

Значение true, если этот маркер содержит заметки указанных типов заметок.

IsEquivalentTo(SyntaxToken)

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

IsIncrementallyIdenticalTo(SyntaxToken)

Возвращает значение true, если эти два маркера считаются "инкрементно идентичными". Инкрементно идентичный SyntaxTree маркер возникает, когда выполняется добавочный анализ с помощью WithChangedText(SourceText) инкрементного синтаксического анализа может получить маркер из исходного дерева и использовать его полностью в новом дереве. В этом случае ToFullString() маркеры каждого маркера будут одинаковыми, хотя они могут иметь разные родители и могут находиться в разных положениях в соответствующих деревьях. Если два маркера инкрементно идентичны, все тривиальные части каждого узла также будут постепенно идентичны.

IsPartOfStructuredTrivia()

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

ToFullString()

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

ToString()

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

WithAdditionalAnnotations(IEnumerable<SyntaxAnnotation>)

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

WithAdditionalAnnotations(SyntaxAnnotation[])

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

WithLeadingTrivia(IEnumerable<SyntaxTrivia>)

Создает на основе этого маркера с указанием начальной мелочи.

WithLeadingTrivia(SyntaxTrivia[])

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

WithLeadingTrivia(SyntaxTriviaList)

Создает на основе этого маркера с указанием начальной мелочи.

WithoutAnnotations(IEnumerable<SyntaxAnnotation>)

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

WithoutAnnotations(String)

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

WithoutAnnotations(SyntaxAnnotation[])

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

WithTrailingTrivia(IEnumerable<SyntaxTrivia>)

Создает на основе этого маркера с указанным конечным элементом trivia.

WithTrailingTrivia(SyntaxTrivia[])

Создает на основе этого маркера с указанным конечным элементом trivia.

WithTrailingTrivia(SyntaxTriviaList)

Создает на основе этого маркера с указанным конечным элементом trivia.

WithTriviaFrom(SyntaxToken)

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

WriteTo(TextWriter)

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

Операторы

Equality(SyntaxToken, SyntaxToken)

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

Inequality(SyntaxToken, SyntaxToken)

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

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

IsContextualKeyword(SyntaxToken)

Представляет маркер в дереве синтаксиса.

IsKeyword(SyntaxToken)

Представляет маркер в дереве синтаксиса.

IsReservedKeyword(SyntaxToken)

Представляет маркер в дереве синтаксиса.

IsVerbatimIdentifier(SyntaxToken)

Представляет маркер в дереве синтаксиса.

IsVerbatimStringLiteral(SyntaxToken)

Представляет маркер в дереве синтаксиса.

Kind(SyntaxToken)

Возвращает SyntaxKind для SyntaxToken свойства from RawKind .

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

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

ReplaceTrivia(SyntaxToken, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

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

VarianceKindFromToken(SyntaxToken)

Представляет маркер в дереве синтаксиса.

NormalizeWhitespace(SyntaxToken, String, Boolean)

Создает новый маркер синтаксиса со всеми пробелами и концом строки trivia заменены на регулярно отформатированные trivia.

NormalizeWhitespace(SyntaxToken, String, String, Boolean)

Создает новый маркер синтаксиса со всеми пробелами и концом строки trivia заменены на регулярно отформатированные trivia.

IsKind(SyntaxToken, SyntaxKind)

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

WithoutTrivia(SyntaxToken)

Создает на основе этого маркера без начальной или конечной мелочи.

NormalizeWhitespace(SyntaxToken, String, Boolean)

Представляет маркер в дереве синтаксиса.

NormalizeWhitespace(SyntaxToken, String, String, Boolean, Boolean)

Представляет маркер в дереве синтаксиса.

GetBase(SyntaxToken)

База исходного токена для целочисленных литералы. Основание может быть десятичным, шестнадцатеричным или восьмеричным.

GetIdentifierText(SyntaxToken)

Возвращает текст идентификатора для указанного элемента SyntaxToken.

GetTypeCharacter(SyntaxToken)

Возвращает символ Type для заданного маркера синтаксиса. Возвращает символ типа для идентификаторов или целых чисел, литералов с плавающей запятой или десятичных литералов. Примеры: Dim a$ или Dim l1 = 1L

IsBracketed(SyntaxToken)

Проверяет, является ли SyntaxToken идентификатором в квадратных скобках.

IsContextualKeyword(SyntaxToken)

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

IsKeyword(SyntaxToken)

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

IsPreprocessorKeyword(SyntaxToken)

Определяет, представляет ли маркер препроцессор ключевое слово

IsReservedKeyword(SyntaxToken)

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

Kind(SyntaxToken)

Возвращает SyntaxKind для SyntaxToken свойства from RawKind .

ReplaceTrivia(SyntaxToken, SyntaxTrivia, SyntaxTrivia)

Заменяет trivia на указанный SyntaxToken.

ReplaceTrivia(SyntaxToken, IEnumerable<SyntaxTrivia>, Func<SyntaxTrivia,SyntaxTrivia,SyntaxTrivia>)

Заменяет trivia на указанный SyntaxToken.

IsKind(SyntaxToken, SyntaxKind)

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

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