Compartilhar via


KeyContext class

Extends

ParserRuleContext

Construtores

KeyContext(ParserRuleContext | undefined, number)

Propriedades

ruleIndex

Propriedades herdadas

altNumber

Defina o número alternativo externo para esse nó de contexto. A implementação padrão não faz nada para evitar a sobrecarga do campo de backup para árvores que não precisam dela. Crie uma subclasse de ParserRuleContext com o campo de suporte e defina o contexto de opçãoSuperClass. @since 4.5.3

childCount
children

Se estivermos depurando ou criando uma árvore de análise para um visitante, precisamos rastrear todos os tokens e invocações de regra associados ao contexto dessa regra. Isso está vazio para analisar o constr de árvore w/o. porque não precisamos acompanhar os detalhes sobre como analisamos essa regra.

exception

A exceção que forçou essa regra a retornar. Se a regra for concluída com êxito, esta será undefined.

invokingState
isEmpty

Um contexto estará vazio se não houver estado de invocação; ou seja, ninguém chamou o contexto atual.

parent
payload
ruleContext
sourceInterval
start

Obtenha o token inicial neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro), esse token pode exceder a parada.

stop

Obtenha o token final neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro), esse token pode preceder o início.

text

Retornar o texto combinado de todos os nós filho. Esse método considera apenas tokens que foram adicionados à árvore de análise. Como os tokens em canais ocultos (por exemplo, espaço em branco ou comentários) não são adicionados às árvores de análise, eles não aparecerão na saída desse método.

Métodos

accept<Result>(ExpressionAntlrParserVisitor<Result>)
enterRule(ExpressionAntlrParserListener)
exitRule(ExpressionAntlrParserListener)
IDENTIFIER()
STRING()

Métodos herdados

addAnyChild<T>(T)

Adicione um nó de árvore de análise a isso como um filho. Funciona para nós internos e folhas. Não define o link pai; outros métodos add devem fazer isso. Outros métodos addChild chamam isso. Não é possível definir o ponteiro pai do nó de entrada porque as interfaces existentes não têm um método setParent() e não quero interromper a compatibilidade com versões anteriores para isso.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Adicione um filho de nó folha de token e force seu pai a ser esse nó.

addChild(Token)

Adicione um filho a esse nó com base em matchedToken. Ele cria um TerminalNodeImpl em vez de usar [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Estou deixando isso em para compatibilidade, mas o analisador não usa mais isso.

addErrorNode(ErrorNode)

Adicione um filho de nó de erro e force seu pai a ser esse nó.

addErrorNode(Token)

Adicione um filho a esse nó com base em badToken. Ele cria um ErrorNode em vez de usar [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Estou deixando isso em para compatibilidade, mas o analisador não usa mais isso.

copyFrom(ParserRuleContext)

COPIE um ctx (não estou usando deliberadamente o construtor de cópia) para evitar confusão com a criação de um nó com o pai. Não copia filhos (exceto folhas de erro). Isso é usado no código do analisador gerado para inverter um nó XContext genérico para a regra X para um YContext para o rótulo alt Y. Nesse sentido, não é realmente uma função de cópia genérica.

Se fizermos uma sincronização de erro() no início de uma regra, podemos adicionar nós de erro ao XContext genérico, portanto, essa função deve copiar esses nós para o YContext, caso contrário, eles também serão perdidos!

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

Usado por enterOuterAlt para descartar um RuleContext adicionado anteriormente à medida que inserimos uma regra. Se tivermos # label, precisaremos remover o objeto ruleContext genérico.

setParent(RuleContext)
toInfoString(Parser)

Usado para depuração de informações de contexto de regra durante o tempo de análise, não tanto para depuração de 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)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (child1 raiz .. childN). Imprima apenas um nó se esta for uma folha. Temos que conhecer o reconhecedor para que possamos obter nomes de regras.

toStringTree(string[] | undefined)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (child1 raiz .. childN). Imprima apenas um nó se esta for uma folha.

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

Detalhes do construtor

KeyContext(ParserRuleContext | undefined, number)

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

Parâmetros

parent

ParserRuleContext | undefined

invokingState

number

Detalhes da propriedade

ruleIndex

number ruleIndex

Valor da propriedade

number

Detalhes das propriedades herdadas

altNumber

Defina o número alternativo externo para esse nó de contexto. A implementação padrão não faz nada para evitar a sobrecarga do campo de backup para árvores que não precisam dela. Crie uma subclasse de ParserRuleContext com o campo de suporte e defina o contexto de opçãoSuperClass. @since 4.5.3

altNumber: number

Valor da propriedade

number

Herdado de RuleContext.altNumber

childCount

childCount: number

Valor da propriedade

number

Herdado de ParserRuleContext.childCount

children

Se estivermos depurando ou criando uma árvore de análise para um visitante, precisamos rastrear todos os tokens e invocações de regra associados ao contexto dessa regra. Isso está vazio para analisar o constr de árvore w/o. porque não precisamos acompanhar os detalhes sobre como analisamos essa regra.

children?: ParseTree[]

Valor da propriedade

ParseTree[]

Herdado de ParserRuleContext.children

exception

A exceção que forçou essa regra a retornar. Se a regra for concluída com êxito, esta será undefined.

exception?: RecognitionException

Valor da propriedade

RecognitionException

Herdado de ParserRuleContext.exception

invokingState

invokingState: number

Valor da propriedade

number

Herdado de RuleContext.invokingState

isEmpty

Um contexto estará vazio se não houver estado de invocação; ou seja, ninguém chamou o contexto atual.

isEmpty: boolean

Valor da propriedade

boolean

Herdado de RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Valor da propriedade

ParserRuleContext | undefined

Herdado de ParserRuleContext.parent

payload

payload: RuleContext

Valor da propriedade

RuleContext

Herdado de RuleContext.payload

ruleContext

ruleContext: this

Valor da propriedade

this

Herdado de ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Valor da propriedade

Interval

Herdado de ParserRuleContext.sourceInterval

start

Obtenha o token inicial neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro), esse token pode exceder a parada.

start: Token

Valor da propriedade

Token

Herdado de ParserRuleContext.start

stop

Obtenha o token final neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro), esse token pode preceder o início.

stop: Token | undefined

Valor da propriedade

Token | undefined

Herdado de ParserRuleContext.stop

text

Retornar o texto combinado de todos os nós filho. Esse método considera apenas tokens que foram adicionados à árvore de análise. Como os tokens em canais ocultos (por exemplo, espaço em branco ou comentários) não são adicionados às árvores de análise, eles não aparecerão na saída desse método.

text: string

Valor da propriedade

string

Herdado de RuleContext.text

Detalhes do método

accept<Result>(ExpressionAntlrParserVisitor<Result>)

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

Parâmetros

Retornos

Result

enterRule(ExpressionAntlrParserListener)

function enterRule(listener: ExpressionAntlrParserListener)

Parâmetros

exitRule(ExpressionAntlrParserListener)

function exitRule(listener: ExpressionAntlrParserListener)

Parâmetros

IDENTIFIER()

function IDENTIFIER(): TerminalNode | undefined

Retornos

TerminalNode | undefined

STRING()

function STRING(): TerminalNode | undefined

Retornos

TerminalNode | undefined

Detalhes do método herdado

addAnyChild<T>(T)

Adicione um nó de árvore de análise a isso como um filho. Funciona para nós internos e folhas. Não define o link pai; outros métodos add devem fazer isso. Outros métodos addChild chamam isso. Não é possível definir o ponteiro pai do nó de entrada porque as interfaces existentes não têm um método setParent() e não quero interromper a compatibilidade com versões anteriores para isso.

@since 4.7

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

Parâmetros

t

T

Retornos

T

Herdado de ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Parâmetros

ruleInvocation

RuleContext

Herdado de ParserRuleContext.addChild

addChild(TerminalNode)

Adicione um filho de nó folha de token e force seu pai a ser esse nó.

function addChild(t: TerminalNode)

Parâmetros

t

TerminalNode

Herdado de ParserRuleContext.addChild

addChild(Token)

Aviso

Essa API foi preterida.

Use another overload instead.

Adicione um filho a esse nó com base em matchedToken. Ele cria um TerminalNodeImpl em vez de usar [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Estou deixando isso em para compatibilidade, mas o analisador não usa mais isso.

function addChild(matchedToken: Token): TerminalNode

Parâmetros

matchedToken

Token

Retornos

TerminalNode

Herdado de ParserRuleContext.addChild

addErrorNode(ErrorNode)

Adicione um filho de nó de erro e force seu pai a ser esse nó.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Parâmetros

errorNode

ErrorNode

Retornos

ErrorNode

Herdado de ParserRuleContext.addErrorNode

addErrorNode(Token)

Aviso

Essa API foi preterida.

Use another overload instead.

Adicione um filho a esse nó com base em badToken. Ele cria um ErrorNode em vez de usar [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Estou deixando isso em para compatibilidade, mas o analisador não usa mais isso.

function addErrorNode(badToken: Token): ErrorNode

Parâmetros

badToken

Token

Retornos

ErrorNode

Herdado de ParserRuleContext.addErrorNode

copyFrom(ParserRuleContext)

COPIE um ctx (não estou usando deliberadamente o construtor de cópia) para evitar confusão com a criação de um nó com o pai. Não copia filhos (exceto folhas de erro). Isso é usado no código do analisador gerado para inverter um nó XContext genérico para a regra X para um YContext para o rótulo alt Y. Nesse sentido, não é realmente uma função de cópia genérica.

Se fizermos uma sincronização de erro() no início de uma regra, podemos adicionar nós de erro ao XContext genérico, portanto, essa função deve copiar esses nós para o YContext, caso contrário, eles também serão perdidos!

function copyFrom(ctx: ParserRuleContext)

Parâmetros

ctx

ParserRuleContext

Herdado de ParserRuleContext.copyFrom

depth()

function depth(): number

Retornos

number

Herdado de RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Retornos

ParserRuleContext

Herdado de ParserRuleContext.emptyContext

getChild(number)

function getChild(i: number): ParseTree

Parâmetros

i

number

Retornos

ParseTree

Herdado de ParserRuleContext.getChild

getChild<T>(number, { })

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

Parâmetros

i

number

ctxType

{ }

Retornos

T

Herdado de ParserRuleContext.getChild

getChildContext(RuleContext, number)

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

Parâmetros

parent

RuleContext

invokingState

number

Retornos

RuleContext

Herdado de RuleContext.getChildContext

getRuleContext<T>(number, { })

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

Parâmetros

i

number

ctxType

{ }

Retornos

T

Herdado de ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

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

Parâmetros

ctxType

{ }

Retornos

T[]

Herdado de ParserRuleContext.getRuleContexts

getToken(number, number)

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

Parâmetros

ttype

number

i

number

Retornos

TerminalNode

Herdado de ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Parâmetros

ttype

number

Retornos

TerminalNode[]

Herdado de ParserRuleContext.getTokens

removeLastChild()

Usado por enterOuterAlt para descartar um RuleContext adicionado anteriormente à medida que inserimos uma regra. Se tivermos # label, precisaremos remover o objeto ruleContext genérico.

function removeLastChild()

Herdado de ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Parâmetros

parent

RuleContext

Herdado de RuleContext.setParent

toInfoString(Parser)

Usado para depuração de informações de contexto de regra durante o tempo de análise, não tanto para depuração de ATN

function toInfoString(recognizer: Parser): string

Parâmetros

recognizer

Parser

Retornos

string

Herdado de ParserRuleContext.toInfoString

toString()

function toString(): string

Retornos

string

Herdado de RuleContext.toString

toString(Recognizer<any, any> | undefined)

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

Parâmetros

recog

Recognizer<any, any> | undefined

Retornos

string

Herdado de RuleContext.toString

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

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

Parâmetros

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Retornos

string

Herdado de RuleContext.toString

toString(string[] | undefined)

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

Parâmetros

ruleNames

string[] | undefined

Retornos

string

Herdado de RuleContext.toString

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

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

Parâmetros

ruleNames

string[] | undefined

stop

RuleContext | undefined

Retornos

string

Herdado de RuleContext.toString

toStringTree()

function toStringTree(): string

Retornos

string

Herdado de RuleContext.toStringTree

toStringTree(Parser)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (child1 raiz .. childN). Imprima apenas um nó se esta for uma folha. Temos que conhecer o reconhecedor para que possamos obter nomes de regras.

function toStringTree(recog: Parser): string

Parâmetros

recog

Parser

Retornos

string

Herdado de RuleContext.toStringTree

toStringTree(string[] | undefined)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (child1 raiz .. childN). Imprima apenas um nó se esta for uma folha.

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

Parâmetros

ruleNames

string[] | undefined

Retornos

string

Herdado de RuleContext.toStringTree

tryGetChild<T>(number, { })

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

Parâmetros

i

number

ctxType

{ }

Retornos

T | undefined

Herdado de ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

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

Parâmetros

i

number

ctxType

{ }

Retornos

T | undefined

Herdado de ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

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

Parâmetros

ttype

number

i

number

Retornos

TerminalNode | undefined

Herdado de ParserRuleContext.tryGetToken