Skip to content

Commit

Permalink
Add parse listener methods to Parser typescript
Browse files Browse the repository at this point in the history
This PR adds the four parse listener methods. The `_parseListeners` field
could also be set to `ParseTreeListener[]`, but it would _technically_ be
a breaking change.

I chose to use `ParseTreeListener` instead of `any` in these methods because
parse listeners cannot actually be `any`; their functions are called without
checking if they're defined. The current ParseTreeListener interface is the
minimum requirement to avoid exceptions.

Signed-off-by: Phlosioneer <mattmdrr2@gmail.com>
  • Loading branch information
Phlosioneer authored and ericvergnaud committed Mar 18, 2024
1 parent 69cfd8e commit b4c12ec
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions runtime/JavaScript/src/antlr4/Parser.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {ParserATNSimulator} from "./atn";
import {Token} from "./Token";
import {ParserRuleContext} from "./context";
import {Printer} from "./utils";
import {ParseTreeListener} from "./tree";

export declare class Parser extends Recognizer<Token> {

Expand All @@ -24,6 +25,10 @@ export declare class Parser extends Recognizer<Token> {
constructor(input: TokenStream);
match(ttype: number): Token;
matchWildcard(): Token;
getParseListeners(): ParseTreeListener[];
addParseListener(listener: ParseTreeListener): void;
removeParseListener(listener: ParseTreeListener): void;
removeParseListeners(): void;
consume(): Token;
enterRule(localctx: ParserRuleContext, state: number, ruleIndex: number): void;
exitRule() : void;
Expand Down

0 comments on commit b4c12ec

Please sign in to comment.