Partager via


CommentDefinitionContext class

Extends

ParserRuleContext

Constructeurs

CommentDefinitionContext(ParserRuleContext | undefined, number)

Propriétés

altNumber

Définissez le numéro de remplacement externe pour ce nœud de contexte. L’implémentation par défaut ne fait rien pour é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 stockage 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. Ce champ est vide pour l’analyse de l’arborescence constr. 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 correctement, il s’agit de undefined.

invokingState
isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; ce qui signifie que personne n’a appelé le contexte actuel.

parent
payload
ruleContext
ruleIndex
sourceInterval
start

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

stop

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

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

accept<Result>(LGFileParserVisitor<Result>)
COMMENT()
enterRule(LGFileParserListener)
exitRule(LGFileParserListener)
NEWLINE()

Méthodes héritées

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.

copyFrom(ParserRuleContext)

COPY a ctx (je n’utilise pas délibérément le constructeur de copie) pour éviter toute confusion lors de la création d’un nœud avec le parent. Ne copie pas les enfants (sauf les feuilles d’erreur). Cela est utilisé dans le code de l’analyseur généré pour retourner un nœud XContext générique pour la règle X en YContext pour l’étiquette de remplacement Y. En ce sens, il ne s’agit pas vraiment d’une fonction de copie générique.

Si nous effectuons une synchronisation d’erreur() au début d’une règle, nous pouvons ajouter des nœuds d’erreur au XContext générique de sorte que cette fonction doit copier ces nœuds dans le YContext, sinon ils sont perdus!

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

Utilisé par enterOuterAlt pour extraire un RuleContext précédemment ajouté 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 tellement 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 uniquement 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 uniquement un nœud s’il s’agit d’une feuille.

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

Détails du constructeur

CommentDefinitionContext(ParserRuleContext | undefined, number)

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

Paramètres

parent

ParserRuleContext | undefined

invokingState

number

Détails de la propriété

altNumber

Définissez le numéro de remplacement externe pour ce nœud de contexte. L’implémentation par défaut ne fait rien pour é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 stockage et définissez l’option contextSuperClass. @since 4.5.3

altNumber: number

Valeur de propriété

number

childCount

childCount: number

Valeur de propriété

number

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. Ce champ est vide pour l’analyse de l’arborescence constr. 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[]

exception

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

exception?: RecognitionException

Valeur de propriété

RecognitionException

invokingState

invokingState: number

Valeur de propriété

number

isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; ce qui signifie que personne n’a appelé le contexte actuel.

isEmpty: boolean

Valeur de propriété

boolean

parent

parent: ParserRuleContext | undefined

Valeur de propriété

ParserRuleContext | undefined

payload

payload: RuleContext

Valeur de propriété

RuleContext

ruleContext

ruleContext: this

Valeur de propriété

this

ruleIndex

number ruleIndex

Valeur de propriété

number

sourceInterval

sourceInterval: Interval

Valeur de propriété

Interval

start

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

start: Token

Valeur de propriété

Token

stop

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

stop: Token | undefined

Valeur de propriété

Token | undefined

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

Détails de la méthode

accept<Result>(LGFileParserVisitor<Result>)

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

Paramètres

visitor

LGFileParserVisitor<Result>

Retours

Result

COMMENT()

function COMMENT(): TerminalNode

Retours

TerminalNode

enterRule(LGFileParserListener)

function enterRule(listener: LGFileParserListener)

Paramètres

exitRule(LGFileParserListener)

function exitRule(listener: LGFileParserListener)

Paramètres

NEWLINE()

function NEWLINE(): TerminalNode | undefined

Retours

TerminalNode | undefined

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

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

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Paramètres

ruleInvocation

RuleContext

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

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

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

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

copyFrom(ParserRuleContext)

COPY a ctx (je n’utilise pas délibérément le constructeur de copie) pour éviter toute confusion lors de la création d’un nœud avec le parent. Ne copie pas les enfants (sauf les feuilles d’erreur). Cela est utilisé dans le code de l’analyseur généré pour retourner un nœud XContext générique pour la règle X en YContext pour l’étiquette de remplacement Y. En ce sens, il ne s’agit pas vraiment d’une fonction de copie générique.

Si nous effectuons une synchronisation d’erreur() au début d’une règle, nous pouvons ajouter des nœuds d’erreur au XContext générique de sorte que cette fonction doit copier ces nœuds dans le YContext, sinon ils sont perdus!

function copyFrom(ctx: ParserRuleContext)

Paramètres

ctx

ParserRuleContext

depth()

function depth(): number

Retours

number

emptyContext()

static function emptyContext(): ParserRuleContext

Retours

ParserRuleContext

getChild(number)

function getChild(i: number): ParseTree

Paramètres

i

number

Retours

ParseTree

getChild<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T

getChildContext(RuleContext, number)

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

Paramètres

parent

RuleContext

invokingState

number

Retours

RuleContext

getRuleContext<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T

getRuleContexts<T>({ })

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

Paramètres

ctxType

{ }

Retours

T[]

getToken(number, number)

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

Paramètres

ttype

number

i

number

Retours

TerminalNode

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Paramètres

ttype

number

Retours

TerminalNode[]

removeLastChild()

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

function removeLastChild()

setParent(RuleContext)

function setParent(parent: RuleContext)

Paramètres

parent

RuleContext

toInfoString(Parser)

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

function toInfoString(recognizer: Parser): string

Paramètres

recognizer

Parser

Retours

string

toString()

function toString(): string

Retours

string

toString(Recognizer<any, any> | undefined)

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

Paramètres

recog

Recognizer<any, any> | undefined

Retours

string

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

toString(string[] | undefined)

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

Paramètres

ruleNames

string[] | undefined

Retours

string

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

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

Paramètres

ruleNames

string[] | undefined

stop

RuleContext | undefined

Retours

string

toStringTree()

function toStringTree(): string

Retours

string

toStringTree(Parser)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez uniquement 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

toStringTree(string[] | undefined)

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

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

Paramètres

ruleNames

string[] | undefined

Retours

string

tryGetChild<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

tryGetRuleContext<T>(number, { })

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

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

tryGetToken(number, number)

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

Paramètres

ttype

number

i

number

Retours

TerminalNode | undefined