Partager via


ExpressionContext class

Extends

ParserRuleContext

Constructeurs

ExpressionContext(ParserRuleContext | undefined, number)

Propriétés

ruleIndex

Propriétés héritées

altNumber

Définissez l’autre numéro externe pour ce nœud de contexte. L’implémentation par défaut ne permet pas d’éviter la surcharge de champ de stockage pour les arborescences qui n’en ont pas besoin. Créez une sous-classe de ParserRuleContext avec le champ de sauvegarde et définissez l’option contextSuperClass. @since 4.5.3

childCount
children

Si nous déboguons ou créons une arborescence d’analyse pour un visiteur, nous devons suivre tous les jetons et les appels de règle associés au contexte de cette règle. Il est vide pour l’analyse de la constr d’arborescence w/o. car nous n’avons pas besoin de suivre les détails de l’analyse de cette règle.

exception

Exception qui a forcé le retour de cette règle. Si la règle s’est terminée, il s’agit de undefined.

invokingState
isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; c’est-à-dire que personne n’a appelé le contexte actuel.

parent
payload
ruleContext
sourceInterval
start

Obtenez le jeton initial dans ce contexte. Notez que la plage du début à l’arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, la longueur nulle ou les productions d’erreur), ce jeton peut dépasser l’arrêt.

stop

Obtenez le jeton final dans ce contexte. Notez que la plage du début à l’arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, les productions de longueur nulle ou d’erreur), ce jeton peut précéder le début.

text

Retourne le texte combiné de tous les nœuds enfants. Cette méthode prend uniquement en compte les jetons qui ont été ajoutés à l’arborescence d’analyse. Étant donné que les jetons sur les canaux masqués (par exemple, espaces blancs ou commentaires) ne sont pas ajoutés aux arborescences d’analyse, ils n’apparaissent pas dans la sortie de cette méthode.

Méthodes

copyFrom(ExpressionContext)

Méthodes héritées

accept<T>(ParseTreeVisitor<T>)
addAnyChild<T>(T)

Ajoutez un nœud d’arborescence d’analyse à ce nœud en tant qu’enfant. Fonctionne pour les nœuds internes et feuilles. Ne définit pas de lien parent ; d’autres méthodes d’ajout doivent le faire. D’autres méthodes addChild appellent ceci. Nous ne pouvons pas définir le pointeur parent du nœud entrant, car les interfaces existantes n’ont pas de méthode setParent() et je ne souhaite pas interrompre la compatibilité descendante pour cela.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Ajoutez un enfant de nœud feuille de jeton et forcez son parent à être ce nœud.

addChild(Token)

Ajoutez un enfant à ce nœud en fonction de correspondanceToken. Il crée un TerminalNodeImpl plutôt que d’utiliser [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

addErrorNode(ErrorNode)

Ajoutez un nœud d’erreur enfant et forcez son parent à être ce nœud.

addErrorNode(Token)

Ajoutez un enfant à ce nœud en fonction de badToken. Il crée un ErrorNode plutôt que d’utiliser [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

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

Utilisé par enterOuterAlt pour extraire une règle RuleContext précédemment ajoutée lors de l’entrée d’une règle. Si nous avons # label, nous devons supprimer l’objet ruleContext générique.

setParent(RuleContext)
toInfoString(Parser)

Utilisé pour le débogage des informations de contexte de règle pendant l’analyse, pas tant pour le débogage 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)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez simplement un nœud s’il s’agit d’une feuille. Nous devons connaître le module de reconnaissance pour pouvoir obtenir des noms de règle.

toStringTree(string[] | undefined)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez simplement un nœud s’il s’agit d’une feuille.

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

Détails du constructeur

ExpressionContext(ParserRuleContext | undefined, number)

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

Paramètres

parent

ParserRuleContext | undefined

invokingState

number

Détails de la propriété

ruleIndex

number ruleIndex

Valeur de propriété

number

Détails de la propriété héritée

altNumber

Définissez l’autre numéro externe pour ce nœud de contexte. L’implémentation par défaut ne permet pas d’éviter la surcharge de champ de stockage pour les arborescences qui n’en ont pas besoin. Créez une sous-classe de ParserRuleContext avec le champ de sauvegarde et définissez l’option contextSuperClass. @since 4.5.3

altNumber: number

Valeur de propriété

number

Hérité de RuleContext.altNumber

childCount

childCount: number

Valeur de propriété

number

Hérité de ParserRuleContext.childCount

children

Si nous déboguons ou créons une arborescence d’analyse pour un visiteur, nous devons suivre tous les jetons et les appels de règle associés au contexte de cette règle. Il est vide pour l’analyse de la constr d’arborescence w/o. car nous n’avons pas besoin de suivre les détails de l’analyse de cette règle.

children?: ParseTree[]

Valeur de propriété

ParseTree[]

Hérité de ParserRuleContext.children

exception

Exception qui a forcé le retour de cette règle. Si la règle s’est terminée, il s’agit de undefined.

exception?: RecognitionException

Valeur de propriété

RecognitionException

Hérité de ParserRuleContext.exception

invokingState

invokingState: number

Valeur de propriété

number

Hérité de RuleContext.invokingState

isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; c’est-à-dire que personne n’a appelé le contexte actuel.

isEmpty: boolean

Valeur de propriété

boolean

Hérité de RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Valeur de propriété

ParserRuleContext | undefined

Hérité de ParserRuleContext.parent

payload

payload: RuleContext

Valeur de propriété

RuleContext

Hérité de RuleContext.payload

ruleContext

ruleContext: this

Valeur de propriété

this

Hérité de ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Valeur de propriété

Interval

Hérité de ParserRuleContext.sourceInterval

start

Obtenez le jeton initial dans ce contexte. Notez que la plage du début à l’arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, la longueur nulle ou les productions d’erreur), ce jeton peut dépasser l’arrêt.

start: Token

Valeur de propriété

Token

Hérité de ParserRuleContext.start

stop

Obtenez le jeton final dans ce contexte. Notez que la plage du début à l’arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, les productions de longueur nulle ou d’erreur), ce jeton peut précéder le début.

stop: Token | undefined

Valeur de propriété

Token | undefined

Hérité de ParserRuleContext.stop

text

Retourne le texte combiné de tous les nœuds enfants. Cette méthode prend uniquement en compte les jetons qui ont été ajoutés à l’arborescence d’analyse. Étant donné que les jetons sur les canaux masqués (par exemple, espaces blancs ou commentaires) ne sont pas ajoutés aux arborescences d’analyse, ils n’apparaissent pas dans la sortie de cette méthode.

text: string

Valeur de propriété

string

Hérité de RuleContext.text

Détails de la méthode

copyFrom(ExpressionContext)

function copyFrom(ctx: ExpressionContext)

Paramètres

Détails de la méthode héritée

accept<T>(ParseTreeVisitor<T>)

function accept<T>(visitor: ParseTreeVisitor<T>): T

Paramètres

visitor

ParseTreeVisitor<T>

Retours

T

Hérité de RuleContext.accept

addAnyChild<T>(T)

Ajoutez un nœud d’arborescence d’analyse à ce nœud en tant qu’enfant. Fonctionne pour les nœuds internes et feuilles. Ne définit pas de lien parent ; d’autres méthodes d’ajout doivent le faire. D’autres méthodes addChild appellent ceci. Nous ne pouvons pas définir le pointeur parent du nœud entrant, car les interfaces existantes n’ont pas de méthode setParent() et je ne souhaite pas interrompre la compatibilité descendante pour cela.

@since 4.7

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

Paramètres

t

T

Retours

T

Hérité de ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Paramètres

ruleInvocation

RuleContext

Hérité de ParserRuleContext.addChild

addChild(TerminalNode)

Ajoutez un enfant de nœud feuille de jeton et forcez son parent à être ce nœud.

function addChild(t: TerminalNode)

Paramètres

t

TerminalNode

Hérité de ParserRuleContext.addChild

addChild(Token)

Avertissement

Cette API est à présent déconseillée.

Use another overload instead.

Ajoutez un enfant à ce nœud en fonction de correspondanceToken. Il crée un TerminalNodeImpl plutôt que d’utiliser [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

function addChild(matchedToken: Token): TerminalNode

Paramètres

matchedToken

Token

Retours

TerminalNode

Hérité de ParserRuleContext.addChild

addErrorNode(ErrorNode)

Ajoutez un nœud d’erreur enfant et forcez son parent à être ce nœud.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Paramètres

errorNode

ErrorNode

Retours

ErrorNode

Hérité de ParserRuleContext.addErrorNode

addErrorNode(Token)

Avertissement

Cette API est à présent déconseillée.

Use another overload instead.

Ajoutez un enfant à ce nœud en fonction de badToken. Il crée un ErrorNode plutôt que d’utiliser [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

function addErrorNode(badToken: Token): ErrorNode

Paramètres

badToken

Token

Retours

ErrorNode

Hérité de ParserRuleContext.addErrorNode

depth()

function depth(): number

Retours

number

Hérité de RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Retours

ParserRuleContext

Hérité de ParserRuleContext.emptyContext

enterRule(ParseTreeListener)

function enterRule(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

Hérité de ParserRuleContext.enterRule

exitRule(ParseTreeListener)

function exitRule(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

Hérité de ParserRuleContext.exitRule

getChild(number)

function getChild(i: number): ParseTree

Paramètres

i

number

Retours

ParseTree

Hérité de ParserRuleContext.getChild

getChild<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T

Hérité de ParserRuleContext.getChild

getChildContext(RuleContext, number)

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

Paramètres

parent

RuleContext

invokingState

number

Retours

RuleContext

Hérité de RuleContext.getChildContext

getRuleContext<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T

Hérité de ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

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

Paramètres

ctxType

{ }

Retours

T[]

Hérité de ParserRuleContext.getRuleContexts

getToken(number, number)

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

Paramètres

ttype

number

i

number

Retours

TerminalNode

Hérité de ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Paramètres

ttype

number

Retours

TerminalNode[]

Hérité de ParserRuleContext.getTokens

removeLastChild()

Utilisé par enterOuterAlt pour extraire une règle RuleContext précédemment ajoutée lors de l’entrée d’une règle. Si nous avons # label, nous devons supprimer l’objet ruleContext générique.

function removeLastChild()

Hérité de ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Paramètres

parent

RuleContext

Hérité de RuleContext.setParent

toInfoString(Parser)

Utilisé pour le débogage des informations de contexte de règle pendant l’analyse, pas tant pour le débogage ATN

function toInfoString(recognizer: Parser): string

Paramètres

recognizer

Parser

Retours

string

Hérité de ParserRuleContext.toInfoString

toString()

function toString(): string

Retours

string

Hérité de RuleContext.toString

toString(Recognizer<any, any> | undefined)

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

Paramètres

recog

Recognizer<any, any> | undefined

Retours

string

Hérité de RuleContext.toString

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

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

Paramètres

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Retours

string

Hérité de RuleContext.toString

toString(string[] | undefined)

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

Paramètres

ruleNames

string[] | undefined

Retours

string

Hérité de RuleContext.toString

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

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

Paramètres

ruleNames

string[] | undefined

stop

RuleContext | undefined

Retours

string

Hérité de RuleContext.toString

toStringTree()

function toStringTree(): string

Retours

string

Hérité de RuleContext.toStringTree

toStringTree(Parser)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez simplement un nœud s’il s’agit d’une feuille. Nous devons connaître le module de reconnaissance pour pouvoir obtenir des noms de règle.

function toStringTree(recog: Parser): string

Paramètres

recog

Parser

Retours

string

Hérité de RuleContext.toStringTree

toStringTree(string[] | undefined)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez simplement un nœud s’il s’agit d’une feuille.

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

Paramètres

ruleNames

string[] | undefined

Retours

string

Hérité de RuleContext.toStringTree

tryGetChild<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

Hérité de ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

Hérité de ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

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

Paramètres

ttype

number

i

number

Retours

TerminalNode | undefined

Hérité de ParserRuleContext.tryGetToken