Freigeben über


NormalTemplateBodyContext class

Extends

ParserRuleContext

Konstruktoren

NormalTemplateBodyContext(ParserRuleContext | undefined, number)

Eigenschaften

ruleIndex

Geerbte Eigenschaften

altNumber

Legen Sie die äußere alternative Nummer für diesen Kontextknoten fest. Die Standardimplementierung vermeidet nicht den Feldaufwand für Strukturen, die sie nicht benötigen. Erstellen Sie eine Unterklasse von ParserRuleContext mit dem Hintergrundfeld, und legen Sie option contextSuperClass fest. @since 4.5.3

childCount
children

Wenn wir eine Analysestruktur für einen Besucher debuggen oder erstellen, müssen wir alle Token und Regelaufrufe nachverfolgen, die dem Kontext dieser Regel zugeordnet sind. Dies ist leer für die Analyse ohne Strukturkonstr. - Vorgang, da wir die Details zur Analyse dieser Regel nicht nachverfolgen müssen.

exception

Die Ausnahme, die die Rückgabe dieser Regel erzwungen hat. Wenn die Regel erfolgreich abgeschlossen wurde, ist undefineddies .

invokingState
isEmpty

Ein Kontext ist leer, wenn kein Aufrufzustand vorhanden ist. d. h. niemand hat den aktuellen Kontext genannt.

parent
payload
ruleContext
sourceInterval
start

Rufen Sie das anfängliche Token in diesem Kontext ab. Beachten Sie, dass der Bereich von Start bis Stop inklusive ist, sodass für Regeln, die nichts nutzen (z. B. Länge null oder Fehlerproduktionen), dieses Token den Stop überschreiten kann.

stop

Rufen Sie in diesem Kontext das endgültige Token ab. Beachten Sie, dass der Bereich vom Anfang bis zum Beenden inklusive ist, sodass für Regeln, die nichts nutzen (z. B. Länge null oder Fehlerproduktionen), dieses Token vor dem Start stehen kann.

text

Gibt den kombinierten Text aller untergeordneten Knoten zurück. Diese Methode berücksichtigt nur Token, die der Analysestruktur hinzugefügt wurden. Da Token in ausgeblendeten Kanälen (z. B. Leerzeichen oder Kommentare) den Analysestrukturen nicht hinzugefügt werden, werden sie nicht in der Ausgabe dieser Methode angezeigt.

Methoden

accept<Result>(LGTemplateParserVisitor<Result>)
enterRule(LGTemplateParserListener)
exitRule(LGTemplateParserListener)
templateString()
templateString(number)

Geerbte Methoden

addAnyChild<T>(T)

Fügen Sie diesem als untergeordnetes Element einen Analysestrukturknoten hinzu. Funktioniert für interne knoten und blattknoten. Legt keine übergeordnete Verknüpfung fest; Andere Add-Methoden müssen dies tun. Andere addChild-Methoden rufen dies auf. Wir können den übergeordneten Zeiger des eingehenden Knotens nicht festlegen, da die vorhandenen Schnittstellen keine setParent()-Methode haben und ich die Abwärtskompatibilität dafür nicht unterbrechen möchte.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Fügen Sie einen untergeordneten Tokenblattknoten hinzu, und erzwingen Sie, dass sein übergeordneter Knoten dieser Knoten ist.

addChild(Token)

Fügen Sie diesem Knoten basierend auf matchedToken ein untergeordnetes Element hinzu. Es erstellt ein TerminalNodeImpl anstelle von [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Ich belassen dies aus Kompatibilitätsgründen, aber der Parser verwendet dies nicht mehr.

addErrorNode(ErrorNode)

Fügen Sie einen untergeordneten Fehlerknoten hinzu, und erzwingen Sie, dass sein übergeordneter Knoten dieser Knoten ist.

addErrorNode(Token)

Fügen Sie diesem Knoten basierend auf badToken ein untergeordnetes Element hinzu. Es erstellt einen ErrorNode anstelle von [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Ich belassen dies aus Gründen der Kompatibilität, aber der Parser verwendet dies nicht mehr.

copyFrom(ParserRuleContext)

COPY a ctx (Ich verwende bewusst keinen Kopierkonstruktor), um Verwirrung beim Erstellen eines Knotens mit übergeordnetem Element zu vermeiden. Kopiert keine untergeordneten Elemente (mit Ausnahme von Fehlervorgängen). Dies wird im generierten Parsercode verwendet, um einen generischen XContext-Knoten für Regel X in einen YContext für die Alt-Bezeichnung Y umzudrehen. In diesem Sinne handelt es sich nicht wirklich um eine generische Kopierfunktion.

Wenn wir zu Beginn einer Regel eine Fehlersynchronisierung() durchführen, fügen wir dem generischen XContext möglicherweise Fehlerknoten hinzu, sodass diese Funktion diese Knoten auch in den YContext kopieren muss, andernfalls gehen sie verloren!

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

Wird von enterOuterAlt verwendet, um einen RuleContext herauszusischen, der zuvor beim Eingeben einer Regel hinzugefügt wurde. Wenn wir die #-Bezeichnung haben, müssen wir das generische ruleContext-Objekt entfernen.

setParent(RuleContext)
toInfoString(Parser)

Wird zum Debuggen von Regelkontextinformationen während der Analysezeit verwendet, weniger für ATN-Debugging

toString()
toString(Recognizer<any, any> | undefined)
toString(Recognizer<any, any> | undefined, RuleContext | undefined)
toString(string[] | undefined)
toString(string[] | undefined, RuleContext | undefined)
toStringTree()
toStringTree(Parser)

Drucken Sie eine ganze Struktur aus, nicht nur einen Knoten, im LISP-Format (root child1 .. childN). Drucken Sie nur einen Knoten, wenn es sich um ein Blatt handelt. Wir müssen die Erkennung kennen, damit wir Regelnamen erhalten können.

toStringTree(string[] | undefined)

Drucken Sie eine ganze Struktur aus, nicht nur einen Knoten, im LISP-Format (root child1 .. childN). Drucken Sie nur einen Knoten, wenn es sich um ein Blatt handelt.

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

Details zum Konstruktor

NormalTemplateBodyContext(ParserRuleContext | undefined, number)

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

Parameter

parent

ParserRuleContext | undefined

invokingState

number

Details zur Eigenschaft

ruleIndex

number ruleIndex

Eigenschaftswert

number

Geerbte Eigenschaftsdetails

altNumber

Legen Sie die äußere alternative Nummer für diesen Kontextknoten fest. Die Standardimplementierung vermeidet nicht den Feldaufwand für Strukturen, die sie nicht benötigen. Erstellen Sie eine Unterklasse von ParserRuleContext mit dem Hintergrundfeld, und legen Sie option contextSuperClass fest. @since 4.5.3

altNumber: number

Eigenschaftswert

number

Geerbt von RuleContext.altNumber

childCount

childCount: number

Eigenschaftswert

number

Geerbt von ParserRuleContext.childCount

children

Wenn wir eine Analysestruktur für einen Besucher debuggen oder erstellen, müssen wir alle Token und Regelaufrufe nachverfolgen, die dem Kontext dieser Regel zugeordnet sind. Dies ist leer für die Analyse ohne Strukturkonstr. - Vorgang, da wir die Details zur Analyse dieser Regel nicht nachverfolgen müssen.

children?: ParseTree[]

Eigenschaftswert

ParseTree[]

Geerbt von ParserRuleContext.children

exception

Die Ausnahme, die die Rückgabe dieser Regel erzwungen hat. Wenn die Regel erfolgreich abgeschlossen wurde, ist undefineddies .

exception?: RecognitionException

Eigenschaftswert

RecognitionException

Geerbt von ParserRuleContext.exception

invokingState

invokingState: number

Eigenschaftswert

number

Geerbt von RuleContext.invokingState

isEmpty

Ein Kontext ist leer, wenn kein Aufrufzustand vorhanden ist. d. h. niemand hat den aktuellen Kontext genannt.

isEmpty: boolean

Eigenschaftswert

boolean

Geerbt von RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Eigenschaftswert

ParserRuleContext | undefined

Geerbt von ParserRuleContext.parent

payload

payload: RuleContext

Eigenschaftswert

RuleContext

Geerbt von RuleContext.payload

ruleContext

ruleContext: this

Eigenschaftswert

this

Geerbt von ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Eigenschaftswert

Interval

Geerbt von ParserRuleContext.sourceInterval

start

Rufen Sie das anfängliche Token in diesem Kontext ab. Beachten Sie, dass der Bereich von Start bis Stop inklusive ist, sodass für Regeln, die nichts nutzen (z. B. Länge null oder Fehlerproduktionen), dieses Token den Stop überschreiten kann.

start: Token

Eigenschaftswert

Token

Geerbt von ParserRuleContext.start

stop

Rufen Sie in diesem Kontext das endgültige Token ab. Beachten Sie, dass der Bereich vom Anfang bis zum Beenden inklusive ist, sodass für Regeln, die nichts nutzen (z. B. Länge null oder Fehlerproduktionen), dieses Token vor dem Start stehen kann.

stop: Token | undefined

Eigenschaftswert

Token | undefined

Geerbt von ParserRuleContext.stop

text

Gibt den kombinierten Text aller untergeordneten Knoten zurück. Diese Methode berücksichtigt nur Token, die der Analysestruktur hinzugefügt wurden. Da Token in ausgeblendeten Kanälen (z. B. Leerzeichen oder Kommentare) den Analysestrukturen nicht hinzugefügt werden, werden sie nicht in der Ausgabe dieser Methode angezeigt.

text: string

Eigenschaftswert

string

Geerbt von RuleContext.text

Details zur Methode

accept<Result>(LGTemplateParserVisitor<Result>)

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

Parameter

visitor

LGTemplateParserVisitor<Result>

Gibt zurück

Result

enterRule(LGTemplateParserListener)

function enterRule(listener: LGTemplateParserListener)

Parameter

exitRule(LGTemplateParserListener)

function exitRule(listener: LGTemplateParserListener)

Parameter

templateString()

function templateString(): TemplateStringContext[]

Gibt zurück

templateString(number)

function templateString(i: number): TemplateStringContext

Parameter

i

number

Gibt zurück

Details zur geerbten Methode

addAnyChild<T>(T)

Fügen Sie diesem als untergeordnetes Element einen Analysestrukturknoten hinzu. Funktioniert für interne knoten und blattknoten. Legt keine übergeordnete Verknüpfung fest; Andere Add-Methoden müssen dies tun. Andere addChild-Methoden rufen dies auf. Wir können den übergeordneten Zeiger des eingehenden Knotens nicht festlegen, da die vorhandenen Schnittstellen keine setParent()-Methode haben und ich die Abwärtskompatibilität dafür nicht unterbrechen möchte.

@since 4.7

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

Parameter

t

T

Gibt zurück

T

Geerbt von ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Parameter

ruleInvocation

RuleContext

Geerbt von ParserRuleContext.addChild

addChild(TerminalNode)

Fügen Sie einen untergeordneten Tokenblattknoten hinzu, und erzwingen Sie, dass sein übergeordneter Knoten dieser Knoten ist.

function addChild(t: TerminalNode)

Parameter

t

TerminalNode

Geerbt von ParserRuleContext.addChild

addChild(Token)

Warnung

Diese API ist nun veraltet.

Use another overload instead.

Fügen Sie diesem Knoten basierend auf matchedToken ein untergeordnetes Element hinzu. Es erstellt ein TerminalNodeImpl anstelle von [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Ich belassen dies aus Kompatibilitätsgründen, aber der Parser verwendet dies nicht mehr.

function addChild(matchedToken: Token): TerminalNode

Parameter

matchedToken

Token

Gibt zurück

TerminalNode

Geerbt von ParserRuleContext.addChild

addErrorNode(ErrorNode)

Fügen Sie einen untergeordneten Fehlerknoten hinzu, und erzwingen Sie, dass sein übergeordneter Knoten dieser Knoten ist.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Parameter

errorNode

ErrorNode

Gibt zurück

ErrorNode

Geerbt von ParserRuleContext.addErrorNode

addErrorNode(Token)

Warnung

Diese API ist nun veraltet.

Use another overload instead.

Fügen Sie diesem Knoten basierend auf badToken ein untergeordnetes Element hinzu. Es erstellt einen ErrorNode anstelle von [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Ich belassen dies aus Gründen der Kompatibilität, aber der Parser verwendet dies nicht mehr.

function addErrorNode(badToken: Token): ErrorNode

Parameter

badToken

Token

Gibt zurück

ErrorNode

Geerbt von ParserRuleContext.addErrorNode

copyFrom(ParserRuleContext)

COPY a ctx (Ich verwende bewusst keinen Kopierkonstruktor), um Verwirrung beim Erstellen eines Knotens mit übergeordnetem Element zu vermeiden. Kopiert keine untergeordneten Elemente (mit Ausnahme von Fehlervorgängen). Dies wird im generierten Parsercode verwendet, um einen generischen XContext-Knoten für Regel X in einen YContext für die Alt-Bezeichnung Y umzudrehen. In diesem Sinne handelt es sich nicht wirklich um eine generische Kopierfunktion.

Wenn wir zu Beginn einer Regel eine Fehlersynchronisierung() durchführen, fügen wir dem generischen XContext möglicherweise Fehlerknoten hinzu, sodass diese Funktion diese Knoten auch in den YContext kopieren muss, andernfalls gehen sie verloren!

function copyFrom(ctx: ParserRuleContext)

Parameter

ctx

ParserRuleContext

Geerbt von ParserRuleContext.copyFrom

depth()

function depth(): number

Gibt zurück

number

Geerbt von RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Gibt zurück

ParserRuleContext

Geerbt von ParserRuleContext.emptyContext

getChild(number)

function getChild(i: number): ParseTree

Parameter

i

number

Gibt zurück

ParseTree

Geerbt von ParserRuleContext.getChild

getChild<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T

Geerbt von ParserRuleContext.getChild

getChildContext(RuleContext, number)

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

Parameter

parent

RuleContext

invokingState

number

Gibt zurück

RuleContext

Geerbt von RuleContext.getChildContext

getRuleContext<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T

Geerbt von ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

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

Parameter

ctxType

{ }

Gibt zurück

T[]

Geerbt von ParserRuleContext.getRuleContexts

getToken(number, number)

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

Parameter

ttype

number

i

number

Gibt zurück

TerminalNode

Geerbt von ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Parameter

ttype

number

Gibt zurück

TerminalNode[]

Geerbt von ParserRuleContext.getTokens

removeLastChild()

Wird von enterOuterAlt verwendet, um einen RuleContext herauszusischen, der zuvor beim Eingeben einer Regel hinzugefügt wurde. Wenn wir die #-Bezeichnung haben, müssen wir das generische ruleContext-Objekt entfernen.

function removeLastChild()

Geerbt von ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Parameter

parent

RuleContext

Geerbt von RuleContext.setParent

toInfoString(Parser)

Wird zum Debuggen von Regelkontextinformationen während der Analysezeit verwendet, weniger für ATN-Debugging

function toInfoString(recognizer: Parser): string

Parameter

recognizer

Parser

Gibt zurück

string

Geerbt von ParserRuleContext.toInfoString

toString()

function toString(): string

Gibt zurück

string

Geerbt von RuleContext.toString

toString(Recognizer<any, any> | undefined)

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

Parameter

recog

Recognizer<any, any> | undefined

Gibt zurück

string

Geerbt von RuleContext.toString

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

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

Parameter

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Gibt zurück

string

Geerbt von RuleContext.toString

toString(string[] | undefined)

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

Parameter

ruleNames

string[] | undefined

Gibt zurück

string

Geerbt von RuleContext.toString

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

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

Parameter

ruleNames

string[] | undefined

stop

RuleContext | undefined

Gibt zurück

string

Geerbt von RuleContext.toString

toStringTree()

function toStringTree(): string

Gibt zurück

string

Geerbt von RuleContext.toStringTree

toStringTree(Parser)

Drucken Sie eine ganze Struktur aus, nicht nur einen Knoten, im LISP-Format (root child1 .. childN). Drucken Sie nur einen Knoten, wenn es sich um ein Blatt handelt. Wir müssen die Erkennung kennen, damit wir Regelnamen erhalten können.

function toStringTree(recog: Parser): string

Parameter

recog

Parser

Gibt zurück

string

Geerbt von RuleContext.toStringTree

toStringTree(string[] | undefined)

Drucken Sie eine ganze Struktur aus, nicht nur einen Knoten, im LISP-Format (root child1 .. childN). Drucken Sie nur einen Knoten, wenn es sich um ein Blatt handelt.

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

Parameter

ruleNames

string[] | undefined

Gibt zurück

string

Geerbt von RuleContext.toStringTree

tryGetChild<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T | undefined

Geerbt von ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T | undefined

Geerbt von ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

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

Parameter

ttype

number

i

number

Gibt zurück

TerminalNode | undefined

Geerbt von ParserRuleContext.tryGetToken