Refactor invalid to valid

This commit is contained in:
Alex Dima 2019-07-03 20:04:18 +02:00
parent 7129a531b7
commit ab430685db

View file

@ -33,12 +33,12 @@ const enum Constants {
class ModelLineTokens { class ModelLineTokens {
_state: IState | null; _state: IState | null;
_lineTokens: ArrayBuffer | null; _lineTokens: ArrayBuffer | null;
_invalid: boolean; _valid: boolean;
constructor(state: IState | null) { constructor(state: IState | null) {
this._state = state; this._state = state;
this._lineTokens = null; this._lineTokens = null;
this._invalid = true; this._valid = false;
} }
public deleteBeginning(toChIndex: number): void { public deleteBeginning(toChIndex: number): void {
@ -175,7 +175,6 @@ export interface ITokensStore {
getTokens(topLevelLanguageId: LanguageId, lineIndex: number, lineText: string): LineTokens; getTokens(topLevelLanguageId: LanguageId, lineIndex: number, lineText: string): LineTokens;
invalidateLine(lineIndex: number): void; invalidateLine(lineIndex: number): void;
isInvalid(lineIndex: number): boolean;
getState(lineIndex: number): IState | null; getState(lineIndex: number): IState | null;
setTokens(topLevelLanguageId: LanguageId, lineIndex: number, lineTextLength: number, tokens: Uint32Array): void; setTokens(topLevelLanguageId: LanguageId, lineIndex: number, lineTextLength: number, tokens: Uint32Array): void;
setGoodTokens(topLevelLanguageId: LanguageId, linesLength: number, lineIndex: number, text: string, r: TokenizationResult2): void; setGoodTokens(topLevelLanguageId: LanguageId, linesLength: number, lineIndex: number, text: string, r: TokenizationResult2): void;
@ -226,24 +225,24 @@ export class TokensStore implements ITokensStore {
} }
public invalidateLine(lineIndex: number): void { public invalidateLine(lineIndex: number): void {
this._setIsInvalid(lineIndex, true); this._setIsValid(lineIndex, false);
if (lineIndex < this._invalidLineStartIndex) { if (lineIndex < this._invalidLineStartIndex) {
this._setIsInvalid(this._invalidLineStartIndex, true); this._setIsValid(this._invalidLineStartIndex, false);
this._invalidLineStartIndex = lineIndex; this._invalidLineStartIndex = lineIndex;
} }
} }
private _setIsInvalid(lineIndex: number, invalid: boolean): void { private _setIsValid(lineIndex: number, valid: boolean): void {
if (lineIndex < this._tokens.length && this._tokens[lineIndex]) { if (lineIndex < this._tokens.length && this._tokens[lineIndex]) {
this._tokens[lineIndex]._invalid = invalid; this._tokens[lineIndex]._valid = valid;
} }
} }
public isInvalid(lineIndex: number): boolean { private _isValid(lineIndex: number): boolean {
if (lineIndex < this._tokens.length && this._tokens[lineIndex]) { if (lineIndex < this._tokens.length && this._tokens[lineIndex]) {
return this._tokens[lineIndex]._invalid; return this._tokens[lineIndex]._valid;
} }
return true; return false;
} }
public getState(lineIndex: number): IState | null { public getState(lineIndex: number): IState | null {
@ -288,7 +287,7 @@ export class TokensStore implements ITokensStore {
public setGoodTokens(topLevelLanguageId: LanguageId, linesLength: number, lineIndex: number, text: string, r: TokenizationResult2): void { public setGoodTokens(topLevelLanguageId: LanguageId, linesLength: number, lineIndex: number, text: string, r: TokenizationResult2): void {
const endStateIndex = lineIndex + 1; const endStateIndex = lineIndex + 1;
this.setTokens(topLevelLanguageId, lineIndex, text.length, r.tokens); this.setTokens(topLevelLanguageId, lineIndex, text.length, r.tokens);
this._setIsInvalid(lineIndex, false); this._setIsValid(lineIndex, true);
if (endStateIndex < linesLength) { if (endStateIndex < linesLength) {
const previousEndState = this.getState(endStateIndex); const previousEndState = this.getState(endStateIndex);
@ -296,7 +295,7 @@ export class TokensStore implements ITokensStore {
// The end state of this line remains the same // The end state of this line remains the same
let nextInvalidLineIndex = lineIndex + 1; let nextInvalidLineIndex = lineIndex + 1;
while (nextInvalidLineIndex < linesLength) { while (nextInvalidLineIndex < linesLength) {
if (this.isInvalid(nextInvalidLineIndex)) { if (!this._isValid(nextInvalidLineIndex)) {
break; break;
} }
if (nextInvalidLineIndex + 1 < linesLength) { if (nextInvalidLineIndex + 1 < linesLength) {
@ -428,7 +427,7 @@ export class TokensStore implements ITokensStore {
_getAllInvalid(linesLength: number): number[] { _getAllInvalid(linesLength: number): number[] {
const r: number[] = []; const r: number[] = [];
for (let i = 0; i < linesLength; i++) { for (let i = 0; i < linesLength; i++) {
if (this.isInvalid(i)) { if (!this._isValid(i)) {
r.push(i); r.push(i);
} }
} }