ErrorStructureLineContext class

Extends

ParserRuleContext

构造函数

ErrorStructureLineContext(ParserRuleContext | undefined, number)

属性

ruleIndex

继承属性

altNumber

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

childCount
children

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

exception

强制返回此规则的异常。 如果规则成功完成,则为 undefined

invokingState
isEmpty

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

parent
payload
ruleContext
sourceInterval
start

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

stop

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

text

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

方法

accept<Result>(LGTemplateParserVisitor<Result>)
enterRule(LGTemplateParserListener)
ESCAPE_CHARACTER_IN_STRUCTURE_BODY()
ESCAPE_CHARACTER_IN_STRUCTURE_BODY(number)
exitRule(LGTemplateParserListener)
expressionInStructure()
expressionInStructure(number)
STRUCTURE_EQUALS()
STRUCTURE_EQUALS(number)
STRUCTURE_IDENTIFIER()
STRUCTURE_IDENTIFIER(number)
STRUCTURE_OR_MARK()
STRUCTURE_OR_MARK(number)
TEXT_IN_STRUCTURE_BODY()
TEXT_IN_STRUCTURE_BODY(number)

继承的方法

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。从这个意义上说,它并不是一个泛型复制函数。

如果在规则开头执行错误 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 格式打印出整个树,而不仅仅是一个节点, (根 child1 。childN) 。 如果这是叶,则只打印一个节点。 我们必须知道识别器才能获取规则名称。

toStringTree(string[] | undefined)

以 LISP 格式打印出整个树,而不仅仅是一个节点, (根 child1 。childN) 。 如果这是叶,则只打印一个节点。

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

构造函数详细信息

ErrorStructureLineContext(ParserRuleContext | undefined, number)

new ErrorStructureLineContext(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

如果要为访问者调试或生成分析树,则需要跟踪与此规则的上下文关联的所有令牌和规则调用。 对于使用树 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)

参数

ESCAPE_CHARACTER_IN_STRUCTURE_BODY()

function ESCAPE_CHARACTER_IN_STRUCTURE_BODY(): TerminalNode[]

返回

TerminalNode[]

ESCAPE_CHARACTER_IN_STRUCTURE_BODY(number)

function ESCAPE_CHARACTER_IN_STRUCTURE_BODY(i: number): TerminalNode

参数

i

number

返回

TerminalNode

exitRule(LGTemplateParserListener)

function exitRule(listener: LGTemplateParserListener)

参数

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext[]

返回

expressionInStructure(number)

function expressionInStructure(i: number): ExpressionInStructureContext

参数

i

number

返回

STRUCTURE_EQUALS()

function STRUCTURE_EQUALS(): TerminalNode[]

返回

TerminalNode[]

STRUCTURE_EQUALS(number)

function STRUCTURE_EQUALS(i: number): TerminalNode

参数

i

number

返回

TerminalNode

STRUCTURE_IDENTIFIER()

function STRUCTURE_IDENTIFIER(): TerminalNode[]

返回

TerminalNode[]

STRUCTURE_IDENTIFIER(number)

function STRUCTURE_IDENTIFIER(i: number): TerminalNode

参数

i

number

返回

TerminalNode

STRUCTURE_OR_MARK()

function STRUCTURE_OR_MARK(): TerminalNode[]

返回

TerminalNode[]

STRUCTURE_OR_MARK(number)

function STRUCTURE_OR_MARK(i: number): TerminalNode

参数

i

number

返回

TerminalNode

TEXT_IN_STRUCTURE_BODY()

function TEXT_IN_STRUCTURE_BODY(): TerminalNode[]

返回

TerminalNode[]

TEXT_IN_STRUCTURE_BODY(number)

function TEXT_IN_STRUCTURE_BODY(i: number): TerminalNode

参数

i

number

返回

TerminalNode

继承的方法详细信息

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。从这个意义上说,它并不是一个泛型复制函数。

如果在规则开头执行错误 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 格式打印出整个树,而不仅仅是一个节点, (根 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