IfConditionRuleContext class

扩展

ParserRuleContext

构造函数

IfConditionRuleContext(ParserRuleContext | undefined, number)

属性

ruleIndex

继承属性

altNumber

设置此上下文节点的外部备用编号。 默认实现不执行任何操作,以避免不需要它的树的后备字段开销。 使用后盾字段创建 ParserRuleContext 的子类,并设置选项 contextSuperClass。 @since 4.5.3

childCount
children

如果要为访问者调试或生成分析树,则需要跟踪与此规则上下文关联的所有令牌和规则调用。 这为空,用于分析 w/o 树 constr。 操作,因为我们不需要跟踪有关如何分析此规则的详细信息。

exception

强制此规则返回的例外。 如果规则成功完成,则会 undefined

invokingState
isEmpty

如果没有调用状态,则上下文为空;这意味着没有人调用当前上下文。

parent
payload
ruleContext
sourceInterval
start

在此上下文中获取初始令牌。 请注意,从开始到停止的范围是非独占的,因此对于不使用任何内容(例如,零长度或错误生产)的规则,此令牌可能会超过停止。

stop

获取此上下文中的最终令牌。 请注意,从开始到停止的范围是非独占的,因此对于不使用任何内容(例如,零长度或错误生产)的规则,此令牌可能在开始之前。

text

返回所有子节点的组合文本。 此方法仅考虑已添加到分析树中的令牌。 由于隐藏通道(例如空格或注释)上的标记未添加到分析树中,因此它们不会显示在此方法的输出中。

方法

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

继承的方法

addAnyChild<T>(T)

将分析树节点作为子节点添加到此节点。 适用于内部节点和叶节点。 不设置父链接;其他添加方法必须执行此操作。 其他 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(我故意不使用复制构造函数),以避免与创建具有父节点的混淆。 不复制子级(错误离开除外)。 这在生成的分析器代码中用于将规则 X 的泛型 XContext 节点翻转为替换标签 Y 的 YContext。从这个意义上说,它并不是一个泛型复制函数。

如果在规则开始时执行错误同步(),我们可能会将错误节点添加到泛型 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 格式(根 child1 .. childN)打印出整个树,而不仅仅是节点。 如果这是叶,则仅打印一个节点。 我们必须知道识别器,以便我们可以获取规则名称。

toStringTree(string[] | undefined)

以 LISP 格式(根 child1 .. 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

如果要为访问者调试或生成分析树,则需要跟踪与此规则上下文关联的所有令牌和规则调用。 这为空,用于分析 w/o 树 constr。 操作,因为我们不需要跟踪有关如何分析此规则的详细信息。

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

在此上下文中获取初始令牌。 请注意,从开始到停止的范围是非独占的,因此对于不使用任何内容(例如,零长度或错误生产)的规则,此令牌可能会超过停止。

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)

将分析树节点作为子节点添加到此节点。 适用于内部节点和叶节点。 不设置父链接;其他添加方法必须执行此操作。 其他 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(我故意不使用复制构造函数),以避免与创建具有父节点的混淆。 不复制子级(错误离开除外)。 这在生成的分析器代码中用于将规则 X 的泛型 XContext 节点翻转为替换标签 Y 的 YContext。从这个意义上说,它并不是一个泛型复制函数。

如果在规则开始时执行错误同步(),我们可能会将错误节点添加到泛型 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 格式(根 child1 .. childN)打印出整个树,而不仅仅是节点。 如果这是叶,则仅打印一个节点。 我们必须知道识别器,以便我们可以获取规则名称。

function toStringTree(recog: Parser): string

参数

recog

Parser

返回

string

继承自 RuleContext.toStringTree

toStringTree(string[] | undefined)

以 LISP 格式(根 child1 .. 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