KeyContext class
- Extends
-
ParserRuleContext
Construtores
Key |
Propriedades
rule |
Propriedades herdadas
alt |
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 |
child |
|
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á |
invoking |
|
is |
Um contexto estará vazio se não houver estado de invocação; ou seja, ninguém chamou o contexto atual. |
parent | |
payload | |
rule |
|
source |
|
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>(Expression |
|
enter |
|
exit |
|
IDENTIFIER() | |
STRING() |
Métodos herdados
add |
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 |
add |
|
add |
Adicione um filho de nó folha de token e force seu pai a ser esse nó. |
add |
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. |
add |
Adicione um filho de nó de erro e force seu pai a ser esse nó. |
add |
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. |
copy |
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() | |
empty |
|
get |
|
get |
|
get |
|
get |
|
get |
|
get |
|
get |
|
remove |
Usado por enterOuterAlt para descartar um RuleContext adicionado anteriormente à medida que inserimos uma regra. Se tivermos # label, precisaremos remover o objeto ruleContext genérico. |
set |
|
to |
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 |
to |
|
to |
|
to |
|
to |
|
to |
|
to |
|
to |
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. |
to |
Imprima uma árvore inteira, não apenas um nó, no formato LISP (child1 raiz .. childN). Imprima apenas um nó se esta for uma folha. |
try |
|
try |
|
try |
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
- visitor
-
ExpressionAntlrParserVisitor<Result>
Retornos
Result
enterRule(ExpressionAntlrParserListener)
function enterRule(listener: ExpressionAntlrParserListener)
Parâmetros
- listener
- ExpressionAntlrParserListener
exitRule(ExpressionAntlrParserListener)
function exitRule(listener: ExpressionAntlrParserListener)
Parâmetros
- listener
- ExpressionAntlrParserListener
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