Skip to content

Commit bacd450

Browse files
committed
Cleanups made while backporting to Java
1 parent 6e5215f commit bacd450

File tree

4 files changed

+86
-66
lines changed

4 files changed

+86
-66
lines changed

src/IncrementalParser.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import { ParseTreeListener } from "./tree/ParseTreeListener";
3131
export abstract class IncrementalParser extends Parser
3232
implements ParseTreeListener {
3333
// Current parser epoch. Incremented every time a new incremental parser is created.
34-
public static _PARSER_EPOCH: number = 0;
34+
private static _PARSER_EPOCH: number = 0;
3535
public static get PARSER_EPOCH() {
3636
return this._PARSER_EPOCH;
3737
}
@@ -61,8 +61,7 @@ export abstract class IncrementalParser extends Parser
6161
// Pop the min max stack the stream is using and return the interval.
6262
private popCurrentMinMax(ctx: IncrementalParserRuleContext) {
6363
let incStream = this.inputStream as IncrementalTokenStream;
64-
let interval = incStream.popMinMax();
65-
return interval;
64+
return incStream.popMinMax();
6665
}
6766

6867
/**
@@ -83,7 +82,7 @@ export abstract class IncrementalParser extends Parser
8382
// See if we have seen this state before at this starting point.
8483
let existingCtx = this.parseData.tryGetContext(
8584
parentCtx ? parentCtx.depth() + 1 : 1,
86-
this.state,
85+
state,
8786
ruleIndex,
8887
this._input.LT(1).tokenIndex,
8988
);

src/IncrementalParserData.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,6 @@ export interface TokenChange {
8989
newToken?: CommonToken;
9090
}
9191

92-
// Unfortunately we have to make this public in order to be able to use it
93-
// from IncrementalParserData properly.
94-
// We do this in a type safe way however.
95-
class SyncableTokenStream extends IncrementalTokenStream {
96-
public sync(i: number): boolean {
97-
return super.sync(i);
98-
}
99-
}
10092
/**
10193
*
10294
* This class computes and stores data needed by the incremental parser.
@@ -270,9 +262,9 @@ export class IncrementalParserData {
270262
depth: number,
271263
state: number,
272264
rule: number,
273-
tokenindex: number,
265+
tokenIndex: number,
274266
) {
275-
return `${depth},${rule},${tokenindex}`;
267+
return `${depth},${rule},${tokenIndex}`;
276268
}
277269
/**
278270
* Index a given parse tree and adjust the min/max ranges
@@ -283,6 +275,7 @@ export class IncrementalParserData {
283275
// could walk the old parse tree as the parse proceeds. This is left as
284276
// a future optimization. We also could just allow passing in
285277
// constructed maps if this turns out to be slow.
278+
this.tokenStream.fill();
286279
let listener = new IncrementalParserData.ParseTreeProcessor(this);
287280
ParseTreeWalker.DEFAULT.walk(listener, tree);
288281
}
@@ -296,12 +289,12 @@ export class IncrementalParserData {
296289
*/
297290
class ParseTreeProcessor implements ParseTreeListener {
298291
private incrementalData: IncrementalParserData;
299-
private tokenStream: SyncableTokenStream;
292+
private tokenStream: IncrementalTokenStream;
300293
private tokenOffsets: TokenOffsetRange[];
301294
private ruleStartMap: Map<string, IncrementalParserRuleContext>;
302295
constructor(incrementalData: IncrementalParserData) {
303296
this.incrementalData = incrementalData;
304-
this.tokenStream = incrementalData.tokenStream as SyncableTokenStream;
297+
this.tokenStream = incrementalData.tokenStream;
305298
this.tokenOffsets = incrementalData.tokenOffsets;
306299
this.ruleStartMap = incrementalData.ruleStartMap;
307300
}
@@ -319,7 +312,7 @@ export class IncrementalParserData {
319312
);
320313
if (newTokenIndex !== undefined) {
321314
let syncableStream = this.tokenStream;
322-
syncableStream.sync(newTokenIndex);
315+
// We filled the stream before the walk
323316
return syncableStream.get(newTokenIndex);
324317
}
325318
return undefined;

0 commit comments

Comments
 (0)