Freigeben über


StructuredTemplateBodyContext class

Extends

ParserRuleContext

Konstruktoren

StructuredTemplateBodyContext(ParserRuleContext | undefined, number)

Eigenschaften

ruleIndex

Geerbte Eigenschaften

altNumber

Legen Sie die äußere alternative Nummer für diesen Kontextknoten fest. Die Standardimplementierung verhindert nicht den Mehraufwand für Sicherungsfelder für Strukturen, die ihn nicht benötigen. Erstellen Sie eine Unterklasse von ParserRuleContext mit Einem Sicherungsfeld, und legen Sie die Option contextSuperClass fest. @since 4.5.3

childCount
children

Wenn wir debuggen oder eine Analysestruktur für einen Besucher erstellen, müssen wir alle Token und Regelaufrufe nachverfolgen, die dem Kontext dieser Regel zugeordnet sind. Dies ist 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 dies undefined.

invokingState
isEmpty

Ein Kontext ist leer, wenn kein Aufrufzustand vorhanden ist. Das bedeutet, dass niemand den aktuellen Kontext aufgerufen hat.

parent
payload
ruleContext
sourceInterval
start

Rufen Sie das anfängliche Token in diesem Kontext ab. Beachten Sie, dass der Bereich von start bis stop inklusiv 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 von start bis stop inklusiv 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. Bei dieser Methode werden nur Token berücksichtigt, 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)
errorStructureLine()
errorStructureLine(number)
exitRule(LGTemplateParserListener)
structuredBodyContentLine()
structuredBodyContentLine(number)
structuredBodyEndLine()
structuredBodyNameLine()
STRUCTURED_NEWLINE()
STRUCTURED_NEWLINE(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. Er erstellt einen ErrorNode anstelle von [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Ich belassen dies aus Kompatibilitätsgründen, aber der Parser verwendet dies nicht mehr.

copyFrom(ParserRuleContext)

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

Wenn wir am Anfang einer Regel einen Fehler sync() ausführen, fügen wir dem generischen XContext möglicherweise Fehlerknoten hinzu, sodass diese Funktion diese Knoten auch in den YContext kopieren muss, da sie sonst verloren gehen!

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 auszugeben, der zuvor bei der Eingabe einer Regel hinzugefügt wurde. Wenn #label vorhanden ist, müssen wir das generische ruleContext-Objekt entfernen.

setParent(RuleContext)
toInfoString(Parser)

Wird zum Debuggen von Regelkontextinformationen während der Analysezeit verwendet, nicht so sehr zum ATN-Debuggen.

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, 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 abrufen können.

toStringTree(string[] | undefined)

Drucken Sie eine ganze Struktur, 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

StructuredTemplateBodyContext(ParserRuleContext | undefined, number)

new StructuredTemplateBodyContext(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 verhindert nicht den Mehraufwand für Sicherungsfelder für Strukturen, die ihn nicht benötigen. Erstellen Sie eine Unterklasse von ParserRuleContext mit Einem Sicherungsfeld, und legen Sie die 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 debuggen oder eine Analysestruktur für einen Besucher erstellen, müssen wir alle Token und Regelaufrufe nachverfolgen, die dem Kontext dieser Regel zugeordnet sind. Dies ist 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 dies undefined.

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. Das bedeutet, dass niemand den aktuellen Kontext aufgerufen hat.

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 inklusiv 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 von start bis stop inklusiv 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. Bei dieser Methode werden nur Token berücksichtigt, 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

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext[]

Gibt zurück

errorStructureLine(number)

function errorStructureLine(i: number): ErrorStructureLineContext

Parameter

i

number

Gibt zurück

exitRule(LGTemplateParserListener)

function exitRule(listener: LGTemplateParserListener)

Parameter

structuredBodyContentLine()

function structuredBodyContentLine(): StructuredBodyContentLineContext[]

Gibt zurück

structuredBodyContentLine(number)

function structuredBodyContentLine(i: number): StructuredBodyContentLineContext

Parameter

i

number

Gibt zurück

structuredBodyEndLine()

function structuredBodyEndLine(): StructuredBodyEndLineContext | undefined

Gibt zurück

structuredBodyNameLine()

function structuredBodyNameLine(): StructuredBodyNameLineContext

Gibt zurück

STRUCTURED_NEWLINE()

function STRUCTURED_NEWLINE(): TerminalNode[]

Gibt zurück

TerminalNode[]

STRUCTURED_NEWLINE(number)

function STRUCTURED_NEWLINE(i: number): TerminalNode

Parameter

i

number

Gibt zurück

TerminalNode

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. Er erstellt einen ErrorNode anstelle von [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Ich belassen dies aus Kompatibilitätsgründen, 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 absichtlich keinen Kopierkonstruktor), um Verwechslungen beim Erstellen eines Knotens mit übergeordnetem Element zu vermeiden. Kopiert keine untergeordneten Elemente (mit Ausnahme von Fehlerblättern). Dies wird im generierten Parsercode verwendet, um einen generischen XContext-Knoten für Regel X in einen YContext für die Alt-Bezeichnung Y umzuklappen. In diesem Sinne handelt es sich nicht wirklich um eine generische Kopierfunktion.

Wenn wir am Anfang einer Regel einen Fehler sync() ausführen, fügen wir dem generischen XContext möglicherweise Fehlerknoten hinzu, sodass diese Funktion diese Knoten auch in den YContext kopieren muss, da sie sonst verloren gehen!

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 auszugeben, der zuvor bei der Eingabe einer Regel hinzugefügt wurde. Wenn #label vorhanden ist, 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, nicht so sehr zum ATN-Debuggen.

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, 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 abrufen 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, 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