Freigeben über


TextContentContext class

Extends

ParserRuleContext

Konstruktoren

TextContentContext(ParserRuleContext | undefined, number)

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
ruleIndex
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>(ExpressionAntlrParserVisitor<Result>)
enterRule(ExpressionAntlrParserListener)
exitRule(ExpressionAntlrParserListener)
TEXT_CONTENT()
TEXT_CONTENT(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 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

TextContentContext(ParserRuleContext | undefined, number)

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

Parameter

parent

ParserRuleContext | undefined

invokingState

number

Details zur Eigenschaft

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

childCount

childCount: number

Eigenschaftswert

number

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[]

exception

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

exception?: RecognitionException

Eigenschaftswert

RecognitionException

invokingState

invokingState: number

Eigenschaftswert

number

isEmpty

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

isEmpty: boolean

Eigenschaftswert

boolean

parent

parent: ParserRuleContext | undefined

Eigenschaftswert

ParserRuleContext | undefined

payload

payload: RuleContext

Eigenschaftswert

RuleContext

ruleContext

ruleContext: this

Eigenschaftswert

this

ruleIndex

number ruleIndex

Eigenschaftswert

number

sourceInterval

sourceInterval: Interval

Eigenschaftswert

Interval

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

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

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

Details zur Methode

accept<Result>(ExpressionAntlrParserVisitor<Result>)

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

Parameter

Gibt zurück

Result

enterRule(ExpressionAntlrParserListener)

function enterRule(listener: ExpressionAntlrParserListener)

Parameter

exitRule(ExpressionAntlrParserListener)

function exitRule(listener: ExpressionAntlrParserListener)

Parameter

TEXT_CONTENT()

function TEXT_CONTENT(): TerminalNode[]

Gibt zurück

TerminalNode[]

TEXT_CONTENT(number)

function TEXT_CONTENT(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

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Parameter

ruleInvocation

RuleContext

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

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

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

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

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

depth()

function depth(): number

Gibt zurück

number

emptyContext()

static function emptyContext(): ParserRuleContext

Gibt zurück

ParserRuleContext

getChild(number)

function getChild(i: number): ParseTree

Parameter

i

number

Gibt zurück

ParseTree

getChild<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T

getChildContext(RuleContext, number)

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

Parameter

parent

RuleContext

invokingState

number

Gibt zurück

RuleContext

getRuleContext<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T

getRuleContexts<T>({ })

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

Parameter

ctxType

{ }

Gibt zurück

T[]

getToken(number, number)

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

Parameter

ttype

number

i

number

Gibt zurück

TerminalNode

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Parameter

ttype

number

Gibt zurück

TerminalNode[]

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()

setParent(RuleContext)

function setParent(parent: RuleContext)

Parameter

parent

RuleContext

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

toString()

function toString(): string

Gibt zurück

string

toString(Recognizer<any, any> | undefined)

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

Parameter

recog

Recognizer<any, any> | undefined

Gibt zurück

string

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

toString(string[] | undefined)

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

Parameter

ruleNames

string[] | undefined

Gibt zurück

string

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

toStringTree()

function toStringTree(): string

Gibt zurück

string

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

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

tryGetChild<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T | undefined

tryGetRuleContext<T>(number, { })

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

Parameter

i

number

ctxType

{ }

Gibt zurück

T | undefined

tryGetToken(number, number)

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

Parameter

ttype

number

i

number

Gibt zurück

TerminalNode | undefined