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


IfConditionRuleContext class

Extends

ParserRuleContext

Конструкторы

IfConditionRuleContext(ParserRuleContext | undefined, number)

Свойства

ruleIndex

Унаследованные свойства

altNumber

Задайте внешний альтернативный номер для этого узла контекста. Реализация по умолчанию ничего не делает, чтобы избежать дополнительных затрат на поля для деревьев, которым она не нужна. Создайте подкласс ParserRuleContext с резервным полем и задайте параметр contextSuperClass. @since 4.5.3

childCount
children

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

exception

Исключение, которое заставило возвращать это правило. Если правило успешно выполнено, это будет undefined.

invokingState
isEmpty

Контекст пуст, если состояние вызова отсутствует; это означает, что никто не называл текущий контекст.

parent
payload
ruleContext
sourceInterval
start

Получите начальный маркер в этом контексте. Обратите внимание, что диапазон от начала до остановки является инклюзивным, поэтому для правил, которые не используют ничего (например, нулевая длина или производство ошибок), этот маркер может превышать значение stop.

stop

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

text

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

Методы

accept<Result>(LGTemplateParserVisitor<Result>)
enterRule(LGTemplateParserListener)
exitRule(LGTemplateParserListener)
ifCondition()
normalTemplateBody()

Наследуемые методы

addAnyChild<T>(T)

Добавьте узел дерева синтаксического анализа в качестве дочернего узла. Работает для внутренних и конечных узлов. Не устанавливает родительскую ссылку; Другие методы add должны делать это. Другие методы addChild вызывают это. Невозможно задать родительский указатель входящего узла, так как существующие интерфейсы не имеют метода setParent() и я не хочу прерывать обратную совместимость для этого.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Добавьте дочерний конечный узел маркера и принудительно выберите его родительский узел.

addChild(Token)

Добавьте дочерний узел на основе matchedToken. Он создает TerminalNodeImpl вместо использования [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Я оставляю это в для совместимости, но средство синтаксического анализа больше не использует это.

addErrorNode(ErrorNode)

Добавьте дочерний узел ошибки и принудительно выберите его родительский узел.

addErrorNode(Token)

Добавьте дочерний узел на основе badToken. Он создает errorNode вместо использования [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Я оставляю это в для совместимости, но средство синтаксического анализа больше не использует это.

copyFrom(ParserRuleContext)

СКОПИРУЙТЕ ctx (я намеренно не использую конструктор копирования), чтобы избежать путаницы при создании узла с родительским элементом. Не копирует дочерние элементы (за исключением ошибок). Используется в созданном коде средства синтаксического анализа для перевернуть универсальный узел XContext для правила X в YContext для замещающего метки Y. В этом смысле это не универсальная функция копирования.

Если мы выпустим ошибку sync() в начале правила, мы можем добавить узлы ошибок в универсальный XContext, поэтому эта функция должна скопировать эти узлы в YContext, а в противном случае они будут потеряны.

depth()
emptyContext()
getChild(number)
getChild<T>(number, { })
getChildContext(RuleContext, number)
getRuleContext<T>(number, { })
getRuleContexts<T>({ })
getToken(number, number)
getTokens(number)
removeLastChild()

Используется методом enterOuterAlt для отправки из RuleContext, добавленного ранее при вводе правила. Если у нас есть метка #, необходимо удалить универсальный объект ruleContext.

setParent(RuleContext)
toInfoString(Parser)

Используется для отладки контекста правила во время синтаксического анализа, а не для отладки ATN

toString()
toString(Recognizer<any, any> | undefined)
toString(Recognizer<any, any> | undefined, RuleContext | undefined)
toString(string[] | undefined)
toString(string[] | undefined, RuleContext | undefined)
toStringTree()
toStringTree(Parser)

Выведите целое дерево, а не только узел, в формате LISP (корневой дочерний1 .. childN). Печать только узла, если это конечный элемент. Мы должны знать распознаватель, чтобы получить имена правил.

toStringTree(string[] | undefined)

Выведите целое дерево, а не только узел, в формате LISP (корневой дочерний1 .. childN). Печать только узла, если это конечный элемент.

tryGetChild<T>(number, { })
tryGetRuleContext<T>(number, { })
tryGetToken(number, number)

Сведения о конструкторе

IfConditionRuleContext(ParserRuleContext | undefined, number)

new IfConditionRuleContext(parent: ParserRuleContext | undefined, invokingState: number)

Параметры

parent

ParserRuleContext | undefined

invokingState

number

Сведения о свойстве

ruleIndex

number ruleIndex

Значение свойства

number

Сведения об унаследованном свойстве

altNumber

Задайте внешний альтернативный номер для этого узла контекста. Реализация по умолчанию ничего не делает, чтобы избежать дополнительных затрат на поля для деревьев, которым она не нужна. Создайте подкласс ParserRuleContext с резервным полем и задайте параметр contextSuperClass. @since 4.5.3

altNumber: number

Значение свойства

number

Наследуется от RuleContext.altNumber

childCount

childCount: number

Значение свойства

number

Наследуется от ParserRuleContext.childCount

children

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

children?: ParseTree[]

Значение свойства

ParseTree[]

Наследуется от ParserRuleContext.children

exception

Исключение, которое заставило возвращать это правило. Если правило успешно выполнено, это будет undefined.

exception?: RecognitionException

Значение свойства

RecognitionException

Наследуется от ParserRuleContext.exception

invokingState

invokingState: number

Значение свойства

number

Наследуется от RuleContext.invokingState

isEmpty

Контекст пуст, если состояние вызова отсутствует; это означает, что никто не называл текущий контекст.

isEmpty: boolean

Значение свойства

boolean

Наследуется от RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Значение свойства

ParserRuleContext | undefined

Наследуется от ParserRuleContext.parent

payload

payload: RuleContext

Значение свойства

RuleContext

Наследуется от RuleContext.payload

ruleContext

ruleContext: this

Значение свойства

this

Наследуется от ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Значение свойства

Interval

Наследуется от ParserRuleContext.sourceInterval

start

Получите начальный маркер в этом контексте. Обратите внимание, что диапазон от начала до остановки является инклюзивным, поэтому для правил, которые не используют ничего (например, нулевая длина или производство ошибок), этот маркер может превышать значение stop.

start: Token

Значение свойства

Token

Наследуется от ParserRuleContext.start

stop

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

stop: Token | undefined

Значение свойства

Token | undefined

Наследуется от ParserRuleContext.stop

text

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

text: string

Значение свойства

string

Наследуется от RuleContext.text

Сведения о методе

accept<Result>(LGTemplateParserVisitor<Result>)

function accept<Result>(visitor: LGTemplateParserVisitor<Result>): Result

Параметры

visitor

LGTemplateParserVisitor<Result>

Возвращаемое значение

Result

enterRule(LGTemplateParserListener)

function enterRule(listener: LGTemplateParserListener)

Параметры

exitRule(LGTemplateParserListener)

function exitRule(listener: LGTemplateParserListener)

Параметры

ifCondition()

function ifCondition(): IfConditionContext

Возвращаемое значение

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext | undefined

Возвращаемое значение

Сведения о наследуемом методе

addAnyChild<T>(T)

Добавьте узел дерева синтаксического анализа в качестве дочернего узла. Работает для внутренних и конечных узлов. Не устанавливает родительскую ссылку; Другие методы add должны делать это. Другие методы addChild вызывают это. Невозможно задать родительский указатель входящего узла, так как существующие интерфейсы не имеют метода setParent() и я не хочу прерывать обратную совместимость для этого.

@since 4.7

function addAnyChild<T>(t: T): T

Параметры

t

T

Возвращаемое значение

T

Наследуется от ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Параметры

ruleInvocation

RuleContext

Наследуется от ParserRuleContext.addChild

addChild(TerminalNode)

Добавьте дочерний конечный узел маркера и принудительно выберите его родительский узел.

function addChild(t: TerminalNode)

Параметры

t

TerminalNode

Наследуется от ParserRuleContext.addChild

addChild(Token)

Предупреждение

Теперь этот API является нерекомендуемым.

Use another overload instead.

Добавьте дочерний узел на основе matchedToken. Он создает TerminalNodeImpl вместо использования [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Я оставляю это в для совместимости, но средство синтаксического анализа больше не использует это.

function addChild(matchedToken: Token): TerminalNode

Параметры

matchedToken

Token

Возвращаемое значение

TerminalNode

Наследуется от ParserRuleContext.addChild

addErrorNode(ErrorNode)

Добавьте дочерний узел ошибки и принудительно выберите его родительский узел.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Параметры

errorNode

ErrorNode

Возвращаемое значение

ErrorNode

Наследуется от ParserRuleContext.addErrorNode

addErrorNode(Token)

Предупреждение

Теперь этот API является нерекомендуемым.

Use another overload instead.

Добавьте дочерний узел на основе badToken. Он создает errorNode вместо использования [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Я оставляю это в для совместимости, но средство синтаксического анализа больше не использует это.

function addErrorNode(badToken: Token): ErrorNode

Параметры

badToken

Token

Возвращаемое значение

ErrorNode

Наследуется от ParserRuleContext.addErrorNode

copyFrom(ParserRuleContext)

СКОПИРУЙТЕ ctx (я намеренно не использую конструктор копирования), чтобы избежать путаницы при создании узла с родительским элементом. Не копирует дочерние элементы (за исключением ошибок). Используется в созданном коде средства синтаксического анализа для перевернуть универсальный узел XContext для правила X в YContext для замещающего метки Y. В этом смысле это не универсальная функция копирования.

Если мы выпустим ошибку sync() в начале правила, мы можем добавить узлы ошибок в универсальный XContext, поэтому эта функция должна скопировать эти узлы в YContext, а в противном случае они будут потеряны.

function copyFrom(ctx: ParserRuleContext)

Параметры

ctx

ParserRuleContext

Наследуется от ParserRuleContext.copyFrom

depth()

function depth(): number

Возвращаемое значение

number

Наследуется от RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Возвращаемое значение

ParserRuleContext

Наследуется от ParserRuleContext.emptyContext

getChild(number)

function getChild(i: number): ParseTree

Параметры

i

number

Возвращаемое значение

ParseTree

Наследуется от ParserRuleContext.getChild

getChild<T>(number, { })

function getChild<T>(i: number, ctxType: {  }): T

Параметры

i

number

ctxType

{ }

Возвращаемое значение

T

Наследуется от ParserRuleContext.getChild

getChildContext(RuleContext, number)

static function getChildContext(parent: RuleContext, invokingState: number): RuleContext

Параметры

parent

RuleContext

invokingState

number

Возвращаемое значение

RuleContext

Наследуется от RuleContext.getChildContext

getRuleContext<T>(number, { })

function getRuleContext<T>(i: number, ctxType: {  }): T

Параметры

i

number

ctxType

{ }

Возвращаемое значение

T

Наследуется от ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

function getRuleContexts<T>(ctxType: {  }): T[]

Параметры

ctxType

{ }

Возвращаемое значение

T[]

Наследуется от ParserRuleContext.getRuleContexts

getToken(number, number)

function getToken(ttype: number, i: number): TerminalNode

Параметры

ttype

number

i

number

Возвращаемое значение

TerminalNode

Наследуется от ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Параметры

ttype

number

Возвращаемое значение

TerminalNode[]

Наследуется от ParserRuleContext.getTokens

removeLastChild()

Используется методом enterOuterAlt для отправки из RuleContext, добавленного ранее при вводе правила. Если у нас есть метка #, необходимо удалить универсальный объект ruleContext.

function removeLastChild()

Наследуется от ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Параметры

parent

RuleContext

Наследуется от RuleContext.setParent

toInfoString(Parser)

Используется для отладки контекста правила во время синтаксического анализа, а не для отладки ATN

function toInfoString(recognizer: Parser): string

Параметры

recognizer

Parser

Возвращаемое значение

string

Наследуется от ParserRuleContext.toInfoString

toString()

function toString(): string

Возвращаемое значение

string

Наследуется от RuleContext.toString

toString(Recognizer<any, any> | undefined)

function toString(recog: Recognizer<any, any> | undefined): string

Параметры

recog

Recognizer<any, any> | undefined

Возвращаемое значение

string

Наследуется от RuleContext.toString

toString(Recognizer<any, any> | undefined, RuleContext | undefined)

function toString(recog: Recognizer<any, any> | undefined, stop: RuleContext | undefined): string

Параметры

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Возвращаемое значение

string

Наследуется от RuleContext.toString

toString(string[] | undefined)

function toString(ruleNames: string[] | undefined): string

Параметры

ruleNames

string[] | undefined

Возвращаемое значение

string

Наследуется от RuleContext.toString

toString(string[] | undefined, RuleContext | undefined)

function toString(ruleNames: string[] | undefined, stop: RuleContext | undefined): string

Параметры

ruleNames

string[] | undefined

stop

RuleContext | undefined

Возвращаемое значение

string

Наследуется от RuleContext.toString

toStringTree()

function toStringTree(): string

Возвращаемое значение

string

Наследуется от RuleContext.toStringTree

toStringTree(Parser)

Выведите целое дерево, а не только узел, в формате LISP (корневой дочерний1 .. childN). Печать только узла, если это конечный элемент. Мы должны знать распознаватель, чтобы получить имена правил.

function toStringTree(recog: Parser): string

Параметры

recog

Parser

Возвращаемое значение

string

Наследуется от RuleContext.toStringTree

toStringTree(string[] | undefined)

Выведите целое дерево, а не только узел, в формате LISP (корневой дочерний1 .. childN). Печать только узла, если это конечный элемент.

function toStringTree(ruleNames: string[] | undefined): string

Параметры

ruleNames

string[] | undefined

Возвращаемое значение

string

Наследуется от RuleContext.toStringTree

tryGetChild<T>(number, { })

function tryGetChild<T>(i: number, ctxType: {  }): T | undefined

Параметры

i

number

ctxType

{ }

Возвращаемое значение

T | undefined

Наследуется от ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

function tryGetRuleContext<T>(i: number, ctxType: {  }): T | undefined

Параметры

i

number

ctxType

{ }

Возвращаемое значение

T | undefined

Наследуется от ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

function tryGetToken(ttype: number, i: number): TerminalNode | undefined

Параметры

ttype

number

i

number

Возвращаемое значение

TerminalNode | undefined

Наследуется от ParserRuleContext.tryGetToken